在 centos 上配置 ffmpeg 的安装源,通常需要添加第三方仓库(如 rpm fusion 或 nux dextop),因为官方仓库默认不提供 ffmpeg。
以下是详细步骤:
方法 1:配置 rpm fusion 仓库(推荐)
适用于 centos 7/8/stream,提供稳定版 ffmpeg。
1. 安装 epel 仓库
sudo yum install -y epel-release
2. 添加 rpm fusion 仓库
free(开源软件):
sudo yum localinstall -y --nogpgcheck \ https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -e %rhel).noarch.rpm
non-free(闭源组件,如某些编码器):
sudo yum localinstall -y --nogpgcheck \ https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -e %rhel).noarch.rpm
3. 更新仓库缓存
sudo yum makecache
4. 安装 ffmpeg
sudo yum install -y ffmpeg ffmpeg-devel
验证安装
ffmpeg -version
方法 2:配置 nux dextop 仓库(适用于 centos 7)
如果 rpm fusion 不可用(如某些旧版 centos 7),可以使用 nux dextop。
1. 添加 nux dextop 仓库
sudo rpm -uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
2. 安装 ffmpeg
sudo yum install -y ffmpeg
方法 3:手动编译安装(最新版)
如果仓库中的版本过旧,可以手动编译:
1. 安装依赖
sudo yum install -y git gcc make autoconf automake cmake freetype-devel libtool nasm pkgconfig zlib-devel
2. 下载 ffmpeg 源码
git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg
3. 编译安装
./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265 make -j$(nproc) sudo make install
配置环境变量
echo 'export path=/usr/local/bin:$path' >> ~/.bashrc source ~/.bashrc
方法 4:使用静态预编译包(免安装)
直接下载静态构建版本:
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz tar xf ffmpeg-release-amd64-static.tar.xz cd ffmpeg-*-static/ ./ffmpeg -version # 直接运行
常见问题解决
找不到包
确保仓库已正确启用:
yum repolist | grep -i "rpmfusion\|nux"
如果报错 no package ffmpeg available
,尝试清理缓存:
sudo yum clean all sudo yum makecache
依赖冲突
使用 --skip-broken
忽略冲突依赖:
sudo yum install -y --skip-broken ffmpeg
centos 8/stream 注意事项
使用 dnf
代替 yum
:
sudo dnf install -y ffmpeg
总结
- 推荐:优先使用 rpm fusion(方法 1)。
- centos 7 备用:nux dextop(方法 2)。
- 需要最新版:手动编译(方法 3)。
- 快速使用:静态预编译包(方法 4)。
配置完成后,即可通过 ffmpeg -version
验证安装!如有问题,可提供具体错误信息进一步排查。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论