打开 CV 捕获 read() 不读取特定的视频帧 fps 59.9



我有从文件中读取视频帧的代码:

video_capture = cv2.VideoCapture(file_path)
fps = int(video_capture.get(cv2.CAP_PROP_FPS))
frame_count = int(starting_time * fps)
video_capture.set(cv2.CAP_PROP_POS_FRAMES, frame_count)
while video_capture.isOpened():
success, np_image = video_capture.read()
if success is False:
break
else ......

文件是MP4,FPS是59.9。

但是,它无法成功读取某些帧 - 从 53-59。也就是说video_capture.read((返回False。

将其转换为 AVI 格式可以解决此问题。但是,我正在尝试找出是否有办法返回为什么它无法读取帧并返回 False。

任何帮助不胜感激!

这在高度压缩的视频(启用p,b帧(中一直是一个问题。此问题似乎已在此处解决。因此,更新您的OpenCV版本可能会有所帮助。此问题不会出现在像 avi 这样的最不可压缩的视频(I 帧(中。

最新更新