若是只是拿来使用,网上有现成的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函数内部。
参考资料: