在 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 仓库安装,需要最新功能时选择源码编译,快速测试使用静态二进制。

相关推荐
xh didida1 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
zly35002 小时前
centos7 mount设备挂载 /dev/sda1/硬盘挂载
linux·运维·服务器
工业一体机老司机2 小时前
工业一体机选购后的系统部署:Ubuntu下Docker容器化运行与GPIO配置
linux·ubuntu·docker·人机交互
哎呦,帅小伙哦3 小时前
进程监控工具——htop
linux·运维·服务器
夏虫不可与之言冰3 小时前
Windows WSL2 (Ubuntu) 搭建 ESP‑IDF 6.1 开发环境全过程演示
linux·windows·ubuntu·esp32·乐鑫科技·乐鑫eim·乐鑫代理商
春涧草茶4 小时前
慢就是快12-12手动抛出异常
java·linux·前端
KING-WU5125 小时前
Linux 工具之Make 与 Makefile
java·linux·服务器
Lsetea6 小时前
OpenSSL报certificate is not yet valid:error 9与notBefore时间排查
linux·运维·https·ssl证书·openssl
魔法阵维护师6 小时前
Linux 命令行入门踩坑记录:从 VMware 装系统到文件管理
linux·运维·服务器
Apipi*6 小时前
30天速通Linux 第七章进程间通信
linux·运维·服务器