在CentOS-4.4 x86_64安裝FFmpeg (非原創(chuàng))
本文提到的安裝方式基本都是采用源代碼編譯的方式,非RPM包安裝,請讀者注意。FFmpeg軟件只是個(gè)解碼編碼軟件,如果支持多種格式必須先安裝好對應(yīng)的庫,下面就說下我裝的庫:
1. 安裝faad2
# wget http://downloads.sourceforge.net/faac/faad2-2.6.1.tar.gz
# tar xvfz faad2-2.6.1.tar.gz
# cd faad2
# ./bootstrap
# ./configure
# make
# make install
2. 安裝liba52# tar xvfz faad2-2.6.1.tar.gz
# cd faad2
# ./bootstrap
# ./configure
# make
# make install
# wget http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz
# tar xvfz a52dec-0.7.4.tar.gz
# cd a52dec-0.7.4
# ./configure
# make
# make install
3. 安裝libdirac# tar xvfz a52dec-0.7.4.tar.gz
# cd a52dec-0.7.4
# ./configure
# make
# make install
# wget http://downloads.sourceforge.net/dirac/dirac-0.10.0.tar.gz
# tar xvfz dirac-0.10.0.tar.gz
# cd dirac-0.10.0
# ./configure
# make
# make install
4. 安裝faac2# tar xvfz dirac-0.10.0.tar.gz
# cd dirac-0.10.0
# ./configure
# make
# make install
# wget http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
# tar xvfz faac-1.26.tar.gz
# cd faac
# ./bootstrap
# ./configure
# make
# make install
5. 安裝libamrnb# tar xvfz faac-1.26.tar.gz
# cd faac
# ./bootstrap
# ./configure
# make
# make install
# wget http://ftp.penguin.cz/pub/users/utx/amr/amrnb-7.0.0.2.tar.bz2
# tar xvfj amrnb-7.0.0.2.tar.bz2
# cd amrnb-7.0.0.2
# ./configure
# make
# make install
6. 安裝libamrwb# tar xvfj amrnb-7.0.0.2.tar.bz2
# cd amrnb-7.0.0.2
# ./configure
# make
# make install
# wget http://ftp.penguin.cz/pub/users/utx/amr/amrwb-7.0.0.3.tar.bz2
# tar xvfj amrwb-7.0.0.3.tar.bz2
# cd amrwb-7.0.0.3
# ./configure
# make
# make install
7. 安裝libmp3lame# tar xvfj amrwb-7.0.0.3.tar.bz2
# cd amrwb-7.0.0.3
# ./configure
# make
# make install
# wget http://downloads.sourceforge.net/lame/lame-3.97.tar.gz
# tar xzf lame-3.97.tar.gz
# cd lame-3.97
# ./configure
# make
# make install
8. 安裝libx264# tar xzf lame-3.97.tar.gz
# cd lame-3.97
# ./configure
# make
# make install
此軟件包需要用git來獲取,所以要先安裝git:
# wget http://kernel.org/pub/software/scm/git/git-1.6.2.tar.gz (地址要確認(rèn))
# tar zxvf git-1.6.2.tar.gz
# cd git-1.6.2
# ./configure
# make
# make install
然后安裝libx264# tar zxvf git-1.6.2.tar.gz
# cd git-1.6.2
# ./configure
# make
# make install
# /usr/local/bin/git clone git://git.videolan.org/x264.git x264
# cd x264
# ./configure --enable-pthread --enable-shared --disable-asm
# make
# make install
8. 安裝libnut,該軟件需要用svn獲取源代碼,svn可以直接用yum install svn來裝。先下載:# cd x264
# ./configure --enable-pthread --enable-shared --disable-asm
# make
# make install
# svn co svn://svn.mplayerhq.hu/nut/src/trunk libnut
下載后代碼保存在新建立的libnut目錄下,對于64位Linux需要修改配置文件:# cd libnut
# vi config.mak
在最后一個(gè)CFLAGS下一行增加:# vi config.mak
CFLAGS += -fPIC
然后編譯安裝:# make
# make install
9. 安裝libogg# make install
# wget http://downloads.xiph.org/releases/ogg/libogg-1.1.3.tar.gz
# tar xvf libogg-1.1.3.tar.gz
# cd libogg-1.1.3
# ./configure
# make
# make install
10. 安裝libtheora (svn獲取)# tar xvf libogg-1.1.3.tar.gz
# cd libogg-1.1.3
# ./configure
# make
# make install
# svn co http://svn.xiph.org/trunk/theora theora
# cd theora
# ./autogen.sh
# ./configure
# make
# make install
11. 安裝libvorbis# cd theora
# ./autogen.sh
# ./configure
# make
# make install
# wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.2.0.tar.gz
# tar xvfz libvorbis-1.2.0.tar.gz
# cd libvorbis-1.2.0
# ./configure
# make
# make install
12. 安裝libxvid# tar xvfz libvorbis-1.2.0.tar.gz
# cd libvorbis-1.2.0
# ./configure
# make
# make install
# wget http://downloads.xvid.org/downloads/xvidcore-1.2.1.tar.gz
# tar xvf xvidcore-1.2.1.tar.gz
# cd xvidcore-1.2.1/build/generic
# ./bootstrap.sh
# ./configure --disable-assembly
# make
# make install
# tar xvf xvidcore-1.2.1.tar.gz
# cd xvidcore-1.2.1/build/generic
# ./bootstrap.sh
# ./configure --disable-assembly
# make
# make install
上面的媒體支持庫安裝完后,可以設(shè)置下環(huán)境準(zhǔn)備編譯FFmpeg了!
13. 修改環(huán)境變量
# vi /etc/ld.so.conf
在文件末增加一行:/usr/local/lib
然后生效之:# ldconfig
14. 安裝FFmpeg可以通過svn獲取,不過文件比較大,所以特別慢:
# svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
# cd ffmpeg
也可以自己下載:# cd ffmpeg
# http://www.ffmpeg.org/releases/ffmpeg-0.5.tar.bz2
# bzip2 -d ffmpeg-0.5.tar.bz2
# tar -xf ffmpeg-0.5.tar
# cd ffmpeg-0.5
編譯(64位系統(tǒng)需要設(shè)置PKG_CONFIG_PATH參數(shù)):# bzip2 -d ffmpeg-0.5.tar.bz2
# tar -xf ffmpeg-0.5.tar
# cd ffmpeg-0.5
# export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig CFLAGS="-fPIC -m64"
# ./configure --enable-shared \
--enable-gpl \
--enable-nonfree \
--enable-postproc \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-pthreads \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-libdirac \
--enable-libfaac \
--enable-libfaad \
--enable-libfaadbin \
--enable-libmp3lame \
--enable-libnut \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-decoder=libx264 \
--enable-encoder=libx264
# make
# make install
# ./configure --enable-shared \
--enable-gpl \
--enable-nonfree \
--enable-postproc \
--enable-avfilter \
--enable-avfilter-lavf \
--enable-pthreads \
--enable-libamr-nb \
--enable-libamr-wb \
--enable-libdirac \
--enable-libfaac \
--enable-libfaad \
--enable-libfaadbin \
--enable-libmp3lame \
--enable-libnut \
--enable-libtheora \
--enable-libvorbis \
--enable-libx264 \
--enable-libxvid \
--enable-decoder=libx264 \
--enable-encoder=libx264
# make
# make install
14. 可能出現(xiàn)的錯(cuò)誤:
/usr/include/linux/videodev.h:56: error: syntax error before "ulong"
/usr/include/linux/videodev.h:72: error: syntax error before '}' token
libavdevice/v4l.c: In function `grab_read_header':
libavdevice/v4l.c:75: error: storage size of 'tuner' isn't known
libavdevice/v4l.c:133: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:140: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:75: warning: unused variable `tuner'
這可能是源代碼videodev.h不是針對次版本Linux寫的,標(biāo)準(zhǔn)C沒有ulong類型,所以要改成unsigned long/usr/include/linux/videodev.h:72: error: syntax error before '}' token
libavdevice/v4l.c: In function `grab_read_header':
libavdevice/v4l.c:75: error: storage size of 'tuner' isn't known
libavdevice/v4l.c:133: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:140: error: invalid application of `sizeof' to incomplete type `video_tuner'
libavdevice/v4l.c:75: warning: unused variable `tuner'
15. 運(yùn)行ffmpeg -formats,可能出的錯(cuò)誤:
ffmpeg: error while loading shared libraries: libavfilter.so.0: cannot open shared object file: No such file or directory
這事沒有設(shè)置環(huán)境路徑造成了,增加一個(gè)ffmpeg.conf配置文件:# cd /etc/ld.so.conf.d
# vi ffmpeg.conf
在文件內(nèi)寫上:# vi ffmpeg.conf
/usr/local/lib
然后確認(rèn)生效:# ldconfig
16. 其他:本文中沒有提到libgsm的安裝,請參考下面的資料。
參考資料:
64bit版Linuxでのffmpegの環(huán)境構(gòu)築(for CentOS5.3)
posted on 2009-06-03 13:52 Terry Lee 閱讀(1827) 評論(1) 編輯 收藏 所屬分類: CentOS 、Video