我正在尝试计算我的视频文件('foo.h264')中的总帧数。
>>> import numpy as nm
>>> import cv2
>>> cap = cv2.VideoCapture('foo.h264')
>>> cap.get(CV_CAP_PROP_FRAME_COUNT)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'CV_CAP_PROP_FRAME_COUNT' is not defined
>>> cap.get(5)
25.0
>>> cap.get(7)
-192153584101141.0
因此,我认为get(5)
提供的是帧率,而get(7)
提供的是总帧数。显然,在上述情况下,get(7)
是不正确的。因此,我尝试在一个.avi
文件中查找这些值以进行验证。
>>> cap = cv2.VideoCapture('foo.avi')
>>> cap.get(5)
29.97002997002997
>>> cap.get(7)
256379.0
我可以通过将视频的持续时间乘以
FPS
来计算总帧数,但我不确定给定的.h264
的FPS是否正确。为什么会出现负数的总帧数?这是一个错误吗?
附注:我使用树莓派摄像头录制了此视频文件(
.h264
)。