如何使用cv2获取视频的时长

如何使用cv2获取视频的时长,第1张

如何使用cv2获取视频的时长

cv2
并非旨在探索视频元数据,因此
VideoCapture
没有API可以直接检索它。

您可以改为“测量”流的长度:搜索到最后,然后获取时间戳:

>>> v=cv2.VideoCapture('sample.avi')>>> v.set(cv2.CAP_PROP_POS_AVI_RATIO,1)True>>> v.get(cv2.CAP_PROP_POS_MSEC)213400.0

检查表明这将点设置在最后一帧之后(而不是在它之前),因此时间戳确实是流的确切总长度:

>>> v.get(cv2.CAP_PROP_POS_frameS)5335.0>>>> v.get(cv2.CAP_PROP_frame_COUNT)5335.0>>> v.set(cv2.CAP_PROP_POS_AVI_RATIO,0)>>> v.get(cv2.CAP_PROP_POS_frameS)0.0        # the 1st frame is frame 0, not 1, so "5335" means after the last frame


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5562373.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存