无法使用cv2.VideoCapture(video_path).set(cv2.CAP_PROP_FPS,new_frame_rate)

时间:2019-02-04 15:18:23

标签: python opencv python-3.6 frame-rate opencv-python

我正在使用opencv-python(3.4.3.18)和python(3.6.6)阅读.mp4视频文件

vid = cv2.VideoCapture(video_path)

原始视频的速度约为59 FPS,我想将其降低至10 FPS。因此,我使用以下命令设置了cv2.CAP_PROP_FPS属性,

flag = vid.set(cv2.CAP_PROP_FPS, 10)

(参考:https://docs.opencv.org/3.4.3/d8/dfe/classcv_1_1VideoCapture.html#a8c6d8c2d37505b5ca61ffd4bb54e9a7c

但是,当我打印flag值时,它将得到False。这意味着VideoCapture实例使用的后端不支持该属性。因此,当我使用阅读框架时,

return_value, frame = vid.read()

它返回所有59帧,从而使后处理步骤更加耗时。如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您是否曾经尝试过更改 cv2.waitKey()

例如:如果您有60fps的视频,请尝试使用 cv2.waitKey(6000)