win7_32下編譯FFmpeg

運行環境:  VC2010軟件;                 [附:本文所用軟件安裝包:http://download.csdn.NET/detail/sinat_36666600/9705438]php

一、下載mingw-get-setup.exe [網站:https://sourceforge.net/projects/mingw/]html

安裝步驟很簡單,一直next就行。而後把basic setup中的 「1」點右鍵選擇「make for installation」所有選擇就行。最後點擊「2」中的apply changes安裝。(注:若提示錯誤框,或關閉下圖安裝框時跳出提示,且提示的大意爲有的插件沒有安裝,則選擇「Review changes」,而後選擇「apply changes」可繼續下載安裝。直到所有安裝好,沒有任何錯誤退出最好。)windows

或參考網上的教程,再也不贅述。app

 

二、「個人電腦」右鍵「屬性」,選擇「高級系統設置」,點擊「環境變量」。在「系統變量」框中找到「Path」,點擊「編輯」,在末尾加入代碼:「C:\mingw\bin;」。(注意末尾的分號,爲英文輸入法。根據安裝的mingw的路徑而改變位置)ide

 

三、用記事本的方式打開C:\mingw\msys\1.0(其中C:\mingw爲安裝mingw的位置。從這裏也能看出,安裝了mingw後自動安裝了「msys」,從而不用本身再配置msys)目錄中的msys.bat。在最頂部位置添加以下代碼:測試

 

call "D:\Program Files\Microsoft Visual Studio 2010\VC\bin\vcvars32.bat"網站

 

 

其中,「D:\Program Files\Microsoft Visual Studio 2010」爲軟件Microsoft Visual Studio 2010的安裝路徑,根據安裝路徑的不一樣而對應更改便可。spa

效果以下圖:.net

四、下載最新版yasm.exe [網址:http://yasm.tortall.net/Download.html] 選擇「win32.exe(for general use on 32-bit windows)」根據系統的不一樣而改變。插件

爲了減小配置環境變量的麻煩,本處直接把 yasm-1.1.0-win32.exe 文件名修改爲:yasm.exe,並放到系統目錄下:C:\WINDOWS\system32。

 

五、下載最新版本的ffmpeg[網站:http://www.ffmpeg.org/download.html#get-sources] 解壓出來便可。

 

六、編譯ffmpeg:

把步驟5中的壓縮包解壓到C:\ffmpeg後。打開「C:\mingw\msys\1.0\msys.bat」文件。

輸入命令:

cd /c

cd ffmpeg

./configure --enable-memalign-hack --disable-debug

 

以上代碼意思爲:進入ffmpeg文件夾所在路徑「C:\ffmpeg」。而後「./configure --enable-memalign-hack」編譯ffmpeg,且「--enable-memalign-hack」必不可少!

一段時間後,顯示以下錯誤:

 

七、根據網站:

http://stackoverflow.com/questions/1710922/how-to-install-pkg-config-in-windows 

 

下載相應的安裝包,而後按步驟操做:

(1)下載pkg-config_0.26-1_win32.zip 

(2)解壓後把「bin」文件夾下的「pkg-config.exe」文件複製到「C:\mingw\bin」下,其他文件可刪除。(注:在別的地方下載的pkg-config壓縮文件,解壓後可能沒有pkg-config.exe文件。因此建議到此網站上下載。)

(3)下載gettext-runtime_0.18.1.1-2_win32.zip

(4)解壓後把「bin」文件夾下的「intl.dll」文件複製到「C:\mingw\bin」下,其他文件可刪除。

(5)下載glib_2.28.8-1_win32.zip

解壓後把「bin」文件夾下的「libglib-2.0-0.dll」文件複製到「C:\mingw\bin」下,其他文件可刪除。

最後,再次進行步驟6。發現沒有錯誤了,能夠運行。以下圖所示:

 

而後再進行如下兩步:

make

make install

 

「make」時會進行長時間的編譯,因此請耐心等待。最後「make install」安裝。所有完成後,可在ffmpeg文件目錄下發現「ffmpeg.exe」「ffprobe.exe」等文件,惟獨沒有「ffplay.exe」。在網上百度了下,緣由是沒有編譯SDL。

 

第二部分 —— 完整編譯:

首先,進行上面的1~5步驟,而後再進行下面的步驟:

 

一、在官網下載x264[網站:http://www.videolan.org/developers/x264.html] 

而後解壓到以前的ffmpeg目錄下C:\ffmpeg。 而後啓動C:\mingw\msys\1.0\msys.bat。輸入命令,進入到x264目錄下:

cd  /c

cd  ffmpeg

cd  x264

./configure  --enable-shared  --disable-asm

make

make  install

編譯完成後,在C:\mingw\msys\1.0\local目錄下可看到bin、include和lib文件夾,都爲x264的文件。

 

二、下載SDL,[網站:http://www.libsdl.org/download-2.0.php] 選擇其中的「SDL2-devel-2.0.5-mingw.tar.gz (MinGW 32/64-bit)」。這是已經編譯好好的SDL文件,解壓後直接拿來用就ok了。

 

將i686-w64-mingw32下的lib的全部文件複製到C:\mingw\lib;

將i686-w64-mingw32下的include的全部文件複製到C:\mingw\include;
將i686-w64-mingw32下的bin的全部文件複製到C:\mingw\bin;

 

三、最後,編譯ffmpeg。

cd  /c

cd  ffmpeg

./configure  --enable-shared  --enable-ffplay  --enable-memalign-hack  --enable-gpl  --enable-libx264  --extra-cflags=-Ic:/mingw/msys/1.0/local/include  --extra-ldflags=-Lc:/mingw/msys/1.0/local/lib

注意:「--extra-cflags=-I」以及「--extra-ldflags=-L」後的是包含了libx264.h頭文件的目錄和相關庫,根據相應的位置而改動,若不加那兩個代碼就會有以下圖的錯誤:

 

耐心等待一段時間後,再:

make

make  install

 

沒有報錯,檢查c:\ffmpeg文件,發現其中生成了「ffmpeg.exe」、「ffplay.exe」、「ffprobe.exe」等文件。

 

四、雙擊打開c:\ffmpeg目錄下的「ffplay.exe」,彈出以下錯誤提示:

 

其實這個文件就在C:\mingw\msys\1.0\local\bin目錄下。

可是打開C:\mingw\msys\1.0\local\bin目錄下的「ffplay.exe」沒有錯誤提示。將測試「h264」、「mpg」等格式的視頻直接拖入這裏面的ffplay.exe中能夠順利播放,可是沒有聲音。由於沒有加入音頻的編解碼庫。

 

 

 

 

 

注意事項

-1- 經過如下代碼編譯lame-3.97時不會有問題:

./configure --disable-shared (首選)
或    ./configure --disable-static --enable-shared
     make
     make install

但在編譯ffmpeg時加入「--enable-libmp3lame」會報錯,以下圖:

 

暫時還沒找到解決辦法。

 

若編譯最新版的lame-3.99.5,則會出現下圖錯誤:

-2- 編譯SDL時,會出現以下錯誤:

 

顯示紅色框中內容時彈出2次以下圖對話框:

 

把編譯指令改成以下,則可編譯成功:

./configure  --disable-nasm

make

make  install

 

若編譯SDL2版本,也會報錯。因此,建議使用已經編譯好的SDL2-devel-2.0.5-mingw.tar.gz這種文件,直接複製粘貼到對應文件夾便可。

相關文章
相關標籤/搜索