为什么cap.read()对于.mp4文件的某些帧失败?

时间:2018-06-21 17:49:41

标签: python opencv

我正在尝试使用python 3.6中的opencv逐帧处理视频。我有一个.mp4视频,它以30 fps的速度播放11分钟,17秒,总共20310帧。对于cap.read()失败,返回(False, NONE)的帧,存在一定范围的帧(第23帧至第123帧),但是,这些帧显然存在于原始视频中,并且可以在像VLC这样的视频播放器中观看。例如,此代码导致ret = False

frame_no = 75
cap.set(1, frame_no)

ret, image = cap.read()

为什么cap.read()有时但并非总是失败?这是我可以解决的问题吗?有什么办法可以迫使opencv读取显然缺少的帧?缺少有关此行为的文档。

0 个答案:

没有答案