在 CentOS 上安装 FFmpeg 可以通过以下两种推荐方法实现(以 CentOS 7/8 为例):
方法一:通过 RPM Fusion 仓库安装(推荐)
# 1. 安装 EPEL 仓库
sudo yum install epel-release# 2. 启用 RPM Fusion 仓库
# CentOS 7:
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm# CentOS 8:
sudo dnf install --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
sudo dnf install --nogpgcheck https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm# 3. 安装 FFmpeg
# CentOS 7:
sudo yum install ffmpeg ffmpeg-devel# CentOS 8:
sudo dnf install ffmpeg ffmpeg-devel# 4. 验证安装
ffmpeg -version
方法二:源码编译安装(获取最新版本)
# 1. 安装开发工具和依赖库
sudo yum groupinstall "Development Tools"
sudo yum install yasm-devel libass-devel freetype-devel libmp3lame-devel libtheora-devel libvorbis-devel opus-devel libvpx-devel x264-devel x265-devel# 2. 下载 FFmpeg 源码
wget https://ffmpeg.org/releases/ffmpeg-latest.tar.gz
tar xvf ffmpeg-latest.tar.gz
cd ffmpeg-*# 3. 配置和编译
./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libass --enable-libfreetype --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libopus --enable-libvpx --enable-libx264 --enable-libx265make -j$(nproc)
sudo make install# 4. 添加库路径
echo '/usr/local/lib' | sudo tee /etc/ld.so.conf.d/ffmpeg.conf
sudo ldconfig# 5. 验证安装
/usr/local/bin/ffmpeg -version
方法三:使用静态二进制文件(免安装)
# 1. 下载预编译静态二进制文件(来自官方推荐)
wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz# 2. 解压
tar xvf ffmpeg-release-amd64-static.tar.xz
cd ffmpeg-*-static# 3. 复制到系统路径
sudo cp ffmpeg ffprobe /usr/local/bin/# 4. 验证安装
ffmpeg -version
验证 FFmpeg 安装
# 检查版本
ffmpeg -version# 测试简单命令
ffmpeg -i input.mp4 -f null -# 无输出运行测试
常见问题解决
- 依赖项缺失错误:
# 安装常见依赖
sudo yum install autoconf automake bzip2 cmake gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
- 编解码器支持问题:
- 确保安装时启用了
--enable-gpl
和--enable-nonfree
- 安装缺失的编解码器开发包(如
x264-devel
,x265-devel
)
- 权限问题:
sudo chmod +x /usr/local/bin/ffmpeg
- 版本冲突:
# 移除旧版本
sudo yum remove ffmpeg
添加到 PATH(如果安装到自定义路径)
# 将以下行添加到 ~/.bashrc 或 /etc/profile
export PATH="/usr/local/ffmpeg/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH"# 然后执行
source ~/.bashrc
各方法对比
方法 | 优点 | 缺点 |
---|---|---|
RPM Fusion 仓库 | 安装简单,自动处理依赖 | 版本可能不是最新 |
源码编译 | 可定制性强,获取最新功能 | 安装复杂,耗时长 |
静态二进制 | 无需安装,开箱即用 | 无法自动更新 |
建议大多数用户使用 RPM Fusion 仓库安装,需要最新功能时选择源码编译,快速测试使用静态二进制。