若是隻是拿來使用,網上有現成的SDK。但我是想深刻研究FFMPEG代碼,又不熟悉linux開發環境,所以須要編譯一個在windos平臺下能用VS單步調試的FFMPEG,網上現有資料大部分都是基於很老的版本,不斷摸索,終於成功了。html
之因此選擇VS2013,是由於VS2013支持大部分C99的特性,不須要改動代碼,也不須要使用C99轉C89的工具。linux
MinGW和yasm是繞不過去的,由於須要使用MinGW來生成config.h,而ffmpeg的彙編語法和VS的不同,所以須要yasm。函數
具體步驟:工具
1. 下載FFMPEG源碼,下載地址:http://ffmpeg.zeranoe.com/builds/;ui
2. 下載MinGW安裝器,下載地址:http://www.mingw.org/;下載完成後安裝,安裝完成後點運行,標記上如下幾項:spa
而後在Installation菜單下點擊Apply Changes(mingw32-gcc-g++不用選擇);.net
3. 下載yasm,下載地址: http://yasm.tortall.net/ ;下載後更名爲yasm.exe,複製到C:/MinGW/msys/1.0/bin目錄下;debug
4. 配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off以後)添加一行以下內容:調試
call "D:\Program Files(x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" (依實際安裝路徑修改路徑);orm
5.重命名 C:/MinGW/msys/1.0/bin/link.exe 爲link_renamed.exe (依實際安裝選擇路徑),這一步是防止這個link.exe與vc的link.exe發生衝突,編譯完成後可修改回來;
6. 配置編譯,雙擊msys.bat,轉到FFMPEG源代碼根目錄下,可運行 ./configure --help查看編譯配置選項,我使用的選項爲:
靜態庫:./configure --enable-static --prefix=./vs2013_build --enable-debug --toolchain=msvc
動態庫:./configure --enable-shared --prefix=./vs2013_build --enable-debug --toolchain=msvc
等待配置完成返回;
7. 輸入 make all 編譯;
8. 輸入make install安裝。
完成,此時生成的頭文件及庫已經在ffmpeg源代碼下的vs2013_build目錄下,使用這個庫,便可在VS下單步進入FFMPEG函數內部。
參考資料: