專題:Windows編譯x264、SDL、faac、ffmpeg過程
Windows上編譯ffmpeg完整過程,包括編譯x264、SDL、faac。在Windows上編譯ffmpeg需要用MinGW+msys,本專題用于記錄編譯過程中遇到的各種問題及解決方法,轉載請注明出處:
一、下載準備
準備編譯過程所需的工具和源碼。
(1). MinGW http://sourceforge.net/projects/mingw/files/ MSYS http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
(2). Yasm http://yasm.tortall.net/Download.html
(3). SDL http://www.libsdl.org/download-1.2.php
(4). X264 http://www.videolan.org/developers/x264.html
(5). FFmpeg http://www.ffmpeg.org/download.html
二、MinGW+MSYS安裝
最新版本MinGW安裝工具mingw-get-setup.exe內部已經集成了msys工具:
配置MSYS支持GCC編譯:
開始安裝:
安裝MSYS-1.0.11.exe(我們在后面的安裝過程中發現,上述安裝的msys gcc版本比較低,編譯SDL的時候會出錯),在安裝過程中會讓配置已安裝的MinGW路徑,如:C:/MinGW:
三、yasm支持
從步驟一中將下載來的yasm可執行文件,改名為yasm.exe,放在Windows\System32中。
四、編譯SDL
解壓下載的SDL源碼包,例如放到D:\ffmpeg1.2\SDL-1.12.15目錄,msys進入SDL目錄,依次執行:
./configure -–prefix=/usr/local/SDL make make install
五、編譯x264
解壓下載的x264源碼包,例如放到D:\ffmpeg1.2\x264目錄,msys進入x264目錄,依次執行:
./configure --enable-shared –-disable-asm -–prefix=/usr/local/x264 make make install
六、重新部署環境
1、下載
地址是:http://sourceforge.net/projects/mingwbundle/files/,在這個頁面上點擊Download下載那個zip文件。下載完成后,直接安裝,我使用的是默認路徑。(這個文件比較大,是MinGW+MSYS的合并安裝包,下載并安裝后,把C:\msys\1.0\bin文件夾復制出來,備份保存);
默認路徑為:C:\minGW和C:\msys\1.0
2、配置環境變量
注意用“;”與前面的隔開
右擊“我的電腦”-》屬性-》高級-》環境變量
按如圖操作,在PATH的編輯框最后加上C:\MinGW\bin
三、下載MSYS
地址:http://download.csdn.net/detail/harvic880925/4602268
下載后,還是默認安裝,安裝前不用卸載前面第一步中安裝的版本,也就是把第一步的版本給覆蓋掉;
在安裝結束的時候會提出DOS提示窗口:
最后一句為:
Do you wish to continue with the post install? [yn ]
輸入n,結束安裝。四、將在第一步中提取出來的bin文件夾內容,復制到C:\msys\1.0\bin文件夾下覆蓋現在的文件;
七、編譯faac
解壓下載的faac源碼包,例如放到D:\ffmpeg1.2\faac目錄,msys進入faac目錄,依次執行:
./bootstrap./configure --enable-shared –-disable-static -–prefix=/usr/local/faac make make install
八、部署MinGW-w64
從http://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe 下載MinGW-w64,安裝在C:/mingw-w64/,然后修改c:\msys\etc\fstab文件中路徑,將MinGW路徑配置成:C:/mingw-w64/mingw32。
九、編譯ffmpeg
RFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成解壓下載的ffmpeg0.9.0源碼包,例如放到D:\ffmpeg1.2\ffmpeg0.9.0目錄,msys進入ffmpeg目錄,依次執行:
./configure --enable-shared --disable-static --enable-memalign-hack --enable-libx264 --enable-gpl --enable-nonfree --enable-libfaac --prefix=/usr/local/ffmpeg9.0make make install