为了账号安全,请及时绑定邮箱和手机立即绑定

使用 VapourSynth ffms2 插件获取视频帧的时间戳

使用 VapourSynth ffms2 插件获取视频帧的时间戳

温温酱 2021-07-08 14:01:52
我正在使用这个片段作为视频源,以便稍后处理它:import vapoursynth as vscore = vs.corecore.std.LoadPlugin("/usr/local/lib/libffms2.so")video = core.ffms2.Source("videotest.mkv")如何获取指定帧的时间戳或获取每帧的时间戳列表?
查看完整描述

1 回答

?
Cats萌萌

TA贡献1805条经验 获得超9个赞

根据FFMS2和The VapourSynth API-Reference的文档,可以通过访问_AbsoluteTime每个帧的prop来获取帧的时间戳。


用于video.frames()在每一帧上获取迭代器:


for frame in video.frames():

    print(frame.props["_AbsoluteTime"])

这是另一个例子:


>>> 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


查看完整回答
反对 回复 2021-07-13
  • 1 回答
  • 0 关注
  • 238 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信