windows 編譯ffmpeg 搞過很多次,每次總是磕磕碰碰,從頭到尾不能一直順利,浪費一些時間。終究起原因,都是當時記得,過段時間就忘了。好記性不如爛筆頭,大好周末晚上,閑暇無事,記錄最近一次編譯的整個過程,以備不時之需。
一. 安裝MinGW
從google上可以搜索到MinGW安裝包mingw-get-setup.exe,下載到本地磁盤,安裝路徑選擇默認路徑C:\MinGW,安裝在其他的位置貌似會有問題。點擊確認按鈕后MinGW會下載一些安裝包信息,安裝包信息下載完成后等待你按continue鍵進入包安裝界面,如下圖所示:

圖1
圖1是安裝完成后的界面,未安裝前所有方框標記都是空的,右鍵選擇“mark for installation”即可。圖一所示的安裝包並不都得安裝,全裝也沒什么大礙,多花點時間安裝而已。選擇好安裝包后點擊菜單項Installation,選擇子項Applie changes進行安裝。經驗告訴我打開翻牆軟件,安裝會快很多。
二. 添加環境變量
添加一用戶環境變量,:變量名為PATH,變量值為C:\MinGW\bin。重啟電腦在命令終端輸入gcc --version,如果返回正確說明環境配置已經配置成功,如何結果為正確一眼既能分辯。
三. 卸載殺毒軟件
為什么將刪除軟件單獨拿出來說,原因是被它坑了很長時間。當我重啟電腦運行C:\MinGW\msys\1.0目錄下的腳本文件msys.bat啟動MinGW終端時,發生如下錯誤:

圖2
起初以為是安裝過程中運行了某些軟件導致部分文件沒有成功安裝。關掉所有可疑的軟件,重新安裝一次再次重啟電腦,無果。百度一下,有遇到同樣困惑的,但沒見有回答的。后來在google搜索了很久,有個朋友說他也遇到了這個問題,他的解決方法是卸掉殺毒軟件。當時我機器上裝的殺毒軟件是百度殺毒和百度衛士,而且它們都處於監控狀態。結束這兩進程后,再次試了下運行MinGW終端,還是出現相同的錯誤。那時我懷疑那位朋友說的不對,死馬也要醫一回,我還是將它們卸載掉,結果是everything is ok。看來殺毒軟件退出后並沒有徹底停止監控?盼高手能解答一下。
四. 修改啟動MinGW終端腳本
文本方式打開msys.bat,在第一行加上
call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
其實我我覺的加不加都不所謂。
五. 將yasm-1.2.0-win32.exe 重命名為yasm.exe 放到 C:\MinGW\bin目錄下,這個東西好像跟匯編有點關系。
六. 編譯ffmpeg
首先是configure,在命令行敲configure --help 可以看到很多幫助信息,教你怎么配置。
比如說你要生成動態庫 配置命令為: ./cofigure --enable-shared --prefix= /usr/local/ffmeg --prefix指定最終安裝路徑;比如你要編譯包含x264編碼的動態庫: ./configure --enable--shared ./configure --enable-shared --enable-gpl --enable-libx264 --enable-version3 --enable-encoder=libx264 --extra-cflags="-I/home/wgg/include/x264" --extra-ldflags="-L/home/wgg/lib" --prefix=/home/wgg/out-2.4.3
--extra-cflags指定x264頭文件路徑,--extra-ldflags指定庫文件libx264.lib路徑。這里是以lib的方式添加x264庫,估計用linux下編譯的.a,.s庫也可以,具體沒試過。configure過程中如出現什么錯誤,可以查看configure.log,在那里可以找到錯誤的原因,需要注意的是configure需要較長的時間不同機器時間長短不一,耐性等待就好,出錯會返回錯誤信息。make基本不會有什么問題,僅僅只需要在命令行敲下make 按回車一切都很順利,最后make install。編譯安裝的結果在prefix指定的路徑。That's all!
如有問題歡迎討論 350197870。
視頻地址:網盤地址:http://pan.baidu.com/s/1jH4dYN8
視頻下載地址:http://www.chungen90.com/?news_3/
Demo下載地址: http://www.chungen90.com/?news_2