ffmpeg是一个非常棒的视频处理软件,它能在linux、macos和windows下运行。
下面简单记录下在CentOS 8.5系统里如何从源码编译安装ffmpeg以及它所需要的openh264和fdk-aac软件。
dnf install gcc gcc-c++ git nasm
dnf install fdk-aac fdk-aac-devel freetype freetype-devel
CentOS 7 里安装fdk-aac参考:
wget "http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm"
rpm -Uvh nux-dextop-release-0-5.el7.nux.noarch.rpm
yum -y install gcc gcc-c++ git nasm
yum -y install fdk-aac fdk-aac-devel freetype freetype-devel
git clone "https://github.com/cisco/openh264.git"
推荐用git下载安装,在openh264安装的过程中会用到git。
export PKG_CONFIG_PATH=openh264源码保存路径
cd 进入openh264所在目录
make
make install
安装好之后,记得创建软连接:
ln -s /usr/local/lib/libopenh264.so.2.3.0 /usr/lib/libopenh264.so.7
具体版本号请查看你安装的openh264。
wget "https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2"
tar -jxvf ffmpeg-snapshot.tar.bz2
如果tar无法解压,先安装bzip2:
dnf install bzip2
解压源码后进入源码目录执行:
./configure --enable-libopenh264 --enable-libfdk-aac --enable-libfreetype --disable-x86asm
在ffmpeg目录下执行:
make
make install
ffmpeg -version
如果你有安装了x264和x264-devel库, 需要先删除它们,否则ffmpeg执行的时候会报错:
ffmpeg: error while loading shared libraries: libopenh264.so.7: cannot open shared object file: No such file or directory
删除x264和x264-devel库:
dnf remove x264 x264-devel
如果在CentOS 7.9中编译安装好之后,出现上述错误,需要安装x264和x264-libs库:
yum -y install x264 x264-libs