在windows下编译ffmpeg可以采用cygwin或msys+mingw两种方案,我个人比较喜欢msys+mingw方式,因为这样可以在windows下搭建一个类Unix操作系统,并且配置比cygwin要简单,因此本就是描述怎样建立msys+mingw的环境。

在windows下搭建ffmpeg编译环境在网上的文章很多,最为详细的可能是这篇文章:http://ffmpeg.arrozcru.org/wiki/index.php?title=Main_Page。但是在由于版本问题,完全按照上面的描述是通不过的。

  1. 到http://sourceforge.net/projects/mingw/files/下载最新版MinGW安装程序,我的是MinGW-5.1.6.exe
  2. 到http://sourceforge.net/projects/mingw/files/MSYS%20Base%20System/msys-1.0.11/MSYS-1.0.11.exe/download下载MSYS-1.0.11,注意当前MSYS已经是1.0.14版,但是从1.0.11版之后,就再也没有安装程序了
  3. 到http://prdownloads.sourceforge.net/mingw/coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2?download下载coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2
  4. 运行MinGW-5.1.6.exe,注意选择安装g++和make,并将安装目录指定到c:/msys/mingw,该程序将自动下载并安装mingw系统,注意此时的gcc版本为3.4.5
  5. 运行MSYS-1.0.11.exe安装msys到c:/msys目录
  6. 解压并将coreutils-5.97-MSYS-1.0.11-snapshot.tar.bz2复制到c:/msys目录下,并选择合并目录,遇到冲突文件时选择保留两份
  7. 此时基本系统应该已经建成,编写一个test.c的hello world程序应该可以编译通过并正常运行
  8. 安装工具软件:
    1. wget.exe:拷贝到c:/msys/bin目录下
    2. 到ftp://ftp.info-zip.org/pub/infozip/win32/下载unzip程序unz600xn.exe,在临时目录下运行该程序,将unzip.exe拷贝到c:/msys/bin目录下
    3. 到http://www.tortall.net/projects/yasm/wiki/Download下载yasm-0.8.0-win32.exe,拷贝到c:/msys/mingw/bin目录下并重命名为yasm.exe
  9. 安装msysgit到c:/software目录
  10. 下载x264程序:/c/software/Git/bin/git clone git://git.videolan.org/x264.git
  11. 编译x264程序:./configure --prefix=/home/yantao/cic/static,然后运行make和make install
  12. 下载AMR支持:http://sourceforge.net/projects/opencore-amr/files/opencore-amr/0.1.2/opencore-amr-0.1.2.tar.gz/download
  13. 编译:./configue --prefix=/home/yantao/cic/static --enable-static,然后make和make install
  14. 下载SDL:http://www.libsdl.org/download-1.2.php
  15. 编译:./configure --prefix=/home/yantao/cic/static --enable-static --disable-shared
  16. 此时证明当前gcc 3.4.5环境配置基本正确,但是ffmpeg必须在gcc 4以上编译才能解决dll文件可以在VC中链接及异常退出等BUG,因此需要将gcc升级到最新系统,到sourceforge
    1. 升级msys bash:从http://sourceforge.net/projects/mingw/files/下载最新版bash,这里是bash-3.1.17-2-msys-1.0.11-bin.tar.tar,利用解压工具解开,将内容拷贝到c:/msys/bin目录下
    2. 升级msys coreutil:从http://sourceforge.net/projects/mingw/files/下载最新版coreutils-bin和coreutils-ext,这里是coreutils-5.97-2-msys-1.0.11-bin.tar.tar,利用解压工具解开,将内容拷贝到c:/msys/bin目录下
    3. 升级mingw binutils
    4. 升级mingw runtime dev
    5. 升级mingw runtime dll
    6. 升级mingw win32 api
    7. 升级gcc:下载所有gcc相关的下载项,尤其是dll项目,然后解压并拷贝到c:/msys/mingw目录下
    8. 从http://sourceforge.net/projects/mingw/files/的mingw proposed目录下下载libgmp-5.0.1-1-mingw32-dll-10.tar.tar并安装
    9. 从http://sourceforge.net/projects/mingw/files/的mingw proposed目录下下载libmpc-0.8.1-1-mingw32-dll-2.tar并安装
    10. 从http://sourceforge.net/projects/mingw/files/的mingw proposed目录下下载libmpfr-2.4.1-1-mingw32-dll-1.tar并安装
    11. 下载pthreads支持libpthread-2.8.0-3-mingw32-dll-2.tar.tar
  17. 为验证升级的正确性,首先确定能够正确编译test.c,然后重新编译x264、opencore-amr、SDL
  18. 将编译好的外部库拷贝到c:/msys/mingw/include及c:/msys/mingw/lib目录下,并注意修改每个pkconfig文件中的目录,将build4_5_0/bin目录下的sdl-config拷贝到mingw/bin目录下,并修改路径为/mingw
  19. 从ftp://sources.redhat.com/pub/pthreads-win32/prebuilt-dll-2-8-0-release/lib/下载pthreads补丁:包括include目录下的*.h及lib目录下的pthreadGC2.dll,将*.h文件拷贝到c:/msys/mingw/include目录下,将pthreadGC2.dll拷贝到c:/msys/mingw/bin及c:/msys/mingw/lib,同时拷贝到c:/msys/mingw/lib并改名为pthread.dll
  20. 编译ffmpeg:首先建ffmpeg目录,然后通过TortoiseSVN从svn://svn.mplayerhq.hu/ffmpeg/trunk下载最新代码,运行./configure --prefix=/home/yantao/cic/static --enable-static --disable-shared --enable-gpl --enable-libx264 --enable-pthreads --enable-nonfree --enable-opencore-amrnb --enable-opencore-amrwb --enable-version3 --enable-memalign-hack
  21. 修改libavformat/rtsp.c的1699行,将ETIME更改为ETIMEDOUT,修改mingw/include/errno.h文件,添加#define ETIMEDOUT       60定义
  22. 在mingw/include/sched.h的152行前添加typedef long pid_t;
  23. 运行make及make install
  24. 用带有AMR-NB的3gp文件测试ffplay.exe
  25. 测试视频捕捉

windows下搭建ffmpeg环境相关推荐

  1. Lisp语言: 在Windows下搭建CLisp环境

    有关Clisp环境的搭建,有人反映说在Ubuntu上搭建很麻烦,对于习惯使用Windows环境的同学们来讲不方便,所以在这里添加一篇Windows下搭建CLisp环境的文章. 其实在Windows下搭 ...

  2. Windows下搭建PySpark环境

    Windows下搭建PySpark环境 文章目录 Windows下搭建PySpark环境 前言 方法一 安装单机版Hadoop 安装单机版Spark PySpark环境整合 方法二 测试PySpark ...

  3. 在Windows下搭建OpenCL环境

    在Windows下搭建OpenCL环境 一.AMD APP SDK介绍 二.安装AMD APP SDK 三.AMD APP SDK使用 一.AMD APP SDK介绍 AMD APP SDK是AMD提 ...

  4. 【VSCode】Windows 下搭建 Fortran 环境

    文章目录 Part.I 预备知识 Part.II 安装与配置 Chap.I 编译环境 Chap.II 插件 Part.III 测试 Chap.I 一个示例 Chap.II 注意事项 Part.I 预备 ...

  5. windows下配置ffmpeg环境变量

    1.下载ffmpeg 官方下载链接,根据自己电脑系统选择32位或者64位下载. 2.下载后解压到D盘根目录 3.在桌面上右键点击"此电脑",左键点击"属性",在 ...

  6. Windows下搭建ffmpeg+VS2008开发环境详细教程【转】

    本文转载自:http://www.voidcn.com/article/p-vxdntdgc-bkq.html 由于个人是从事音视频开发相关的工作,所以也把自己的一些过程写下来,方便大家以及自己查看, ...

  7. 针对前端初级学者,如何在windows下搭建react-native环境详细教程

    我也是自学react-native,当年到处找教程,然而最难的一步却是环境的搭建,虽然网上有很多关于环境配置的文章,但是都不够详细 所以我也是踩着坑过来的,毕竟我也只是个前端初级学者,所以我想写一篇让 ...

  8. Windows 下搭建Scratch环境

    可能是本人脸黑,为了搭建这个环境,前前后后入过很多坑. 现在做的平台已经商用了(服务器为Linux环境,现在搭建的是开发环境,也可以用WSL做开发环境),欢迎大家去踩踏: https://www.co ...

  9. vue.js+vscode+visual studio在windows下搭建开发环境

    第一步:准备工作 1.nodejs官网 http://nodejs.cn/ 下载安装包或镜像例如8.1.2版本:http://cdn.npm.taobao.org/dist/node/latest-v ...

  10. vue自学入门-1(Windows下搭建vue环境)

    本人是一个喜欢动手的程序员,先跑起来个HelloWorld,增加感性认识,这三篇入门文章,花了不到一个小时,从网上找资料,程序跑通后,整理出来的,有的新人可能去哪找资料,运行代码都不知道,分享出来,大 ...

最新文章

  1. 灰鸽子敢说自己不是病毒?
  2. MySQL——EXPLAIN和执行计划
  3. php errno 28,php7.28 编译出错 一直通不过去
  4. MSSQL 如何实现 MySQL 的 limit 查询方式【转存】
  5. 日照职业技术学院计算机怎么样,日照职业技术学院宿舍条件怎么样 住宿环境好不好...
  6. php中文歌词,html如何制作滚动歌词
  7. 文件校验和(checksum或Hash)计算工具
  8. (三)MapReducer运行流程
  9. 数据结构—B树(思维导图)
  10. struts2 中 constant标签
  11. go home(2)-supprise
  12. MIS系统开发利器,实施、维护人员自定义报表的福音,AgileEAS.NET SOA平台动态报表指南...
  13. 空间分析——SatScan软件简明教程
  14. 纯windows下制作变色龙引导安装U盘教程
  15. Aspenone.hysys.V7.1多国语言包(含中文)
  16. The summary of Java
  17. AK5357,AK5358,ES7210,ES7243,ES7241数模转换芯片
  18. DT(Detect to Track and Track to Detect)论文详读
  19. c语言作业迷宫代码,用C语言写的走迷宫的代码
  20. 《Learn python3 the hard way》ex14 Prompting and Passing

热门文章

  1. Asp.Net WebAPI传递json对象、后台手动接收参数
  2. jQuery easing动画效果扩展
  3. CKEditor设置背景图片及宽高
  4. Rxjs初体验:制作语音测试工具
  5. 51 Nod 1013 3的幂的和 矩阵链乘法||逆元+快速幂
  6. 2 抽象工厂模式(Abstract Factory)
  7. 2014年最新前端开发面试题(题目列表+答案 完整版)
  8. 无法创建新虚拟机: 无法打开配置文件“E:\vmware\Windows7.vmx”: 拒绝访问。
  9. 打造自己的Lnmp固若金汤系统
  10. uploadify 3.1 的修改