centos配置ffmpeg的安装源全过程

 更新时间:2025年08月07日 09:33:43   作者:leijmdas  
在CentOS上安装FFmpeg需配置第三方仓库(如RPMFusion或NuxDextop),或手动编译/使用静态包,推荐RPMFusion(稳定版)用于7/8/Stream,NuxDextop为CentOS7备用,安装后通过ffmpeg -version验证,常见问题包括检查仓库启用、清理缓存及处理依赖冲突

在 CentOS 上配置 FFmpeg 的安装源,通常需要添加第三方仓库(如 RPM Fusion 或 Nux Dextop),因为官方仓库默认不提供 FFmpeg。

以下是详细步骤:

方法 1:配置 RPM Fusion 仓库(推荐)

适用于 CentOS 7/8/Stream,提供稳定版 FFmpeg。

1. 安装 EPEL 仓库

sudo yum install -y epel-release

2. 添加 RPM Fusion 仓库

Free(开源软件)

sudo yum localinstall -y --nogpgcheck \
    https://download1.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm

Non-free(闭源组件,如某些编码器)

sudo yum localinstall -y --nogpgcheck \
    https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-$(rpm -E %rhel).noarch.rpm

3. 更新仓库缓存

sudo yum makecache

4. 安装 FFmpeg

sudo yum install -y ffmpeg ffmpeg-devel

验证安装

ffmpeg -version

方法 2:配置 Nux Dextop 仓库(适用于 CentOS 7)

如果 RPM Fusion 不可用(如某些旧版 CentOS 7),可以使用 Nux Dextop。

1. 添加 Nux Dextop 仓库

sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el7/x86_64/nux-dextop-release-0-5.el7.nux.noarch.rpm

2. 安装 FFmpeg

sudo yum install -y ffmpeg

方法 3:手动编译安装(最新版)

如果仓库中的版本过旧,可以手动编译:

1. 安装依赖

sudo yum install -y git gcc make autoconf automake cmake freetype-devel libtool nasm pkgconfig zlib-devel

2. 下载 FFmpeg 源码

git clone https://git.ffmpeg.org/ffmpeg.git
cd ffmpeg

3. 编译安装

./configure --prefix=/usr/local --enable-gpl --enable-nonfree --enable-libx264 --enable-libx265
make -j$(nproc)
sudo make install

配置环境变量

echo 'export PATH=/usr/local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

方法 4:使用静态预编译包(免安装)

直接下载静态构建版本:

wget https://johnvansickle.com/ffmpeg/releases/ffmpeg-release-amd64-static.tar.xz
tar xf ffmpeg-release-amd64-static.tar.xz
cd ffmpeg-*-static/
./ffmpeg -version  # 直接运行

常见问题解决

找不到包

确保仓库已正确启用:

yum repolist | grep -i "rpmfusion\|nux"

如果报错 No package ffmpeg available,尝试清理缓存:

sudo yum clean all
sudo yum makecache

依赖冲突

使用 --skip-broken 忽略冲突依赖:

sudo yum install -y --skip-broken ffmpeg

CentOS 8/Stream 注意事项

使用 dnf 代替 yum

sudo dnf install -y ffmpeg

总结

  • 推荐:优先使用 RPM Fusion(方法 1)。
  • CentOS 7 备用:Nux Dextop(方法 2)。
  • 需要最新版:手动编译(方法 3)。
  • 快速使用:静态预编译包(方法 4)。

配置完成后,即可通过 ffmpeg -version 验证安装!如有问题,可提供具体错误信息进一步排查。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 学习Apache的mod rewrite、access写法

    学习Apache的mod rewrite、access写法

    Apache的mod_rewrite是提供了强大URL操作的杀手级的模块,可以实现几乎所有你梦想的URL操作类型,其代价是你必须接受其复杂性,因为mod_rewrite的主要障碍就是初学者不容易理解和运用,即使是Apache专家有时也会发掘出mod_rewrite的新用途。
    2008-09-09
  • linux命令行大于号、小于号、双大于号、双小于号用法详解

    linux命令行大于号、小于号、双大于号、双小于号用法详解

    文章主要讲述了Linux中重定向符号>>、>>、<、<<的使用方法和作用,>>用于覆盖输出到文件,>>>用于追加到文件,<将后面文件作为前面命令的输入,<<用于全文匹配某个字符串后结束
    2026-04-04
  • Ubuntu设置静态IP地址的方法步骤(亲测有效)

    Ubuntu设置静态IP地址的方法步骤(亲测有效)

    在某些场景下,我们可能需要将一台电脑的IP地址设置成静态的,例如在局域网内部署一个服务器,我们可能不希望他通过DHCP获取动态地址,而造成无法访问,设置静态IP在window系统下比较容易,但在Linux系统下稍微麻烦一点,本文给大家介绍了Ubuntu设置静态IP地址的方法步骤
    2024-10-10
  • Linux Windows之wsl安装使用及说明

    Linux Windows之wsl安装使用及说明

    本文详细介绍了如何在Windows 10或11上配置和使用WSL(Windows Subsystem for Linux),包括前期准备、基本配置、命令行简介以及安装VSCode插件等步骤
    2025-11-11
  • 详解从Linux源码看Socket(TCP)的bind

    详解从Linux源码看Socket(TCP)的bind

    本文从Linux源码的角度看Server端的Socket在进行bind的时候到底做了哪些事情(基于Linux 3.10内核)
    2021-06-06
  • Linux部署msmtp+mutt发送邮件功能

    Linux部署msmtp+mutt发送邮件功能

    这篇文章主要介绍了Linux部署msmtp+mutt实现发送邮件,msmtp是一个SMTP客户端,可将邮件发送至SMTP服务端。具体安装步骤大家参考下本文
    2018-03-03
  • Linux(RedHat或CentOS)下实现开启telnet服务方式

    Linux(RedHat或CentOS)下实现开启telnet服务方式

    文章介绍了Telnet协议的功能及安全风险,指出其明文传输导致安全隐患,现代系统多默认禁用,详细说明了开启Telnet的步骤,包括安装、配置yum源、启动服务及处理防火墙,同时区分不同系统版本的配置差异
    2025-07-07
  • Linux下如何用base64命令加解密字符串

    Linux下如何用base64命令加解密字符串

    在Linux系统上,可以使用`base64`命令对字符串或文件进行Base64加密和解密,加密时,使用`echo`命令将字符串传递给`base64`,解密时使用`echo`命令将Base64字符串传递给`base64 -d`
    2025-01-01
  • Linux 创建子进程执行任务的实现方法

    Linux 创建子进程执行任务的实现方法

    下面小编就为大家分享一篇Linux 创建子进程执行任务的实现方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧
    2018-01-01
  • Linux系统云服务器被入侵排查和解决方法

    Linux系统云服务器被入侵排查和解决方法

    当 Linux 系统的云服务器被入侵时,及时排查和解决问题是防止更大损失的关键,所以本文给大家详细介绍了Linux系统云服务器被入侵排查和解决方法,需要的朋友可以参考下
    2025-11-11

最新评论