我正在尝试在 ffmpeg 中使用 libx264 进行编码
ffmpeg -f image2 -r 25 -i frames/%03d.bmp -vcodec libx264 out.mp4
但是,我收到以下错误消息:
Unknown encoder 'libx264'
如果我们ffmpeg
在控制台中输入,它会显示在配置 --disable-libx264 下,所以我猜这就是原因。
我该如何启用它?我在其他一些问题中发现可以通过使用此选项重新安装来完成,但有两件事我找不到:
- 是否可以在不重新安装的情况下更改配置?
- 如果没有,我如何在重新安装时传递选项?
--disable-libx264 标志有点误导。这不是在安装期间禁用 h264 编解码器的选项,而是在创建二进制/可执行文件期间的编译标志。要更改该标志,您需要自己重新编译它,或者安装在编译期间启用它的版本。这归结为您从中下载它的存储库。我可以确认 h264 在 18.04 的原生 x64 Ubuntu 版本上可用。
您需要从没有禁用它的不同来源获取 ffmpeg。Chocolatey安装的本机 Windows 版本在我的系统上启用了该标志。可能是 WSL 使用了一个单独的存储库来禁用它。
至于如何进行:
您拥有的 ffmpeg 二进制文件似乎没有启用编解码器。如果您按照上面@MMM 的建议检查编解码器
你应该看到一条线
重要的部分是前 2 个字母,告诉您同时支持解码和编码。您要么需要下载启用了库的二进制文件,要么从头开始编译。ffmepg 网站上的分步说明很容易遵循。
https://trac.ffmpeg.org/wiki/CompilationGuide
我通常从头开始编译,但这只是因为我个人想要许可不同且不能分发的 libfdk_aac。同样的限制不适用于 x264。