CentOS下yum安装FFmpeg

分类:CentOS教程 阅读:77616 次

一、yum安装FFmpeg

1.最偷懒的方式就是yum安装了,自动解决依赖。不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置/etc/yum.repos.d/dag.repo:

2.在线安装FFmpeg

二、编译安装FFmpeg

yum安装FFmpeg比源码编译安装省时省力,但缺点也很明显,版本过老,为0.6.5版,最新版已为2.6.3,新旧版很多参数有所差异,旧版支持的格式也没有新版丰富。

源码编译安装FFmpeg非常需要耐心,每添加一种需要支持的格式就需要有相应的多媒体格式开发库。文中所使用的软件版本皆为最新版。

1. 安装autoconf

2.安装automake

3.安装libtool(FAAC需要)

4.安装yasm支持汇编优化(FFmpeg需要)

5.添加动态链接库配置

6.安装MP3支持库LAME

7.安装AAC支持库FAAC

make时报错:mpeg4ip.h:126: 错误:对‘char* strcasestr(const char*, const char*)’的新声明

需要修改common/mp4v2/mpeg4ip.h第123行至129行内容:

修改为:

8. 安装AMR支持库opencore-amr

9.安装通用音乐音频编码格式支持库libvorbis

10.安装x264库支持H.264视频转码

11.安装Xvid库支持MPEG-4转码

12.安装Theora视频压缩支持库

13.安装NUT支持库

安装时64位Linux系统需要修改文件config.mak

在最后一个CFLAGS下一行增加:

CFLAGS += -fPIC

否则安装FFmpeg make时报错:

/usr/local/lib/libnut.a: could not read symbols: Bad value

14.安装VP8/VP9编解码支持库

15.安装FFmpeg最新版

16.安装segmenter

三、编译安装注意事项

1.可能发现编译FFmpeg或者其他支持库时,即使相关的所有依赖也编译安装上了,仍然make报错,主要的原因还是由于依赖的库版本冲突,编译时调用的是yum安装时自动下载安装的旧版本依赖库。此时的方法就是卸掉所有yum安装的旧版本FFmpeg和相关的依赖软件包或者重新找台新的纯净的系统重新开始安装,或者使用Ubuntu Server最新版,一般Ubuntu Server最新版FFmpeg版本还是比较新的,直接执行命令sudo apt-get install ffmpeg会自动安装FFmpeg和相关依赖。

2.有爱专研的或者受制于手头无多余机器的,只能老老实实得卸载旧软件,从头开始编译安装。如何去除旧版本yum安装的相关软件。我们可以借助yum deplist命令先找出所有相关软件包,然后卸载除了公共软件包外的所有软件包。此方法也适用于安装其它软件时遇到类似同样的问题。

图示:

CentOS下yum安装FFmpeg

从中挑出非公共软件包的软件包名卸载: