如何在 CentOS 上编译支持 h.265、h.264 和 vp9 的 FFMPEG

如何在 CentOS 上编译支持 h.265、h.264 和 vp9 的 FFMPEG

我用的是这个https://trac.ffmpeg.org/wiki/CompilationGuide/Centos指示来完成该过程但遇到了错误。

cat /etc/centos-release
CentOS Linux release 7.31611 (Core)

失败的是 libx264 的配置和构建。该过程的输出是

$:~/ffmpeg_sources/x264$ PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
Found no assembler
Minimum version is nasm-2.13

完整输出在这里https://pastebin.com/qjwpdvc9

从命令行启动可用的汇编程序显示了这一点

[wolke3/steffenr]:~/ffmpeg_sources/x264$ nasm -v && yasm --version
NASM version 2.10.07 compiled on Jun  9 2014
yasm 1.2.0
Compiled on Feb 17 2014.
Copyright (c) 2001-2011 Peter Johnson and other Yasm developers.
Run yasm --license for licensing overview and summary.

https://pastebin.com/9Td5tA1a

然后我安装了最新的 nasm

yum-config-manager --add-repo http://www.nasm.us/nasm.repo
yum install nasm

似乎我还是遗漏了一些东西。我现在可以使用 nasm,但链接失败。我想我缺少一些库。请参见此处的输出https://pastebin.com/KTwvMS9i

我最终使用了提供的预编译二进制文件,但我宁愿ffmpeg自己构建。

有什么建议吗?

答案1

yum您应该通过添加存储库来安装最新的 nasm 版本:

yum-config-manager --add-repo http://www.nasm.us/nasm.repo

然后:

yum install nasm

这将为您提供 nasm ≥ 2.13。

这样,ffmpeg 指南的其余部分就应该可以正常工作了。我也更新了 FFmpeg Wiki 上的指南。

答案2

如果你喜欢自己编译东西:

curl -LO https://www.nasm.us/pub/nasm/releasebuilds/2.13.01/nasm-2.13.01.tar.gz
tar xzvf nasm-2.13.01.tar.gz 
cd nasm-2.13.01
./configure --prefix=/opt/nasm
make
sudo make install
export PATH=/opt/nasm/bin/:$PATH

答案3

获取 的存储库nasm及其安装可能会出现一些问题yum官方 nasm 安装是推荐的。这保证了 nasm 安装所需的版本。

相关内容