OpenCV Python - 从文件播放视频
VideoCapture() 函数还可以从视频文件而不是相机中检索帧。 因此,我们只用要在 OpenCV 窗口中播放的视频文件名替换了相机索引。
video=cv2.VideoCapture(file)
虽然这应该足以开始渲染视频文件,但前提是它伴有声音。 声音不会一起播放。 为此,您需要安装 ffpyplayer 模块。
FFPyPlayer
FFPyPlayer 是 FFmpeg 库的 python 绑定,用于播放和写入媒体文件。 要安装,请使用以下命令使用 pip 安装程序实用程序。
pip3 install ffpyplayer
此模块中 MediaPlayer 对象的 get_frame() 方法返回音频帧,该音频帧将与从视频文件中读取的每个帧一起播放。
以下是播放视频文件及其音频的完整代码 −
import cv2 from ffpyplayer.player import MediaPlayer file="video.mp4" video=cv2.VideoCapture(file) player = MediaPlayer(file) while True: ret, frame=video.read() audio_frame, val = player.get_frame() if not ret: print("End of video") break if cv2.waitKey(1) == ord("q"): break cv2.imshow("Video", frame) if val != 'eof' and audio_frame is not None: #audio img, t = audio_frame video.release() cv2.destroyAllWindows()