CentOS服务器安装FFmpeg指南

服务器系统环境为:CentOS 6.5(final);

在服务器成功安装FFmpeg颇废了一番功夫,总结一下成功安装的过程,希望对大家有用 _

Ps:使用Java调用FFmpeg处理音视频媒体文件可以参考 Java使用FFmpeg处理视频文件指南

查看CentOS版本命令:rpm -q centos-release
CentOS 7 安装参考这里:点我哦

通过Yum安装

按顺序执行下方的命令来安装FFmpeg:

注意:命令默认以root用户执行,如果非root用户,请在每条命令前增加 sudo 指令以root权限运行这些命令

1. Update the system

yum install epel-release -y
yum update -y

2. Install the Nux Dextop YUM repo

rpm --import http://li.nux.ro/download/nux/RPM-GPG-KEY-nux.ro
rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm

3. Install FFmpeg and FFmpeg development packages

yum install ffmpeg ffmpeg-devel -y

至此,如果不出意外的话,FFmpeg就应该顺利安装到服务器上了;

可以在控制台通过 which ffmpeg 命令来查看FFmpeg程序的执行路径;

FFmpeg常用的视频转换命令

ffmpeg -i 待转换的源视频路径 -s 853x480 -vcodec libx264 -preset medium -crf 28 -y 输出视频的路径

踩坑 & 填坑

在CentOS 7上安装时无法找到某些依赖库

主要症状如下:

centos配置使用FrameBuffer centos ffmpeg_Java


填坑指南:

1. 先看是否成功安装了 EPEL

按照上面的安装教程,在最后安装FFmpeg前应该先安装两个源,一个是epel,一个是nux-dextop

你可以使用 yum repolist 命令查看是否装上了这两个:

centos配置使用FrameBuffer centos ffmpeg_Java_02

2. 如果已经成功安装了 epel 和 nux-dextop,但执行 install ffmpeg 的命令时仍然报错找不到一些依赖关系

可能是跟epel的配置有关,这时候你需要先切换到epel的配置目录:

使用命令:cd /etc/yum.repos.d/ 切换到epel的配置目录;

centos配置使用FrameBuffer centos ffmpeg_CentOS_03

通过 vim epel.repo 命令编辑epel.repo文件:

因为下载依赖时会通过 baseurlmetalink 这两个地址指向去下载,依赖找不到很可能是因为这两个下载地址有问题;

centos配置使用FrameBuffer centos ffmpeg_CentOS_04

我当时出现这个问题时,发现yum是使用的epel.repo中 metalink 指定的地址去下载的,一直下载不下来某些依赖;后来我将 metalink 一行注释掉,让yum使用 baseurl 的指向去下载,就能下载下来了;

如果 baseurl 和 metalink 对于你来说都下载不下来,那你可以考虑Google一个能用的下载地址替换原来的;