📜  Python|使用 OpenCV 播放视频(1)

📅  最后修改于: 2023-12-03 15:19:17.952000             🧑  作者: Mango

Python 使用 OpenCV 播放视频

OpenCV 是一个强大的计算机视觉库,其中包含了很多图像和视频处理的函数。在本文中,将介绍如何使用 OpenCV 在 Python 中播放视频。

安装 OpenCV

首先,需要安装 OpenCV。在命令行中使用以下命令进行安装:

pip install opencv-python-headless
播放本地视频

假设想要播放名为 video.mp4 的本地视频文件。可以使用以下代码加载并播放该视频:

import cv2

cap = cv2.VideoCapture('video.mp4')

while cap.isOpened():
    ret, frame = cap.read()
    
    if not ret:
        break
    
    cv2.imshow('video', frame)
    
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()
  • cap = cv2.VideoCapture('video.mp4'):首先需要通过创建 VideoCapture 对象来加载视频文件。这个类有一个参数,即视频文件的名称或路径。
  • while cap.isOpened():当视频文件被成功打开时,isOpened() 方法将返回 True。我们可以使用 while 循环不断读取视频帧并播放它们。
  • ret, frame = cap.read():使用 read() 方法读取每一帧。ret 是一个布尔值,用于判断是否读取到了一帧。frame 是该帧的图像对象。
  • cv2.imshow('video', frame):使用 imshow() 方法显示每一帧图像。
  • if cv2.waitKey(25) & 0xFF == ord('q')::使用 waitKey() 方法等待一段时间,然后检测是否按下了 q 键。如果是,则退出循环。
  • cap.release()cv2.destroyAllWindows():在完成视频播放后,一定要释放资源和销毁所有窗口。
播放网络视频

如果要播放网络视频,可以使用网络地址作为 VideoCapture 构造函数的参数。例如,可以使用以下代码来播放 YouTube 上的视频:

import cv2

url = 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
cap = cv2.VideoCapture(url)

while cap.isOpened():
    ret, frame = cap.read()
    
    if not ret:
        break
    
    cv2.imshow('video', frame)
    
    if cv2.waitKey(25) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

在此代码片段中,只需要将视频文件名更改为 URL,就可以播放网络视频。同时也需要注意,在播放网络视频时,视频加载速度可能会受到网络环境和视频服务器的限制,因此可能会有卡顿或延迟。

结论

本文介绍了如何在 Python 中使用 OpenCV 播放视频。读者应该熟悉如何加载和显示视频文件、如何播放本地和网络视频以及如何优雅地关闭窗口和释放资源。