Windows上编译ffmpeg完整过程,包括编译x264、SDL、faac。在Windows上编译ffmpeg需要用MinGW+msys,本专题用于记录编译过程中遇到的各种问题及解决方法,转载请注明出处:
一、下载准备
准备编译过程所需的工具和源码。
(1). MinGW http://sourceforge.net/projects/mingw/files/ MSYS http://downloads.sourceforge.net/mingw/MSYS-1.0.11.exe
(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
二、MinGW+MSYS安装
最新版本MinGW安装工具mingw-get-setup.exe内部已经集成了msys工具:
配置MSYS支持GCC编译:
开始安装:
安装MSYS-1.0.11.exe(我们在后面的安装过程中发现,上述安装的msys gcc版本比较低,编译SDL的时候会出错),在安装过程中会让配置已安装的MinGW路径,如:C:/MinGW:
三、yasm支持
从步骤一中将下载来的yasm可执行文件,改名为yasm.exe,放在WindowsSystem32中。
四、编译SDL
解压下载的SDL源码包,例如放到D:ffmpeg1.2SDL-1.12.15目录,msys进入SDL目录,依次执行:
./configure -–prefix=/usr/local/SDL make make install
五、编译x264
解压下载的x264源码包,例如放到D:ffmpeg1.2x264目录,msys进入x264目录,依次执行:
./configure --enable-shared –-disable-asm -–prefix=/usr/local/x264 make make install
六、重新部署环境
七、编译faac1、下载
地址是:http://sourceforge.net/projects/mingwbundle/files/,在这个页面上点击Download下载那个zip文件。下载完成后,直接安装,我使用的是默认路径。(这个文件比较大,是MinGW+MSYS的合并安装包,下载并安装后,把C:msys1.0in文件夹复制出来,备份保存);
默认路径为:C:minGW和C:msys1.0
2、配置环境变量
注意用“;”与前面的隔开
右击“我的电脑”-》属性-》高级-》环境变量
按如图操作,在PATH的编辑框最后加上C:MinGWin
三、下载MSYS
地址:http://download.csdn.net/detail/harvic880925/4602268
下载后,还是默认安装,安装前不用卸载前面第一步中安装的版本,也就是把第一步的版本给覆盖掉;
在安装结束的时候会提出DOS提示窗口:
最后一句为:
Do you wish to continue with the post install? [yn ]
输入n,结束安装。四、将在第一步中提取出来的bin文件夹内容,复制到C:msys1.0in文件夹下覆盖现在的文件;
解压下载的faac源码包,例如放到D:ffmpeg1.2faac目录,msys进入faac目录,依次执行:
./bootstrap./configure --enable-shared –-disable-static -–prefix=/usr/local/faac make make install
八、部署MinGW-w64
九、编译ffmpeg从http://jaist.dl.sourceforge.net/project/mingw-w64/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe 下载MinGW-w64,安装在C:/mingw-w64/,然后修改c:msysetcfstab文件中路径,将MinGW路径配置成:C:/mingw-w64/mingw32。
解压下载的ffmpeg0.9.0源码包,例如放到D:ffmpeg1.2ffmpeg0.9.0目录,msys进入ffmpeg目录,依次执行:
./configure --enable-shared --disable-static --enable-memalign-hack --enable-libx264 --enable-gpl --enable-nonfree --enable-libfaac --prefix=/usr/local/ffmpeg9.0
make make install