找了好多資料,把自己的編譯成功過程詳細敘述,以避免后來者可以少浪費點時間。
1.安裝MSys
到http://sourceforge.net/project/showfiles.php?group_id=2435下載文件:
bash-3.1-MSYS-1.0.11-tar.bz2
msysCORE-1.0.11-2007.01.19-1.tar.bz2
msysCORE-1.0.11-2007.01.19-1.tar.bz2下載鏈接:
http://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=nchc&filename=msysCORE-1.0.11-2007.01.19-1.tar.bz2&39247800
bash-3.1-MSYS-1.0.11-tar.bz2下載鏈接:
http://sourceforge.net/project/downloading.php?group_id=2435&use_mirror=nchc&filename=bash-3.1-MSYS-1.0.11-1.tar.bz2&93684193
解壓msysCORE-1.0.11-2007.01.19-1.tar.bz2,比如解壓到D:/msys(以下內容都使用該路徑描述)。
解壓bash-3.1-MSYS-1.0.11-tar.bz2,產生一個名為bash-3.1的目錄,在該目錄下有一個子目錄名為bin,其?他?? 的目錄不需要關心。復制bin目錄中的所有文件到D:/msys/bin,提示是否要覆蓋sh.exe的時候,選擇是。
到“D:/msys/postinstall”目錄下執行pi.bat,在出現的提示中輸入n回車后,按任意鍵退出即可。 如果你不輸入N的話就輸入兩次Y,最后把c:/msys/mingw 輸入即可 。如果輸入N的話,要打開D:/msys/etc/fstab.sample把它重命名為fstab 并用nodepad打開編輯,把c:/mingw? /mingw 改成d:/msys/mingw即可。最后配置PATH,在系統的環境配置中添加d:/msys/bin。
2.安裝MinGW
同樣是到http://sourceforge.net/project/showfiles.php?group_id=2435下載文件:
binutils-2.17.50-20060824-1.tar.gz
gcc-core-3.4.5-20060117-1.tar.gz
gcc-g++-3.4.5-20060117-1.tar.gz
w32api-3.9.tar.gz
mingw-runtime-3.12.tar.gz
把它們全部解壓到D:/msys/mingw。
或者直接下載MinGW.exe文件 下載好按步驟安裝,選擇安裝的組件最好都選上啦。不過安裝目錄一定要選擇d:/msys/mingw 別的路徑它找不到。
3.修改“msys.bat”
用文本編輯器打開D:/msys/msys.bat, 安裝微軟的Visual Studio或是Visual C++。把下面一行加到msys.bat的最前面,把路徑替換成機器上vcvars32.bat實際存在的路徑,比如我的在“c:/Program Files/Microsoft Visual Studio .NET 2005/Vc/bin”,于是就添加:
call "c:/Program Files/Microsoft Visual Studio .NET 2005/Vc/bin/vcvars32.bat"
4.svn
http://tortoisesvn.net/downloads下載TortoiseSVN,安裝好之后,在d:/ffmpeg右擊,選擇SVN check out,
第一行目錄選擇svn://svn.mplayerhq.hu/ffmpeg/trunk 然后確定。這樣就得到最新的SVN。
但由于SVN只針對UNIX系統做的。所以無法GCC對最新的SVN編譯。會報錯:192 PR command not found.
解決方法一:不用最新的SVN版本。因為即使用了最新的MinGW5.1.exe還是有這樣的錯誤。 windows下還是無法編譯最新的SVN代碼。我這有07年3月的版本是可以用的。需要的可以索要。
解決方法二:下載
? | coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2 ?Mirror |
并且解壓縮出來,把bin下的內容拷貝到MSYS下,因為MSYS缺少COREUTILS所以報錯 PR command not found。
改完后你會發現可以編譯了,但是make的時候又出錯了。怎么辦呢?去sourceforge網站上下載make-3.81-MSYS-1.0.11-2.tar.bz2,替換掉原來的make.exe文件即可 (搜索了一天時間,提供出來免得大家走歪路!)
這樣就可以用最新的SVN版本來進行編譯了。
5.測試
打開msys.bat,輸入cd空格/d/ffmpeg,路徑變化后,然后輸入./configure空格--enable-memalign-hack,回車!
如果不報錯,那么再輸入make.
6.第三方插件
根據以上5個步驟就已經可以得到ffmpeg.exe了,但沒有加入聲音,以及對其他格式支持的也不夠好。
現在開始加入lame,就是聲音。到http://oss.netfarm.it/mplayer-win32.php下載已經編譯的mp3lame庫(可以向我索要),解壓出來后分別拷貝到你安裝好的mingw目錄下的相對目錄里。在傳遞配置參數時要加入“--enable-libmp3lame” ,即使用以下命令配置:
./configure --enable-static --disable-shared --enable-memalign-hack --enable-libmp3lame
然后加入mp4的格式的支持:
然后加入3GP的支持:
編譯的時候加上--enable-amr_nb --enable-amr_wb參數就行,根據編譯系統的提示,所以我們得下載一
些編譯3gp所需得文件。
http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
解壓以后把里面的文件都拷貝到libavcodec/amrwb_float
http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip
解壓以后把里面的文件都拷貝到libavcodec/amr_float
注釋:
????????