如何使用FFmpeg实现从H.265到H.264的快速编码速度?

如何使用FFmpeg实现从H.265到H.264的快速编码速度?

所以我对视频编码还很陌生,目前正在使用 FFmpeg 将视频编码从 H.265 更改为 H.264,以使其适合网络。

我正在运行的命令的当前语法是

ffmpeg -i input.mp4 -c:v libx264 -crf 51 -preset ultrafast -c:a aac output.mp4 

我目前只是想让这种编码尽可能快地运行,但我不确定是否有任何其他标志或设置可以调整以使其运行得更快。

我也尝试过设置zerolatencyfastdecode调整以查看其如何影响它,但对速度没有太大影响。

据我所知,设置crf值和ultrafast预设基本上是我加快编码速度的选项,但是是否有任何其他标志或设置可以用来帮助加快速度?

答案1

显示的命令无法执行太多操作,但这里有一些“建议”:

  • 流复制(重新混合)音频而不是通过更改为-c:a aac来重新编码-c:a copy

  • 看看硬件加速编码器例如 h264_nvenc 而不是 libx264 速度更快。

  • 还要检查硬件解码器是否更快。

  • 添加-movflags +faststart输出选项。这实际上会增加一点处理时间(与总时间相比),但可以让观众更快地开始观看视频。

  • 使用输出选项将视频缩放至一半大小-vf scale=iw/2:-2

  • 还有那个显而易见的强制性声明:使用更快的 CPU 或在多台机器上进行编码。

  • 将其保留为 H.265 并仅支持 Android、Edge 和 Safari。如果您已经提供 VP9 (Webm),这不是一个糟糕的解决方案。那么只有 Internet Explorer 会缺失。

相关内容