網上已有不少文章在講解ffmpeg的編譯和相關codec的安裝。並更新現時SVN版ffmpeg的option。也請各位去看看各位前人的文章以作參考。
安裝環境:Fedora Core 3 & 4、CentOS5
1. MP3 支援:Lame
下載網址:http://lame.sourceforge.net/download.php
|
#tar zxvf lame-3.97.tar.gz |
2. Ogg, Vorbis支援:libogg、libvorbis
FC3和FC4應該是預設安裝了有關的library的,實際上要安裝的套件有4個:libvorbis、libvorbis-devel、libogg和libogg-devel。您可以用以下指令檢查一下有沒有。
|
#rpm -qa | grep libogg |
如果沒有的話,用yum安裝就可以了。
3. Xvid 支援:xvidcore
要讀取Xvid的影片用ffmpeg內建的就可以,但要壓成Xvid的話就要裝codec了。
下載網址:http://www.xvid.org/Downloads.43.0.html
| #tar zvxf xvidcore-1.1.2.tar.gz #cd xvidcore-1.1.2/build/generic/ #./configure --prefix=/usr #make #make install |
4. H264/AVC 支援:x264
要壓HQ1080、iPod和PSP的影片,x264是少不了的。不過要安裝x264,就需要用yasm來編譯。那就先裝個yasm吧。
yasm下載網址:http://www.tortall.net/projects/yasm/releases/yasm-0.6.0.tar.gz
| #tar xzvf yasm-0.6.0.tar.gz #cd yasm-0.6.0 #./configure --prefix=/usr/local/yasm #make #make install #export PATH="$PATH:/usr/local/yasm/bin" #vi /etc/profile --[在最後,插入]-- export PATH="$PATH:/usr/local/yasm/bin" --[存檔並關閉]-- |
跟ffmpeg一樣,x264的官網也是鼓勵大家 checkout SVN來取得最新版本。但據SupeSite在2007年5月16日的說明指出官網的x264最新版有Bug,無法正常在一些Intel的CPU上編譯安裝(甚麼雙至強、四至強CPU嘛,是指雙核和四核嗎?)。不過起碼米奇在公司的P4 2.8GHz CPU安裝沒有問題啦,所以...管它。如果您遇上問題的話,就去下載SupeSite的開發公司Comsenz的版本吧,不過先旨聲明,那個改版的授權還是不是原來的GPL就不知道了。如果您在意於授權的話,那就用SVN checkout吧,我想那問題可能在您安裝時已經修正好了。
| #svn checkout svn://svn.videolan.org/x264/trunk /usr/local/src/x264 #cd /usr/local/src/x264 #./configure --prefix=/usr --enable-shared #make #make install |
5. AC3 支援:liba52
[2007-06-09修正]現在的ffmpeg又沒附有liba52了,所以,還是自己動手裝吧...
下載網站:http://liba52.sourceforge.net/
| # tar zxvf a52dec-0.7.4.tar.gz # cd a52dec-0.7.4 # ./configure --enable-shared --prefix=/usr # make # make install |
6. MPEG4 AAC 支援:faac、faad2
faac是用來壓製AAC音軌的,而faad2就是AAC音軌的解碼器。手機鈴聲和MP4影片都是使用AAC作聲音編碼的,所以要裝這個。不過faac和faad2的官網audiocoding.com卻已經無發直接登入了。回到放在sourceforge那邊的舊版網站,也只能下載到舊版本。在sourceforge.net的專案頁是有最新的版本,但是SupeSite又說官方版有問題無法正常編譯,所以提供了他們的版本。米奇在FC3上安裝過官方版沒有問題,在FC4就因為混亂的信息而先裝了Comsenz版,執行時都沒有發現問題,只是Comsenz版的faac安裝法有點不一樣而已。無論如何,跑得動就好了。[2007-06-09修正]在CentOS5上始終還是無法安裝官方版,唯有用Comsenz版吧。[2007-10-16修正]官網audiocoding.com經已於9月重開了,而且還於日前推出了修正版的faac 1.26和faad2 2.6,米奇試過在Fedara Core 3上安裝完全沒有問題,所以還是裝個官方版吧。
另外,faac和faad2都可以配合libmp4v2來安裝,有些網站說需要先安裝libmp4v2,不過米奇就發覺只要編譯faac和faad2時加入適當參數,就可以連同libmp4v2一同安裝了。
faad2
官方版下載網址:http://downloads.sourceforge.net/faac/faad2-2.6.tar.gz
Comsenz版下載網址:http://download.discuz.net/env/video/faad2-2.5-Comsenz.tar.bz2
| #tar zxvf faad2-2.6.tar.gz (Comsenz版:tar jxvf faad2-2.5-Comsenz.tar.bz2) #cd faad2 #autoreconf -vif #./configure --prefix=/usr --with-mp4v2 --enable-shared #make #make install |
faac
官方版下載網址:http://downloads.sourceforge.net/faac/faac-1.26.tar.gz
|
#tar zxvf faac-1.26.tar.gz |
Comsenz版下載網址:http://download.discuz.net/env/video/faac-1.25-Comsenz.tar.bz2
| #tar xjvf faac-1.25-Comsenz.tar.bz2 #cd faac-Comsenz #autoreconf -vif #./configure --prefix=/usr --with-mp4v2 --enable-shared #make #make install |
要知道安裝了faac和faad2之後有沒有安裝好libmp4v的話,只要找一找/usr/lib目錄裡有沒有libmp4v2.so等一系列檔案就可以了。找不到的話,就到這裡去下載,安裝好之後再重頭安裝faac和faad2了。
7. 3GPP AMR Floating point 和 AMR-Wideband支援:libamrnb、libamrwb
3GP影片的影像是h263編碼,而聲音就用AMR-NB或AMR-WB編碼,所以要轉換手機影片,就要安裝AMR程式庫。最初坊間的安裝方式都是到3GPP官網去下載那些連名字也搞不懂的檔案來,放在ffmpeg裡的指定目錄去跟ffmpeg一同編譯的,但現在已經有人抽取了出來而成為獨立的程式庫,安裝起來就簡單得多了。
下載網址:http://www.penguin.cz/~utx/amr
| libamrnb #tar xjvf amrnb-6.1.0.3.tar.bz2 #cd amrnb-6.1.0.3 #./configure --prefix=/usr --enable-shared #make #make install |
|
libamrwb |
8. DTS 支援:libdca
ffmpeg已經內含了用來解碼DTS的libdca,所以不用安裝,也沒有要入加的參數。
9. 安裝ffmpeg
安裝完成必要的程式庫之後,終於可以動手安裝ffmpeg本體了。如果您先前曾經安裝過ffmpeg的話,就先把ffmpeg的源碼目錄刪掉,再次checkout個新版本回來安裝吧。
| #svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk /usr/local/src/ffmpeg #cd /usr/local/src/ffmpeg #./configure --prefix=/usr --enable-gpl --enable-shared --enable-libmp3lame --enable-libvorbis --enable-libamr-nb --enable-libamr-wb --enable-libxvid --enable-libx264 --enable-liba52 --enable-liba52bin --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-pp --enable-pthreads --disable-ffserver --disable-ffplay #make clean && make #make install |
經過可以去看一節動畫的時間編譯之後,你應該可以在/usr/bin目錄裡找到ffmpeg程式。輸入ffmpeg便會列出用了甚麼參數來編譯這個ffmpeg和它的版本。米奇試過用以這程序來安裝的ffmpeg來編製和解壓3GP、Xvid、mov、wmv9、msmpeg4、MPEG2+AC3音源、h264+aac音源的mkv、PSP用的MP4和FLV影片,都沒有問題,只有wmv7的影片無法解碼,相信已經對應得到大部份現時流行的影音格式了。
參考:
SupeSite 5.5 / X-Space 3.0 视频环境完整安装手册
张微波的BLOG
Danger's Blog [Flash Platform Information]--Flash 视频(FLV)编码,转换,录制,播放方案一网打尽
還有忘記了的更多更多...
引用URL : http://blog.comicparty.com/trackback.php?id=352

高手~ FFMPEG實在太難裝了.......
希望這篇文章有幫到您!
工作需要,再測試把gif圖檔轉成3gp影片.... 不知道您有沒有試過....
我有試過是一般圖檔轉影片,但沒有試過gif
用最新版的...... 反而一堆問題呀...... 大大可以提供你所有安裝成功的軟體版本嗎? 可以mail給我yita.wu@gmail.com ======================== ffmpeg.c:3938: warning: `av_set_parameters' is deprecated (declared at libavformat/avformat.h:1310) CC cmdutils.o cmdutils.c: In function `opt_default': cmdutils.c:304: warning: initialization discards qualifiers from pointer target type LD ffmpeg_g /home/voir/kennethTest/SOURCE/ffmpeg/libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_114' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1
我沒有新版的,你是用windows還是linux阿
linux ... Linux testdb 2.6.9-42.ELsmp #1 SMP Wed Jul 12 23:32:02 EDT 2006 x86_64 x86_64 x86_64 GNU/Linux
redhat可以參考 http://wsc3c.blogspot.tw/2011/08/ffmpeg-php-warning.html