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

相关推荐
骄傲的心别枯萎7 分钟前
项目1:FFMPEG推流器讲解(二):FFMPEG输出模块初始化
linux·ffmpeg·音视频·视频编解码·rv1126
Nimsolax9 分钟前
Linux网络应用层自定义协议与序列化
linux·网络
egoist202315 分钟前
[linux仓库]图解System V共享内存:从shmget到内存映射的完整指南
linux·开发语言·共享内存·system v
葵花日记18 分钟前
LINUX——进度条
linux·运维·服务器
hmcjn(小何同学)1 小时前
轻松Linux-10.进程信号
linux·运维·服务器
用户31187945592181 小时前
libopenssl1_0_0-1.0.2p-3.49.1.x86_64安装教程(RPM包手动安装步骤+依赖解决附安装包下载)
linux
驱动探索者1 小时前
linux 学习平台 arm+x86 搭建
linux·arm开发·学习
深思慎考1 小时前
【新版】Elasticsearch 8.15.2 完整安装流程(Linux国内镜像提速版)
java·linux·c++·elasticsearch·jenkins·框架
微电子爱好者1 小时前
TCP和UDP调试工具的介绍和使用
linux·tcp/ip·udp
mxpan1 小时前
VirtualBox中ubuntu1804虚拟机共享文件夹设置
linux·运维·服务器