Python和OpenCV - 在某些点获取视频的持续时间

时间:2016-06-08 07:00:55

标签: python opencv video

假设我制作了一个程序来检测视频中的绿球。每当检测到绿球时,我想在检测到绿球时打印出视频的持续时间。有可能吗?

2 个答案:

答案 0 :(得分:4)

this answer中,您将找到确定每秒帧数的解决方案。

所以你想要使用:

fps = cap.get(cv2.cv.CV_CAP_PROP_FPS)

并计算您所在的帧数。然后,您可以使用

计算视频时间
videotime = current_frame_number / fps.

编辑:

@Miki建议使用CAP_PROP_POS_MSEC,这应该导致同一时间([ms]中)

根据@ Swiper-CCCVI

的指示更正了我的拼写错误

答案 1 :(得分:0)

您可以使用

以毫秒为单位简单地测量视频中的某个位置

time_milli = cap.get(cv2.CAP_PROP_POS_MSEC)

然后将 time_milli 除以 1000 以获得以秒为单位的时间。