標籤:blog http io os 使用 ar strong for 檔案
經過一晚上加一上午的奮鬥,終於成功編譯出了最新版的FFMPEG,下面是我編譯的心得,因為是最新的,應該會對大家有用,編譯的FFMPEG的版本是0。11。2,2012-09-19新發布的版本
平台:WINDOWS XP,MinGW+MSYS
一、下載FFMPEG
大家可以到FFMPEG官網上去下載最新版:http://ffmpeg.org/download.html現在的最新版就是我編譯的版本;
其實我更喜歡下面這個地址,直接列出來所有的供下載的版本:http://ffmpeg.org/releases/
二、下載MinGW
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檔案夾下覆蓋現在的檔案;
五、在http://yasm.tortall.net/Download.html上下載yasm的exe檔案(需要根據自己的作業系統選擇是Win32.exe還Win64.exe),下載完後重新命名為yasm.exe,放到MinGW安裝目錄的bin目錄下。
如果沒有這一步操作,在後面編譯ffmpeg的過程中,可能會提示找不到yasm命令。ffmpeg裡面的彙編加速部分的代碼需要用到它,如果禁用彙編加速,會影響編譯出來的編解碼庫的運行效率
六、編譯
1、依下面步驟開啟“msys.exe”
開始-》所有程式-》MinGW-》MSys-》msys
2、開啟“VS 2008命令提示”
開始-》所有程式-》Microsoft Viusal studio 2008-》Viusal studio Tools-》Visual Studio 2008命令提示
輸入:c:\msys\1.0\msys.bat,如
不用管前面是什麼,直接輸入,然後斷行符號,之後就跳轉到下面這個介面:
輸入:lib 斷行符號
然後就得到下面的介面:
在編譯FFMPEG之前,有一個事我想提一下,如果想要支援X264編碼的話,要先安裝X264,對於如何安裝X264,在下文中有,這裡就假設已經安裝了X264
之後編譯FFMPEG的操作了,比如我下載的FFMPEG名為:ffmpeg-0.11.2,解壓到D盤下;
在上面的命令提示行下,輸入下面代碼:(括弧內為說明內容)
[cpp] view plaincopy
- cd d:
- cd ffmpeg-0.11.2 (即轉到ffmpeg-0.11.2檔案夾下)
- ./configure --enable-memalign-hack --enable-memalign-hack
等執行完成後,回到命令列,輸入
[cpp] view plaincopy
- make distclean (清理中間檔案)
- $./configure --enable-memalign-hack --enable-ffserver --enable-network --enable-protocols --enable-muxers --disable-yasm --enable-shared --enable-w32threads --enable-libx264 --enable-gpl --extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib
- make
- make install
對於以上命令,可以用./configure –-help開啟協助,裡面有解釋
完成後,所有的標頭檔、庫檔案都儲存在C:\msys\1.0\local檔案夾裡;
--extra-cflags=-I/c:/x264/include --extra-ldflags=-L/c:x264/lib 這兩句命令是將X264的標頭檔和庫檔案包含在運行程式中,不過我在運行此程式之前將.lib檔案考到了lib檔案夾下了,不知道如果不考的話會不會有影響。
這裡參考文章是:http://blog.sina.com.cn/s/blog_54b5ea250100r53o.html
下面是我編譯完成的local檔案夾裡的全部內容,供大家分享,有興趣的可以去下載;
地址:
特別鳴謝:http://ffmpeg.arrozcru.org/wiki/index.php?title=Shared_LIB
MinGW+MSYS編譯X264
一、下載最新的X264
1、地址:http://www.videolan.org/developers/x264.html,點擊左邊那個大大的按鈕“DownLoad X264”,下載時不要用搜狗自動的下載,因為我用搜狗下的總是壞的包,最好在按鈕上右擊用迅雷下載,大小有500多K;
2、因為是.tar.bz2結尾的壓縮包,常用的WINRAR不能解壓,下載7-zip,來解壓,解壓到msys的home檔案夾下
位置
二、編譯X264
1、重複上面的第六步中的“1-3”小步
2、切到X264工作目錄,然後中編譯,總體輸入以下代碼:
cd c:
cd msys
cd 1.0
cd home
cd x264
./configure--enable-win32thread --enable-shared --disable-asm
make
make install
到此,在msys的local檔案夾下會產生所需的標頭檔和DLL,但沒有.lib檔案,下面我們就用dll來提取lib檔案;
三、提取lib
1、下載工具:poxports,地址:http://download.csdn.net/detail/harvic880925/4603881
將其中的pexports.exe放到VS2008的VC\bin目錄下,我的是D:\Program Files\Microsoft VisualStudio 9.0\VC\bin,
2、將msys的local檔案夾下產生的DLL檔案同樣複製到D:\ProgramFiles\Microsoft Visual Studio 9.0\VC\bin目錄下,比如我產生的DLL名為:libx264-128.dll
3、依次點擊開始-》所有程式-》MicrosoftVisual Studio 2008-》Visual Studio Tools-》Visual Studio 2008命令提示
就此開啟了VS2008命令提示介面
輸入: (括弧內為說明內容)
cd bin (切換到bin目錄下)
pexports libx264-128.dll > libx264-128.def
lib /machine:ix86 /def:libx264-128.def
(以上內容為避免錯誤可以直接複製、粘貼到命令列)
到這應該就會在D:\ProgramFiles\Microsoft Visual Studio 9.0\VC\bin下產生libx264-128.lib檔案了,如果沒有可以重新執行下第3步,我第一次出現了個warning就沒有成功,第二次才成功的。
我將我產生的檔案上傳我資源中,不收分,想要的可以去下載:
FFMPEG(2012-9-19):http://download.csdn.net/detail/harvic880925/4604774
X264 地址:http://download.csdn.net/detail/harvic880925/4603907
[cpp] view plaincopy
windows 下FFMPEG的編譯方法 附2012-9-19發布的FFMPEG編譯好的SDK下載