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()
廣告
© . All rights reserved.