由於FFmpeg是基於Linux開發的開源項目,源代碼和Windows下最常見的Visual Studio提供的C/C++編譯器不兼容,因此它不能使用MSVC++編譯,需要在Windows下配置一個類似Linux的編譯環境。本文主要記錄Windows下FFmpeg編譯的過程。
1.資源准備
准備編譯過程所需的軟件工具和源代碼。
(1). MinGW-MSYS Bundle http://sourceforge.net/projects/mingwbundle/
(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
2.軟件安裝
(1).MinGW+Msys編譯環境安裝
一種方法是先安裝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時,開啟相應編解碼器的配置即可。