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

我正在使用这个片段作为视频源,以便稍后处理它:


import vapoursynth as vs

core = vs.core

core.std.LoadPlugin("/usr/local/lib/libffms2.so")


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

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


温温酱
浏览 243回答 1
1回答

Cats萌萌

根据FFMS2和The VapourSynth API-Reference的文档,可以通过访问_AbsoluteTime每个帧的prop来获取帧的时间戳。用于video.frames()在每一帧上获取迭代器:for frame in video.frames():&nbsp; &nbsp; 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._AbsoluteTime0.043
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python