ffmpeg2.2.3編譯安裝

來源:互聯網
上載者:User

標籤:des   class   blog   code   java   http   

參考文檔: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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.