参考文档:http://blog.chinaunix.net/uid-23069658-id-4018842.html
下载所需解码器:
lame:wget http://nchc.dl.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
libogg:wget http://downloads.xiph.org/releases/ogg/libogg-1.3.2.tar.gz
libvorbis:wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.4.tar.gz
faad2:wget http://downloads.sourceforge.net/faac/faad2-2.7.tar.gz
faac:wget http://downloads.sourceforge.net/faac/faac-1.28.tar.gz
libtheora:wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.xz
vo-aacenc:wget http://mirrors.oschina.net/ubuntu/pool/universe/v/vo-aacenc/vo-aacenc_0.1.3.orig.tar.gz
xvid-core1.3.3:wget http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.gz
yasm1.2.0:wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
x264:wget ftp://ftp.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
libraw1394:wget http://ncu.dl.sourceforge.net/project/libraw1394/libraw1394/libraw1394-2.0.5.tar.gz
libdc1394:wget http://ncu.dl.sourceforge.net/project/libdc1394/libdc1394-2/2.2.1/libdc1394-2.2.1.tar.gz
fribidi:wget wget http://fribidi.org/download/fribidi-0.19.6.tar.bz2
fontconfig:wget http://www.freedesktop.org/software/fontconfig/release/fontconfig-2.11.1.tar.gz
libass:wget https://libass.googlecode.com/files/libass-0.10.2.tar.xz
librtmp:wget http://rtmpdump.mplayerhq.hu/download/rtmpdump-2.3.tgz
speex:wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
twolame:wget http://downloads.sourceforge.net/twolame/twolame-0.3.13.tar.gz
libdts:wget http://down1.chinaunix.net/distfiles/libdts-0.0.2.tar.gz
a52:wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
fdk-aac:wget http://superb-dca3.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.3.tar.gz
opencore-amr:wget http://hivelocity.dl.sourceforge.net/project/opencore-amr/opencore-amr/opencore-amr-0.1.3.tar.gz
ffmpeg 2.2.3:wget http://ffmpeg.org/releases/ffmpeg-2.2.3.tar.gz
配置PKG CONFIG路径,主要是安装libass时会出现
Package libass was not found in the pkg-config search path.
Perhaps you should add the directory containing `libass.pc‘
to the PKG_CONFIG_PATH environment variable
的错误。
[[email protected] ffmpeg]#vi /etc/profile
添加下面几行:
PKG_CONFIG=/usr/bin/pkg-config
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL JAVA_HOME JRE_HOME CLASSPATH PKG_CONFIG PKG_CONFIG_PATH #注:后面两个变量是新添加的
保存退出。
[[email protected] ffmpeg]#source /etc/profile
[[email protected] ffmpeg]#cd faac-1.28
[[email protected] ffmpeg]#./bootstrap
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
出现错误: g++: not found
解决方法:yum install gcc+ gcc-c++
make
出现错误:mpeg4ip.h:126: error: new declaration ‘char* strcasestr(const char*, const char*)’
解决方法:vim faac-1.28/common/mp4v2/mpeg4ip.h
从123行开始修改此文件mpeg4ip.h,到129行结束。
修改前:
#ifdef __cplusplus
extern "C" {
#endif
char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
修改后:
#ifdef __cplusplus
extern "C++" {
#endif
const char *strcasestr(const char *haystack, const char *needle);
#ifdef __cplusplus
}
#endif
接着安装
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd lame-3.99.5
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libogg-1.3.2
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libtheora-1.1.1
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
*** Could not run Ogg test program, checking why...
*** The test program compiled, but did not run. This usually means
*** that the run-time linker is not finding Ogg or finding the wrong
*** version of Ogg. If it is not finding Ogg, you‘ll need to set your
*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point
*** to the installed location Also, make sure you have run ldconfig if that
*** is required on your system
***
*** If you have an old version installed, it is best to remove it, although
*** you may also be able to get things to work by modifying LD_LIBRARY_PATH
configure: error:
libogg is required to build this package!
please see http://www.xiph.org/ for how to
obtain a copy.
明明安装了ogg但theora却认为咱们没安装。原因在哪里,当然是动态库的查找路径了,
我的解决办法是在 /etc/ld.so.conf.d/目录下创建一个名为local-libraries.conf的文件,内容很简单,只有一行:
/usr/local/lib
然后执行ldconfig -v
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libvorbis-1.3.4
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd vo-aacenc-0.1.3
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd xvidcore-1.3.3/build/generic
[[email protected] ffmpeg]#./configure --prefix=/usr/local/
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ../../../
[[email protected] ffmpeg]#cd yasm-1.2.0
[[email protected] ffmpeg]#./configure --prefix=/usr/local/
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd x264-snapshot-20140618-2245
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared --enable-pic
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libraw1394-2.0.5
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libdc1394-2.2.1
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libfreetype2-master
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd fribidi-0.19.6
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd fontconfig-2.11.1
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared --enable-libxml2
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libass-0.10.2
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
如果出现下面的错误:
../libass/.libs/libass.so: undefined reference to `libiconv‘
../libass/.libs/libass.so: undefined reference to `libiconv_close‘
../libass/.libs/libass.so: undefined reference to `libiconv_open‘
collect2: ld returned 1 exit status
make[2]: *** [test] Error 1
make[2]: Leaving directory `/root/tools/ffmpeg/libass-0.10.2/test‘
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/tools/ffmpeg/libass-0.10.2‘
make: *** [all] Error 2
执行下面的配置命令
[[email protected] ffmpeg]#PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ ./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd rtmpdump-2.3
[[email protected] ffmpeg]#make SYS=posix
[[email protected] ffmpeg]#make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd speex-1.2rc1
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared --enable-sse
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd twolame-0.3.13
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd libdts-0.0.2
[[email protected] ffmpeg]#./configure --prefix=/usr/local --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd a52dec-0.7.4
[[email protected] ffmpeg]#./configure --prefix=/usr/local
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd faad2-2.7
[[email protected] ffmpeg]#./configure --prefix=/usr/local --with-mp4v2 --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd amrwb-11.0.0.0
[[email protected] ffmpeg]#./configure --prefix=/usr/local --enable-shared
如果配置时出现:configure: error: You need patch utility to prepare sources.
执行下面命令
yum -y install patch
然后重新执行
./configure --prefix=/usr/local --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd amrnb-11.0.0.0
[[email protected] ffmpeg]#./configure --prefix=/usr/local --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd opencore-amr-0.1.3
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]# make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd fdk-aac-0.1.3
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-shared
[[email protected] ffmpeg]#make && make install
[[email protected] ffmpeg]#cd ..
[[email protected] ffmpeg]#cd ffmpeg-2.2.3
[[email protected] ffmpeg]#LD_LIBRARY_PATH=/usr/local/include
[[email protected] ffmpeg]#./configure --prefix=/usr/local/ --enable-gpl --enable-version3 --enable-nonfree \
--enable-shared --enable-zlib --enable-bzlib --enable-libfaac --enable-libmp3lame \
--enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libx264 \
--enable-libxvid --enable-pthreads --enable-libdc1394 --enable-libass --enable-pic \
--enable-openssl --enable-libtwolame --enable-libspeex --enable-librtmp --enable-libfreetype \
--enable-libopencore-amrnb --enable-libopencore-amrwb --enable-avisynth --enable-fontconfig \
--enable-libfdk-aac --enable-rpath --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib --extra-libs=-liconv
--extra-libs=-liconv是在出现找不到libiconv库错误时加上去的
[[email protected] ffmpeg]#make && make install
所需包可以到这里下载http://www.kuaipan.cn/file/id_157354068283490498.htm
ffmpeg2.2.3编译安装,布布扣,bubuko.com