window下编译ffmpeg



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

一. 安装MinGW
从google上可以搜索到MinGW安装包mingw-get-setup.exe,下载到本地磁盘,安装路径选择默认路径C:\MinGW,安装在其他的位置貌似会有问题。点击确认按钮后MinGW会下载一些安装包信息,安装包信息下载完成后等待你按continue键进入包安装界面,如下图所示: Windows <wbr>编译 <wbr>ffmpeg

图1
图1是安装完成后的界面,未安装前所有方框标记都是空的,右键选择“mark for installation”即可。图一所示的安装包并不都得安装,全装也没什么大碍,多花点时间安装而已。选择好安装包后点击菜单项Installation,选择子项Applie changes进行安装。经验告诉我打开翻墙软件,安装会快很多。
      二. 添加环境变量
添加一用户环境变量,:变量名为PATH,变量值为C:\MinGW\bin。重启电脑在命令终端输入gcc --version,如果返回正确说明环境配置已经配置成功,如何结果为正确一眼既能分辩。
      三. 卸载杀毒软件
为什么将删除软件单独拿出来说,原因是被它坑了很长时间。当我重启电脑运行C:\MinGW\msys\1.0目录下的脚本文件msys.bat启动MinGW终端时,发生如下错误:
Windows <wbr>编译 <wbr>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!
    如有问题欢迎加入群127903734讨论。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本系列 FFMPEG 编译文档只针对 FFMPEG 2 1 1 版本 不同版本参考本文档不一定能编 译成功 在 windows 下单纯就学习 FFMPEG 而言 可以不用编译它 因为官方提供有编译好 的库 开发者可以直接用提供的库进行学习 但官方提供的只有动态链接库 想用静态库还 是要自己编译 我用 FFMPEG 主要是在 windows 平台开发视频监控客户端和网页播放插件 以及后期手机上的播放器 我的这些 肯定要为自己的系统需求专门精简 所以也要自己编 译 先拿 windows 开刀 在这上练练手 当时哪止手 腿都练折了 也熟悉熟悉编译过程 考虑到在 windows 下基于 MinGW 编译 FFMPEG 是一个复杂 庞大的工程 为了提高初学者 的信心 我将整个编译过程作了一个分割调整 分成初级篇 中级篇和高级篇 在初级篇中 只简单的编译 FFMPEG 和它的例子程序 ffmpeg exe ffplay exe;中级篇加上常见的一些第三 方库支持 比如 H264 编码的 x264 库 AVS 编码的 xavs 库 MP3 编码的 mp3lame 库 还有 一些 AAC 编解码库等;高级篇对 FFMPEG 2 1 1 版本支持的所有第三方库 尽量全编译进去 做一个全面的支持的 FFMPEG 编译 ">本系列 FFMPEG 编译文档只针对 FFMPEG 2 1 1 版本 不同版本参考本文档不一定能编 译成功 在 windows 下单纯就学习 FFMPEG 而言 可以不用编译它 因为官方提供有编译好 的库 开发者可以直接用提供的库进行学习 但官方提供的只有动态 [更多]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值