网上有不少版本的ffmpeg编译指南,大部分不可用,不是连接失效,就是不符合个人应用需求。html
本身整理一份留做备份:ide
一、 下载编译环境MinGW+Msys,地址是:http://sourceforge.net/projects/mingwbundle/files/,在这个页面上点击Download下载那个zip文件。下载完成后,直接安装,不建议修改任何默认路径(如今的电脑,C盘空间都大的很)。编码
MinGW和Msys之前都是分别安装的,如今能够一次性一块儿安装。能够在线安装,也能够离线安装。推荐离线安装,上面这个连接是用来下载离线安装包的。spa
二、在http://yasm.tortall.net/Download.html上下载yasm的exe文件(须要根据本身的操做系统选择是Win32.exe还Win64.exe),下载完后重命名为yasm.exe,放到MinGW安装目录的bin目录下。操作系统
若是没有这一步操做,在后面编译ffmpeg的过程当中,可能会提示找不到yasm命令。ffmpeg里面的汇编加速部分的代码须要用到它,若是禁用汇编加速,会影响编译出来的编解码库的运行效率。.net
三、下载ffmpeg,在http://ffmpeg.org/download.html能够找到最新的版本,我下载的是http://ffmpeg.org/releases/ffmpeg-0.8.5.tar.gz。下载完成后解压到某处待命。命令行
四、经过桌面或开始菜单的快捷方式,进入MinGW的命令行,进入ffmpeg的解压目录。debug
注意:切换盘符用“cd 盘符”命令,如“cd d: ”表示切换到d盘。code
五、使用configure命令配置ffmpeg的编译参数。我配置的参数以下(仅供参考):视频
./configure --enable-shared --enable-gpl --enable-version3 --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-w32threads --disable-network --enable-memalign-hack --disable-everything --enable-decoder=h264 --enable-decoder=mpeg2video --enable-parser=h264 --enable-encoder=mpeg2video --disable-debug
经过./configure --help能够查看帮助,上面的每个参数,均可以在帮助中找到说明;
因为我仅仅须要ffmpeg用来完成MPEG2视频的编码和解码,H.264视频的解码,所以我在上面的参数中,禁用了大量我用不着的内容。一方面加快编译的速度,另一方面编译出来的库会比较小。
六、输入make进行编译。
七、编译完成后,输入make install进行部署。
若是没有修改过msys的安装路径,那么生成的文件会部署在“C:\msys\1.0\local”目录下。
生成的动态库在“msys目录\local\bin”目录下;
连接库文件在“msys目录\local\lib”目录下的,*.dll.a为动态库须要的连接文件,*.a为纯静态库(不依赖dll);修改扩展名为.lib就能够用了。
须要的头文件在“msys目录\local\include”目录下。