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上安装时无法找到某些依赖库
主要症状如下:
填坑指南:
1. 先看是否成功安装了 EPEL
按照上面的安装教程,在最后安装FFmpeg前应该先安装两个源,一个是epel,一个是nux-dextop;
你可以使用 yum repolist 命令查看是否装上了这两个:
2. 如果已经成功安装了 epel 和 nux-dextop,但执行 install ffmpeg
的命令时仍然报错找不到一些依赖关系
可能是跟epel的配置有关,这时候你需要先切换到epel的配置目录:
使用命令:cd /etc/yum.repos.d/
切换到epel的配置目录;
通过 vim epel.repo 命令编辑epel.repo文件:
因为下载依赖时会通过 baseurl 或 metalink 这两个地址指向去下载,依赖找不到很可能是因为这两个下载地址有问题;
我当时出现这个问题时,发现yum是使用的epel.repo中 metalink 指定的地址去下载的,一直下载不下来某些依赖;后来我将 metalink 一行注释掉,让yum使用 baseurl 的指向去下载,就能下载下来了;
如果 baseurl 和 metalink 对于你来说都下载不下来,那你可以考虑Google一个能用的下载地址替换原来的;
总结