Home » ffmpeg » Centos下安装ffmpeg

Centos下安装ffmpeg

以前能也安装ffmpeg来处理视频,但一直没有留下什么文档,害得这边配置又得从头从网上找资料来看。
所以把本地的记录下来,以方便以后使用和学习。主要是找各种解码器发费了一些时间。
本次安装的主要目地是将pcm音频文件转换为amr文件格式。

首先安装各种解码器
1、lame
lame-3.99.tar.gz
Url:https://nchc.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.tar.gz
以下是关于LAME的简介
LAME是一款MP3编码引擎、压缩程序,原为DOS下文件,需要加外壳程序才比较容易使用,也可以在别的软件(比如EAC)中间调用。LAME使用心理音响模型技术,保证了CD音频还原的真实性,配合VBR和ABR参数,音质几乎可以媲美CD音频;LAME编码出来的MP3音色纯厚、空间宽广、低音清晰、细节表现良好。
安装方法如下:

tar -zxvf lame-3.99.tar.gz
  
cd lame-3.99


  
./configure --enable-shared   
make  
make install  
  • 1
  • 2
  • 3
  • 4
  • 5

2、libogg
libogg-1.3.2.tar.gz
Url:http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
安装方法如下:

tar -zxvf libogg-1.3.2.tar.gz
  
cd libogg-1.3.2


 
./configure  
make  
make install 
  • 1
  • 2
  • 3
  • 4
  • 5

3、libvorbis
libvorbis-1.3.3.tar.gz
Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.3.tar.gz
(libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)
安装方法如下:


./configure
make
make install  
  • 1
  • 2
  • 3

4、xvid
xvidcore-1.3.3.tar.gz
Url:http://www.linuxfromscratch.org/blfs/view/svn/multimedia/xvid.html
Xvid介绍
Xvid(旧称为DIVX)是一个开放源代码的MPEG-4视频编解码器,它是基于OpenDivX而编写的。Xvid是由一群原OpenDivX义务开发者在OpenDivX于2001年7月停止开发后自行开发的。Xvid支持多种编码模式,量化(Quantization)方式和范围控,运动侦测(Motion Search)和曲线平衡分配(Curve)等众多编码技术,对用户来说功能十分强大。Xvid的主要竞争对手是DivX。但Xvid是开放源代码的,而DivX则只有免费(不是自由)的版本和商用版本。
安装方法如下:

tar -zxvf xvidcore-1.3.3


.tar.gz
cd xvidcore
cd build/generic &&
sed -i 's/^LN_S=@LN_S@/& -f -v/'platform.inc.in
 &&
./configure --prefix=/usr &&

make
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5、x264
last_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20131023-2245)
Url:http://www.videolan.org/developers/x264.html
ftp://ftp.videolan.org/pub/videolan/x264/snapshots/
如果以下两个地直都还是下载不了,直接在http://vdisk.weibo.com/s/F1ERC3hH2nlx3在这里下载
H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,运动图像专家组)联合制定的视频编码标准。而x264是一个开源的H.264/MPEG-4 AVC视频编码函数库[1] ,是最好的有损视频编码器。
安装方法如下:

tar -jxvf last_x264.tar.bz


2
./configure 
make 
make install 
  • 1
  • 2
  • 3
  • 4

6、libdts
libdca-0.0.5.tar.bz2
Url: http://www.videolan.org/developers/libdca.html(地址打不开)
直接csdn下载: http://download.csdn.net/download/halluca/8837991
libdts介绍
解码器,可以解DVD DTS Audio 格式的文件
安装方法:


./configure  
make
make install 
  • 1
  • 2
  • 3

7、a52
a52dec-0.7.4.tar.gz(这个库从2002年就没有更新过了)
http://liba52.sourceforge.net/downloads.html
安装方法:


./configure  
make
make install
  • 1
  • 2
  • 3

8、faad2
faad2-2.7.tar.gz
地址: http://www.audiocoding.com/downloads.html
安装方法


./configure  
make
make install
  • 1
  • 2
  • 3

9、faac
faac-1.28.tar.gz
http://www.audiocoding.com/downloads.html
安装方法:


./configure  
make
make install 
  • 1
  • 2
  • 3

10、amr-nb
amrnb-6.1.0.tar.bz2
地址:http://ftp.penguin.cz/pub/users/utx/amr/
安装方法:


./configure  
make
make install 
  • 1
  • 2
  • 3

11、amr-wb
amrwb-11.0.0.0.tar.bz2
地址: http://ftp.penguin.cz/pub/users/utx/amr/
安装方法:


./configure
make
make install 
  • 1
  • 2
  • 3

12、安装ffmpeg
wget http://www.ffmpeg.org/releases/ffmpeg-3.1.tar.gz

tar -zxvf ffmpeg-3.1.tar.
gz
cd ffmpeg-3.1
./configure --prefix=/usr/local/ffmpeg3 --enable-libmp3lame--enable-libvorbis--enable-gpl--enable-version3--enable-nonfree--enable-pthreads--enable-libfaac--enable-libopencore-amrnb--enable-libopencore-amrwb--enable-libx264--enable-libxvid--enable-postproc--enable-ffserver--enable-ffplay



make 
make install 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

提示: ERROR: libx264 must be installed and version must be >= 0.118.
没有找到大于0.118的版本。只能选择去掉暂时去掉了–enable-libx264

./configure --prefix=/usr/local/ffmpeg3 --enable-libmp3lame--enable-libvorbis--enable-gpl--enable-version3--enable-nonfree--enable-pthreads--enable-libfaac--enable-libopencore-amrnb--enable-libopencore-amrwb--enable-libxvid--enable-postproc--enable-ffserver--enable-ffplay
  • 1

安装时间时间有点儿长……

最后 检查安装是否成功
/usr/local/ffmpeg3/bin/ffmpeg –version

报错如下
/usr/local/ffmpeg3/bin/ffmpeg: error while loading shared libraries: libxvidcore.so.4: cannot open shared object file: No such file or directory

提示库文件找不到。
修改文件/etc/ld.so.conf 内容增加/usr/local/ffmpeg/lib/

vi /etc/ld.so.conf

include ld.so.conf.d/*.conf
/usr/local/ffmpeg/lib
保存退出之后 ,执行
ldconfig
使修改生效

执行 /usr/local/ffmpeg3/bin/ffmpeg –version

显示如下:
libavutil 55. 27.100 / 55. 27.100
libavcodec 57. 48.101 / 57. 48.101
libavformat 57. 40.101 / 57. 40.101
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 46.102 / 6. 46.102
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 1.100 / 2. 1.100
libpostproc 54. 0.100 / 54. 0.100

配置环境变量path
执行 export PATH=/usr/local/ffmpeg3/bin/:$PATH
执行 env
则在任何目录都可以执行 ffmpeg –version

测试pcm转amr文件命令
ffmpeg -i test.pcm -f amr test.amr //失败
提示:test.pcm: Invalid data found when processing input

将pcm替换为wav的文件并大小并没有改变 //成功
ffmpeg -f s16le -ar 44.1k -ac 2 -i file.pcm file.wav

将pcm格式转换为mp3大小明显下降 //成功
ffmpeg -f s16le -ar 44.1k -ac 2 -i file.pcm file.mp3

ffmpeg -f s16le -ar 44.1k -ac 2 -i file.pcm file.amr //失败
提示错误如下:
Error while opening encoder for output stream #0:0 – maybe incorrect parameters such as bit_rate, rate, width or height