FFMPEG 用于帧插值 ala Twixtor

FFMPEG 用于帧插值 ala Twixtor

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

答案1

FFmpeg 无法做到这一点。

一些讨论几年前他们就曾考虑过实现这样的功能,但到目前为止他们还没有在项目中发布任何类似于帧插值的东西。

当然,你也可以使用类似的免费工具,例如慢动作视频还举办在 GitHub 上如果你想看看源代码。

答案2

libavfilter 库有一个名为最小插值,自 2016 年 11 月起可用。根据 fitler 的描述,它的用途是:

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

使用示例:

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

我不知道要使用哪些设置才能获得最佳效果。根据我的经验,默认设置提供了可接受的运动插值质量。但偶尔会出现一些非常明显的视觉伪影。我无法找到可以完全消除这些伪影的设置组合。

目前,该滤镜的速度非常慢。在现代高端 x86 CPU 上,它每秒可以输出大约 2 个 1080p 视频的运动插值帧。我注意到插值仅使用单个 CPU 线程,这可能是速度如此缓慢的主要原因。

为了加快多核 CPU 上的过滤器速度,建议将输入视频分成几个等长的块,然后对所有块并行应用运动插值。

答案3

更新后几个月:

ffmpeg -i 输入.mp4 -movflags +faststart -filter_complex “[0:v]minterpolate='fps=60:mi_mode=mci:me_mode=bidir:mc_mode=obmc:me=ds:vsbmc=1'” -preset 超快输出.mp4

原始帖子:

我可以实现这样的效果(虽然并不完美), 混合筛选

ffmpeg -i 源.mp4 -filter:v tblend -r 120 结果.mp4

相关内容