因爲FFmpeg是基於Linux開發的開源項目,源代碼和Windows下最多見的Visual Studio提供的C/C++編譯器不兼容,所以它不能使用MSVC++編譯,須要在Windows下配置一個相似Linux的編譯環境。本文主要記錄Windows下FFmpeg編譯的過程。php
1.資源準備html
準備編譯過程所需的軟件工具和源代碼。git
(1). MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/網絡
(2). Yasm http://yasm.tortall.net/Download.htmlide
(3). SDL http://www.libsdl.org/download-1.2.php工具
(4). X264 http://www.videolan.org/developers/x264.htmlgoogle
(5). FFmpeg http://www.ffmpeg.org/download.htmlspa
2.軟件安裝.net
(1).MinGW+Msys編譯環境安裝code
一種方法是先安裝mingw,再經過網絡下載的方法來安裝mingw和msys軟件。安裝好以後,再經過煩瑣的配置,來搭建編譯環境。另外一種直接安裝配置好的MinGW+Msys系統。爲了下降安裝過程的煩瑣程度,選擇第二種方法,安裝MinGW+Msys編譯環境。下載MinGW-MSYS Bundle軟件後,直接安裝程序,配置安裝路徑,按照軟件默認的安裝嚮導,便可把軟件安裝好。
安裝完成後,須要配置msys.bat,用於啓動相似於Linux環境的終端。若安裝完成後,安裝目標」C:\msys\1.0」下沒有msys.bat,則需添加msys.bat文件,參考:https://code.google.com/p/msysgit/source/browse/msys.bat,而後,在msys.bat首行添加命令。
call "C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/bin/vcvars32.bat"
(2).安裝Yasm
下載yasm源碼包,解壓到E:\ffmpeg1.2\yasm-1.2.0目錄。
進行yasm目錄,依次執行:
./configure –-prefix=/usr/local/yasm make make install
而後經過如下命令導入yasm環境變量。
export PATH=」$PATH:/usr/local/yasm/bin」
(3).安裝SDL
下載SDL的源碼包,解壓到E:\ffmpeg1.2\SDL-1.12.15目錄
進入SDL目錄,依次執行
./configure -–prefix=/usr/local/SDL make make install
經過如下命令導入SDL環境變量。
export PATH=」$PATH:/usr/local/SDL/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/SDL/include/SDL"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/SDL/lib」
(4).安裝x264
下載X264源代碼包,解壓到E:\ffmpeg1.2\x264
進入到x264目示,依次執行
./configure --enable-shared –-disable-asm -–prefix=/usr/local/x264 make make install
經過如下命令導入x264環境變量。
export PATH=」$PATH:/usr/local/x264/bin"
export C_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/local/x264/include"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/x264/lib」
(5).安裝FFmpeg
下載ffmpeg源代碼包,解壓到E:\ffmpeg1.2\ffmpeg1.2
進入到ffmpeg1.2目錄,依次執行
./configure –-enable-shared -–disable-static –-enable-memalign-hack --enable-libx264 --enable-gpl –-prefix=/usr/local/ffmpeg1.2 make make install
安裝完成後,可到D:\msys\1.0\local\ffmpeg1.2目錄,查看安裝結果。
注意:
若須要ffmpeg支持其餘視頻音頻編解碼器,只需下載相應源代碼,按照如下步驟安裝:
配置(./configure)--->編譯(make)--->安裝(make install)--->導入環境變量(export)。
另外,在編譯ffmpeg時,開啓相應編解碼器的配置便可。