我有一段视频,里面有这样的信息:
fps = 29.971695558454563
number of frames = 26983
duration (S) = 900.2827333333333
duration (M:S) = 15:0.28273333333333994
我的问题是:为什么当我使用:
cap.set(cv2.CAP_PROP_POS_FRAMES, 30)
以下方面:
cap.get(cv2.CAP_PROP_POS_MSEC)
返回:
0.5
它不应该是接近1000 mls吗?
cap = cv2.VideoCapture(video_path)
fps = cap.get(cv2.CAP_PROP_FPS)
cap.set(cv2.CAP_PROP_POS_FRAMES, 30)
print('FPS VIDEO',fps)
print('Mils',cap.get(cv2.CAP_PROP_POS_MSEC))
timestamp = get_hms(cap.get(cv2.CAP_PROP_POS_MSEC))
FPS VIDEO 29.971695558454563
Mils 0.5
hora 0:00:00.000500
def get_hms(millis):
hms = timedelta(milliseconds=millis)
print('hora',hms)
return hms
发布于 2021-12-29 17:21:43
这只是个小虫子:
https://github.com/opencv/opencv/issues/15749
如果您使用:
ret, frame = cap.read()
电话前:
print('Mils',cap.get(cv2.CAP_PROP_POS_MSEC))
https://stackoverflow.com/questions/70522473
复制相似问题