在 CentOS 上安装 FFmpeg

在 CentOS 上安装 FFmpeg 可以通过以下两种推荐方法实现(以 CentOS 7/8 为例):

方法一:通过 RPM Fusion 仓库安装(推荐)

bash 复制代码
# 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

方法二:源码编译安装(获取最新版本)

bash 复制代码
# 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-libx265

make -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

方法三:使用静态二进制文件(免安装)

bash 复制代码
# 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 安装

bash 复制代码
# 检查版本
ffmpeg -version

# 测试简单命令
ffmpeg -i input.mp4 -f null -# 无输出运行测试

常见问题解决

  1. 依赖项缺失错误
bash 复制代码
# 安装常见依赖
sudo yum install autoconf automake bzip2 cmake gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel
  1. 编解码器支持问题
  • 确保安装时启用了 --enable-gpl--enable-nonfree
  • 安装缺失的编解码器开发包(如 x264-devel, x265-devel
  1. 权限问题
bash 复制代码
sudo chmod +x /usr/local/bin/ffmpeg
  1. 版本冲突
bash 复制代码
# 移除旧版本
sudo yum remove ffmpeg

添加到 PATH(如果安装到自定义路径)

bash 复制代码
# 将以下行添加到 ~/.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 仓库安装,需要最新功能时选择源码编译,快速测试使用静态二进制。

相关推荐
一叶龙洲44 分钟前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker3 小时前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience4 小时前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
j7~4 小时前
【Linux】二十二.《Linux 信号机制完全指南:表示、捕捉与处理》
linux·信号处理·volatile·可入重函数·保存信号
观山岳五楼5 小时前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
m0_715646765 小时前
20260720
linux·arm
寒晓星6 小时前
[linux]线程及多线程
linux·运维
辰痕~6 小时前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
国服第二切图仔8 小时前
13其他工具 - Skill/LSP/Sleep等
linux·运维·里氏替换原则
就不掉头发8 小时前
计算机的虚拟内存
linux·服务器·windows