ffmpeg运动插值替代或加速

时间:2017-02-22 07:46:19

标签: video ffmpeg interpolation

我使用ffmpeg创建视频,这是一个很棒的工具。我从图片创建视频,需要尽可能地使它们变得光滑。我发现,我需要的是“运动插值”。我开始搜索所有论坛,发现只有3件事可以帮助我:slowmovideo,butterflow和新ffmpeg的过滤器minterpolate。

slowmovideo需要很多配置,我无法让它按照我的意愿运行。 有了butterflow,我尝试了一切。从安装OpenCL,OpenGL和其他东西到切换到nvidia二进制驱动程序并安装所有sdk工具和cuda。它从来没有奏效。关于cuda的一些错误,谷歌不知道它。

所以第三个选项是唯一可用的选项。当我尝试它时,它完全符合我的要求!但令人难以置信的是缓慢。我有8核CPU,它处理大约0.1-0.3 fps。并且只使用1个核心,没有视频卡。

有没有什么方法可以在GPU或CPU上运动插值帧但速度更快?只有GNU / Linux

2 个答案:

答案 0 :(得分:2)

  

有没有办法在GPU上插入运动帧?

使用minterpolate?不。它使用的是libswscale,它没有我所知道的视频硬件加速支持。

  

或在CPU上但更快?

您可以尝试使用各种minterpolate options来提高速度。或者在bug trackerBountysource上提供奖励以启用线程支持,或者提交启用它的补丁(尽管我不确定这个过滤器是否可行或现实。)< / p>

编辑:在回答之后不久,我看到你asked this on the ffmpeg-devel mailing list开发人员建议获得赏金,所以如果您想使用此过滤器并提高速度,这可能是您的最佳选择。

答案 1 :(得分:2)

我知道它是一个愚蠢的解决方案,但它确实为您提供了所需的加速:如果您有多个剪辑,您可以同时为每个剪辑运行单独的ffmpeg命令,而不会影响每个进程的性能,直到你有比核心更多的进程。