網上有不少版本的ffmpeg編譯指南,大部分不可用,不是連接失效,就是不符合個人應用需求。html
本身整理一份留做備份:ide
一、 下載編譯環境MinGW+Msys,地址是:http://sourceforge.net/projects/mingwbundle/files/,在這個頁面上點擊Download下載那個zip文件。下載完成後,直接安裝,不建議修改任何默認路徑(如今的電腦,C盤空間都大的很)。編碼
MinGW和Msys之前都是分別安裝的,如今能夠一次性一塊兒安裝。能夠在線安裝,也能夠離線安裝。推薦離線安裝,上面這個連接是用來下載離線安裝包的。spa
二、在http://yasm.tortall.net/Download.html上下載yasm的exe文件(須要根據本身的操做系統選擇是Win32.exe還Win64.exe),下載完後重命名爲yasm.exe,放到MinGW安裝目錄的bin目錄下。操作系統
若是沒有這一步操做,在後面編譯ffmpeg的過程當中,可能會提示找不到yasm命令。ffmpeg裏面的彙編加速部分的代碼須要用到它,若是禁用匯編加速,會影響編譯出來的編解碼庫的運行效率。.net
三、下載ffmpeg,在http://ffmpeg.org/download.html能夠找到最新的版本,我下載的是http://ffmpeg.org/releases/ffmpeg-0.8.5.tar.gz。下載完成後解壓到某處待命。命令行
四、經過桌面或開始菜單的快捷方式,進入MinGW的命令行,進入ffmpeg的解壓目錄。debug
注意:切換盤符用「cd 盤符」命令,如「cd d: 」表示切換到d盤。code
五、使用configure命令配置ffmpeg的編譯參數。我配置的參數以下(僅供參考):視頻
./configure --enable-shared --enable-gpl --enable-version3 --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-w32threads --disable-network --enable-memalign-hack --disable-everything --enable-decoder=h264 --enable-decoder=mpeg2video --enable-parser=h264 --enable-encoder=mpeg2video --disable-debug
經過./configure --help能夠查看幫助,上面的每個參數,均可以在幫助中找到說明;
因爲我僅僅須要ffmpeg用來完成MPEG2視頻的編碼和解碼,H.264視頻的解碼,所以我在上面的參數中,禁用了大量我用不着的內容。一方面加快編譯的速度,另一方面編譯出來的庫會比較小。
六、輸入make進行編譯。
七、編譯完成後,輸入make install進行部署。
若是沒有修改過msys的安裝路徑,那麼生成的文件會部署在「C:\msys\1.0\local」目錄下。
生成的動態庫在「msys目錄\local\bin」目錄下;
連接庫文件在「msys目錄\local\lib」目錄下的,*.dll.a爲動態庫須要的連接文件,*.a爲純靜態庫(不依賴dll);修改擴展名爲.lib就能夠用了。
須要的頭文件在「msys目錄\local\include」目錄下。