【发布时间】:2017-11-29 06:36:24
【问题描述】:
我最近按照教程在我的 Mac 上安装了 OpenCV for PYTHON: http://www.pyimagesearch.com/2016/12/19/install-opencv-3-on-macos-with-homebrew-the-easy-way/
我写了一个代码来读取一个视频文件,它能够检索 fps、timestamp、total no。帧数,在读取的每一帧:
cap = cv2.VideoCapture(particle_name + video_file_type)
while True:
time = cap.get(cv2.CAP_PROP_POS_MSEC)
fps = cap.get(cv2.CAP_PROP_FPS)
total_frames = cap.get(cv2.CAP_PROP_FRAME_COUNT)
print(time, fps, total_frames)
ret, frame = cap.read()
cv2.imshow('frame', frame)
cap.release()
cv2.destroyAllWindows()
我在 Video A、.mov 格式、Motion JPEG Video (dmb1) 编解码器上试用了此代码。 和 Video B,.avi 格式,Motion JPEG Video (MJPG) 编解码器。
对于视频 A 和视频 B,输出的 fps 和 total_frames 都是常数。然而,对于视频 A,时间逐渐增加(应该如此),但对于视频 B,时间保持不变,为 0。
我认为这可能是导致这种差异的视频格式,因此我将视频 B 的格式更改为 .mov,同时保留相同的编解码器,但问题仍然存在。
我可以知道如何从视频 B 中检索准确的时间戳吗?
【问题讨论】: