windows下编译ffmpeg

时间:2022-04-04 17:43:37

windows 编译ffmpeg 搞过很多次,每次总是磕磕碰碰,从头到尾不能一直顺利,浪费一些时间。终究起原因,都是当时记得,过段时间就忘了。好记性不如烂笔头,大好周末晚上,闲暇无事,记录最近一次编译的整个过程,以备不时之需。

一. 安装MinGW
从google上可以搜索到MinGW安装包mingw-get-setup.exe,下载到本地磁盘,安装路径选择默认路径C:\MinGW,安装在其他的位置貌似会有问题。点击确认按钮后MinGW会下载一些安装包信息,安装包信息下载完成后等待你按continue键进入包安装界面,如下图所示:
windows下编译ffmpeg 
图1
图1是安装完成后的界面,未安装前所有方框标记都是空的,右键选择“mark for installation”即可。图一所示的安装包并不都得安装,全装也没什么大碍,多花点时间安装而已。选择好安装包后点击菜单项Installation,选择子项Applie changes进行安装。经验告诉我打开FQ软件,安装会快很多。
      二. 添加环境变量
添加一用户环境变量,:变量名为PATH,变量值为C:\MinGW\bin。重启电脑在命令终端输入gcc --version,如果返回正确说明环境配置已经配置成功,如何结果为正确一眼既能分辩。
     三. 卸载杀毒软件
为什么将删除软件单独拿出来说,原因是被它坑了很长时间。当我重启电脑运行C:\MinGW\msys\1.0目录下的脚本文件msys.bat启动MinGW终端时,发生如下错误:
windows下编译ffmpeg
图2
起初以为是安装过程中运行了某些软件导致部分文件没有成功安装。关掉所有可疑的软件,重新安装一次再次重启电脑,无果。百度一下,有遇到同样困惑的,但没见有回答的。后来在google搜索了很久,有个朋友说他也遇到了这个问题,他的解决方法是卸掉杀毒软件。当时我机器上装的杀毒软件是百度杀毒和百度卫士,而且它们都处于监控状态。结束这两进程后,再次试了下运行MinGW终端,还是出现相同的错误。那时我怀疑那位朋友说的不对,死马也要医一回,我还是将它们卸载掉,结果是everything is ok。看来杀毒软件退出后并没有彻底停止监控?盼高手能解答一下。
     四. 修改启动MinGW终端脚本
 文本方式打开msys.bat,在第一行加上
 call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\vcvars32.bat"
其实我我觉的加不加都不所谓。
    五. 将yasm-1.2.0-win32.exe 重命名为yasm.exe 放到 C:\MinGW\bin目录下,这个东西好像跟汇编有点关系。
   六. 编译ffmpeg
首先是configure,在命令行敲configure --help 可以看到很多帮助信息,教你怎么配置。
比如说你要生成动态库 配置命令为: ./cofigure  --enable-shared --prefix= /usr/local/ffmeg --prefix指定最终安装路径;比如你要编译包含x264编码的动态库: ./configure --enable--shared ./configure --enable-shared --enable-gpl --enable-libx264  --enable-version3   --enable-encoder=libx264 --extra-cflags="-I/home/wgg/include/x264" --extra-ldflags="-L/home/wgg/lib" --prefix=/home/wgg/out-2.4.3
 --extra-cflags指定x264头文件路径,--extra-ldflags指定库文件libx264.lib路径。这里是以lib的方式添加x264库,估计用linux下编译的.a,.s库也可以,具体没试过。configure过程中如出现什么错误,可以查看configure.log,在那里可以找到错误的原因,需要注意的是configure需要较长的时间不同机器时间长短不一,耐性等待就好,出错会返回错误信息。make基本不会有什么问题,仅仅只需要在命令行敲下make 按回车一切都很顺利,最后make install。编译安装的结果在prefix指定的路径。That's all!
   如有问题欢迎讨论 350197870。