准备工作
在centos系统上安装FFmpeg前,需确保系统已更新至最新状态,打开终端,执行以下命令:
- sudo yum update -y
此操作将更新所有系统软件包,避免因依赖问题导致安装失败。

方法一:通过YUM仓库安装
CentOS默认仓库可能不包含最新版FFmpeg,但部分第三方仓库(如EPEL、Nux Dextop)提供支持。
步骤1:启用EPEL仓库
- sudo yum install epel-release -y
步骤2:添加Nux Dextop仓库
适用于CentOS 7:
- sudo rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
- sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm
CentOS 8用户需调整仓库链接中的版本号。
步骤3:安装FFmpeg

- sudo yum install ffmpeg ffmpeg-devel -y
完成后,验证安装:
- ffmpeg -version
若输出包含版本信息及编解码器列表,则安装成功。
优点:操作简单,适合快速部署。
缺点:第三方仓库版本可能滞后于官方源码。
方法二:通过源码编译安装
若需最新功能或自定义编解码器,推荐源码编译。
步骤1:安装依赖项

- sudo yum install -y autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial nasm pkgconfig zlib-devel
步骤2:下载FFmpeg源码
- git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
- cd ffmpeg
步骤3:配置与编译
- ./configure --enable-gpl --enable-nonfree --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
- make -j$(nproc)
- sudo make install
--enable
参数可根据需求调整,例如移除不需要的编解码器。
验证安装:
- ffmpeg -version
若显示版本号及配置参数,则编译成功。
优点:灵活性高,支持最新特性。
缺点:耗时长,需手动处理依赖。
方法三:使用静态构建版本
适合不希望修改系统环境的用户。
步骤1:下载预编译包
访问 [FFmpeg官方下载页](https://ffmpeg.org/download.html),选择Linux静态构建版本:
- wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
步骤2:解压并安装
- tar xvf ffmpeg-release-amd64-static.tar.xz
- cd ffmpeg-*-static
- sudo cp ffmpeg ffprobe /usr/local/bin/
验证安装:
- ffmpeg -version
优点:无需编译,独立于系统库。
缺点:无法通过包管理器更新。
常见问题与解决方案
1、“Command not found”错误
检查是否将FFmpeg路径加入PATH
环境变量,或尝试重新安装。
2、缺少编解码器支持
通过源码编译时,确保已安装所有依赖库(如libx264、libvpx)。
3、权限问题
若安装时提示权限不足,在命令前添加sudo
。
优化使用体验
更新FFmpeg
源码安装用户可通过git pull
拉取最新代码后重新编译;静态构建用户需手动下载新版本。
集成到环境变量
若自定义路径安装,可编辑~/.bashrc
文件:
- export PATH="$PATH:/path/to/ffmpeg"
测试转码功能
运行简单命令验证功能完整性:
- ffmpeg -i input.mp4 -c:v libx264 output.mp4
FFmpeg作为多媒体处理的核心工具,在视频转码、流媒体传输等场景中不可或缺,个人更推荐源码编译安装,尽管过程复杂,但能最大限度适配硬件环境并启用高级功能,若追求效率,静态构建版本则是折中方案,遇到问题可通过FFmpeg官方社区或GitHub Issue寻求支持,多数情况下已有成熟解决方案。