FFMPEG用于帧插值ala Twixtor


3

任何FFMPEG专家都可以告诉我,FFMPEG是否可以进行任何复杂的帧插值,类似于After Effects中的Twixtor插件?如果是这样,尝试一些建议的设置是什么?我正试图从60fps源创建超慢动作高清素材。即转换为120fps并插入帧。

Answers:


2

FFmpeg无法做到这一点。

几年前有一些关于实现这样一个功能的讨论,但到目前为止他们还没有在项目中发布任何类似于帧插值的内容。

您当然可以使用类似slowmoVideo的免费工具,如果您想查看源代码,也可以在GitHub上托管


3

libavfilter库有一个名为minterpolate的过滤器,该过滤器自2016年11月起可用。根据fitler的描述,其目的是:

“使用运动插值将视频转换为指定的帧速率。”

用法示例:

ffmpeg -i input.60fps.hevc -filter "minterpolate='fps=120'" output.120fps.hevc

我不知道使用哪些设置以获得最佳结果。根据我的经验,默认设置提供了可接受的运动插值质量。但偶尔也会引入一些非常引人注目的视觉伪像。我无法找到完全消除它们的设置组合。

过滤器此刻非常慢。它可以在现代的高端x86 CPU上输出大约2个运动插值帧,每秒1080p视频。我注意到插值只使用一个CPU线程,这可能是这种速度慢的主要原因。

为了加速多核CPU上的滤波器,建议将输入视频分成几个相等长度的块,并将运动插值并行应用于所有这些块。


0

更新后几个月:

ffmpeg -i input.mp4 -movflags + faststart -filter_complex“[0:v] minterpolate ='fps = 60:mi_mode = mci:me_mode = bidir:mc_mode = obmc:me = ds:vsbmc = 1'” - preset ultrafast output .MP4

原帖:

我可以用tblend滤镜实现这样的效果(虽然不完美)

ffmpeg -i source.mp4 -filter:v tblend -r 120 result.mp4


新的minterpolate过滤器应该更合适。
Gyan 2016年

它在rpm-fusion发行时无法使用,感谢您的建议!
Offenso

一方面tblend不会创造任何文物; 另一方面,结果与简单地改变速度setpts(用我的肉眼)无法区分。也许更改其默认值会产生更多影响。
felwithe
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.