首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cap.get(cv2.CAP_PROP_POS_MSEC)是如何工作的?

cap.get(cv2.CAP_PROP_POS_MSEC)是如何工作的?
EN

Stack Overflow用户
提问于 2021-12-29 16:50:24
回答 1查看 1.5K关注 0票数 0

我有一段视频,里面有这样的信息:

代码语言:javascript
运行
复制
fps = 29.971695558454563
number of frames = 26983
duration (S) = 900.2827333333333
duration (M:S) = 15:0.28273333333333994

我的问题是:为什么当我使用:

代码语言:javascript
运行
复制
cap.set(cv2.CAP_PROP_POS_FRAMES, 30)

以下方面:

代码语言:javascript
运行
复制
cap.get(cv2.CAP_PROP_POS_MSEC)

返回:

代码语言:javascript
运行
复制
0.5

它不应该是接近1000 mls吗?

代码语言:javascript
运行
复制
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
EN

回答 1

Stack Overflow用户

发布于 2021-12-29 17:21:43

这只是个小虫子:

https://github.com/opencv/opencv/issues/15749

如果您使用:

代码语言:javascript
运行
复制
ret, frame = cap.read()

电话前:

代码语言:javascript
运行
复制
print('Mils',cap.get(cv2.CAP_PROP_POS_MSEC))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70522473

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档