由於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時,開啟相應編解碼器的配置即可。