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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)