首先要安装各种解码器
1、lame lame-3.99.5.tar.gz Url:http://sourceforge.net/project/showfiles.php?group_id=290&package_id=309 wget http://sourceforge.net/projects/lame/files/latest/download?source=files tar -zxvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --enable-shared make make install cd ../2、libogg
libogg-1.3.1.tar.gz Url:http://www.xiph.org/downloads/ wget 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 cd ../3、libvorbis
libvorbis-1.3.4.tar.gz Url:http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz (libvorbis依赖于libogg, 所以libogg必须先于libvorbis安装)wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
tar -zxvf libvorbis-1.3.4.tar.gz cd libvorbis-1.3.4 ./configure make make install cd ../4、xvid
xvidcore-1.3.2.tar.gz Url:http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz wget http://downloads.xvid.org/downloads/xvidcore-1.3.2.tar.gz tar -zxvf xvidcore-1.3.2.tar.gz cd xvidcore cd build/generic/ ./configure make make install cd ../../../5、x264
latest_x264.tar.bz2 (其中包含的目录是 x264-snapshot-20141218-2245) Url:http://www.videolan.org/developers/x264.htmlwget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
tar -jxvf last_x264.tar.bz2 cd x264-snapshot-20141218-2245/ ./configure 出现如下的报错, Found no assembler Minimum version is yasm-1.2.0 If you really want to compile without asm, configure with --disable-asm. 这个时候需要先安装yasm cd ../ wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz tar -zxvf yasm-1.2.0.tar.gz cd yasm-1.2.0 ./configure make make install cd ../ cd x264-snapshot-20141218-2245/ ./configure make make install cd ../6、libdts
libdca-0.0.5.tar.bz2 Url: http://www.videolan.org/developers/libdca.htmlwget http://download.videolan.org/pub/videolan/libdca/0.0.5/libdca-0.0.5.tar.bz2
tar -jxvf libdca-0.0.5.tar.bz2 cd libdca-0.0.5 ./configure make make install cd ../7、a52
a52dec-0.7.4.tar.gz (这个库从2002年就没有更新过了) http://liba52.sourceforge.net/downloads.htmlwget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz (这个需要FQ才能下载)
现在的做法是,通过chrome浏览器下载后,再rz到服务上: 浏览器下载的地址为:http://liba52.sourceforge.net/downloads.html tar -zxvf a52dec-0.7.4.tar.gz cd a52dec-0.7.4 ./configure make make install cd ../8、faad2
faad2-2.7.tar.gz (要选择这个扩展名的文件) http://www.audiocoding.com/downloads.htmlwget http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz
tar -zxvf faad2-2.7.tar.gz cd faad2-2.7 autoreconf -vif 出现这样的错误 [root@Csss faad2-2.7]# autoreconf -vif autoreconf: Entering directory `.' autoreconf: configure.in: not using Gettext autoreconf: running: aclocal --force autoreconf: configure.in: tracing autoreconf: configure.in: not using Libtool autoreconf: running: /usr/bin/autoconf --force configure.in:14: error: possibly undefined macro: AC_PROG_LIBTOOL If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. autoreconf: /usr/bin/autoconf failed with exit status: 1 出现这样的错误,解决办法: yum install libtool 继续安装: autoreconf -vif ./configure --with-mp4v2 --enable-shared 出现了如下的错误: configure: WARNING: unrecognized options: --with-mp4v2 解决办法,通过./configure --help 查看并没有--with-mp4v2 这个编译参数,找到一个类似的--with-mpeg4ip; ./configure --with-mpeg4ip --enable-shared (编译成功) make make install cd ../9、faac
faac-1.28.tar.gz (要选择这个扩展名的文件) http://www.audiocoding.com/downloads.htmlwget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
tar zxvf faac-1.28.tar.gz
cd faac-1.28
./bootstrap ./configure make make install 安装出现如下的错误: make[2]: Leaving directory/software/faac-1.28/libfaac' Making all in common make[2]: Entering directory
/software/faac-1.28/common' Making all in mp4v2 make[3]: Entering directory /software/faac-1.28/common/mp4v2' g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include -Wall -g -O2 -MT 3gp.o -MD -MP -MF .deps/3gp.Tpo -c -o 3gp.o 3gp.cpp In file included from mp4common.h:29, from 3gp.cpp:28: mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’ /usr/include/string.h:369: error: ambiguates old declaration ‘const char* strcasestr(const char*, const char*)’ make[3]: *** [3gp.o] Error 1 make[3]: Leaving directory
/software/faac-1.28/common/mp4v2' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /software/faac-1.28/common' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory
/software/faac-1.28' make: *** [all] Error 2 根据提示信息,解决办法是: vim /software/faac-1.28/common/mp4v2/mpeg4ip.h 126删除掉 然后再执行如下的命令: make clean make make install cd ../ 10、amr-nb
amrnb-10.0.0.0.tar.bz2 http://ftp.penguin.cz/pub/users/utx/amr/ ( 该链接已经forbidden 了 ) 重新找了一个连接,需要FQ才可以下载; https://code.google.com/p/ostube/downloads/detail?name=amrnb-10.0.0.0.tar.bz2&can=2&q=amrnb 我是通过浏览器下载,然后再传到服务器上; tar -jxvf amrnb-10.0.0.0.tar.bz2 cd amrnb-10.0.0.0 ./configure make 出现报错,连接服务器进行下载26104-a00.zip;显示连接不上服务器,还是需要用浏览器下载,然后传到服务器上; 26104-a00.zip 下载地址为 https://code.google.com/p/ostube/downloads/detail?name=26104-a00.zip&can=2&q=26104-a00.zip 下载完成之后,将此压缩包放到跟make同一级的目录中 继续安装: make make install cd ../11、amr-wb
https://code.google.com/p/ostube/downloads/detail?name=amrwb-10.0.0.0.tar.bz2&can=2&q=amrwb (该地址可以下载)tar -jxvf amrwb-10.0.0.0.tar.bz2
cd amrwb-10.0.0.0 ./configure make make出现如下的报错: make ./26204-a00_ANSI-C_source_code.zip make[1]: Entering directory `/software/amrwb-10.0.0.0' cd . && /usr/bin/wget -N http://ostube.googlecode.com/files/26204-a00.zip --2015-02-08 20:44:09-- http://ostube.googlecode.com/files/26204-a00.zip Resolving ostube.googlecode.com... 74.125.203.82, 2404:6800:4008:c07::52 Connecting to ostube.googlecode.com|74.125.203.82|:80... ^Cmake[1]: *** [26204-a00.zip] Interrupt make: *** [readme.txt] Interrupt 根据报错信息,解决办法: https://code.google.com/p/ostube/downloads/detail?name=26204-a00.zip&can=2&q=26204-a00.zip 通过这个地址下载26204-a00.zip压缩包传到跟make同一级目录; 继续安装 make make install cd ../12、最后一步,安装ffmpeg
wget http://www.ffmpeg.org/releases/ffmpeg-2.5.3.tar.gz./configure --enable-shared --prefix=/usr/local/ffmpeg2 --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
编译这条语句出错,去掉三个参数,可以成功编译;
./configure --enable-shared --prefix=/usr/local/ffmpeg2 --enable-libmp3lame --enable-libvorbis --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-libfaac --enable-libxvid --enable-postproc --enable-ffserver --enable-ffplay
才可以编译通过 make make install测试报错:
[root@C21318 ffmpeg-2.5.3]# /usr/local/ffmpeg2/bin/ffmpeg --help /usr/local/ffmpeg2/bin/ffmpeg: error while loading shared libraries: libavdevice.so.56: cannot open shared object file: No such file or directory好的参考文章
http://www.fanjun.me/?tag=centos