【发布时间】:2022-01-28 00:17:00
【问题描述】:
我有一个包含此信息的视频:
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 毫升吗?
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
【问题讨论】:
-
seeking 通常在 OpenCV 中被破坏,并且通常很难处理任意文件,除非您愿意先分析整个文件。不要依赖它。它可能适用于某些文件,但不适用于其他文件。