首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >利用VapourSynth ffms2插件获取视频帧时间戳

利用VapourSynth ffms2插件获取视频帧时间戳
EN

Stack Overflow用户
提问于 2018-10-10 14:28:22
回答 1查看 399关注 0票数 2

我以后会用这个片段作为视频源来处理它:

代码语言:javascript
复制
import vapoursynth as vs
core = vs.core
core.std.LoadPlugin("/usr/local/lib/libffms2.so")

video = core.ffms2.Source("videotest.mkv")

如何获得指定帧的时间戳或每个帧的时间戳列表?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-10 22:21:14

根据FFMS2VapourSynth API-引用的文档,可以通过访问每个帧的_AbsoluteTime支柱来获得帧的时间戳。

使用video.frames()在每个帧上获得一个迭代器:

代码语言:javascript
复制
for frame in video.frames():
    print(frame.props["_AbsoluteTime"])

这里还有另一个例子:

代码语言:javascript
复制
>>> import vapoursynth
>>> s = vapoursynth.core.ffms2.Source(r"Z:\Anime\Serien\Incomplete\Akanesasu Shoujo\[HorribleSubs] Akanesasu Shoujo - 01 [1080p].mkv")
>>> f = s.get_frame(0)
>>> f.props
<vapoursynth.VideoProps {'_AbsoluteTime': 0.043, '_ChromaLocation': 0, '_ColorRange': 1, '_DurationDen': 1000, '_DurationNum': 41, '_FieldBased': 0, '_Matrix': 2, '_PictType': b'I', '_Primaries': 2, '_SARDen': 1, '_SARNum': 1, '_Transfer': 2}>
>>> f.props._AbsoluteTime
0.043
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52742553

复制
相关文章

相似问题

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