如何在 CentOS、Fedora 或 RHEL 上编译 FFmpeg
问题:如何在 CentOS、Fedora 或 RHEL 上编译和构建 FFmpeg?
如果您想在基于 RPM 的 Linux 上使用 FFmpeg,可以在启用其他第三方存储库后使用 yum 包管理器安装预构建的 ffmpeg 包。然而,此类存储库中包含的 FFmpeg 版本通常已经过时。如果您想尝试 FFmpeg 的前沿功能,您可能想从其源代码自行构建 FFmpeg。
从源代码构建 FFmpeg
以下是如何在 CentOS、Fedora 或 RHEL 上编译 FFmpeg。
在 CentOS 上,首先启用 RPM Fusion 和 EPEL 存储库。在 Fedora 上,首先启用 RPM Fusion。
继续安装构建 FFmpeg 所需的所有软件包,如下所示。请注意,根据您要启用的库,您可能需要安装其他软件包。
$ sudo yum install gcc-c++ make yasm pkgconfig libXext-devel libXfixes-devel x264-devel zlib-devel
接下来,下载FFmpeg源代码,并按如下方式编译。
$ wget http://ffmpeg.org/releases/ffmpeg-2.3.3.tar.bz2
$ tar xvfvj ffmpeg-2.3.3.tar.bz2
$ cd ffmpeg-2.3.3
$ ./configure --enable-shared --enable-nonfree --enable-gpl --enable-decoder=aac --enable-libx264 --enable-demuxer=mov --enable-x11grab --enable-zlib --enable-protocol=http --enable-filter=aformat --enable-filter=volume --enable-filter=aresample
$ make
最后,在您的系统上安装 FFmpeg。
$ sudo make install
通过运行不带任何选项的 ffmpeg 命令来验证安装。

FFmpeg 安装过程中的故障排除
1. 如果遇到以下错误,请安装yasm
包。请注意,在 CentOS 上,您首先需要先设置 EPEL 存储库。
yasm/nasm not found or too old
使用 yum 包管理器安装包,如下所示。
$ sudo yum install yasm
2. 如果遇到以下错误,请安装x264
开发包。您需要首先启用 RPM Fusion 存储库。
ERROR: libx264 not found
使用 yum 命令安装必要的软件包,如下所示。
$ sudo yum install x264-devel
3. 如果出现以下错误,请使用 yum
命令安装 libXext
开发包。
ERROR: Xext not found
$ sudo yum install libXext-devel
4. 如果出现以下错误,请使用 yum
命令安装 libXfixes
开发包。
ERROR: Xfixes not found
$ sudo yum install libXfixes-devel