因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容

http://blog.csdn.net/finewind/article/details/38854517

1.下载FFMPEG源码 https://ffmpeg.zeranoe.com/builds/

2.安装MinGW http://www.mingw.org/

然后在Installation菜单下点击Apply Changes(mingw32-gcc-g++不用选择)

3.下载yasm http://yasm.tortall.net/  下载后改名为yasm.exe,复制到C:/MinGW/msys/1.0/bin目录下

4.配置C:/MinGW/msys/1.0/msys.bat,在此文件的最前面(@echo off之后)添加一行如下内容(依实际安装路径修改路径):

call "D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\vcvars32.bat"

5.重命名 C:/MinGW/msys/1.0/bin/link.exe 为link_renamed.exe (依实际安装选择路径),

这一步是防止这个link.exe与vc的link.exe发生冲突,编译完成后可修改回来

6.配置编译,双击msys.bat,转到FFMPEG源代码根目录下,可运行 ./configure --help查看编译配置选项,我使用的选项为:

./configure --enable-static --prefix=./vs2015_build --enable-debug --toolchain=msvc

./configure --enable-shared --prefix=./vs2015_build --enable-debug --toolchain=msvc

等待配置完成返回

7.输入 make all 编译

8.输入make install 安装

完成,此时生成的头文件及库已经在ffmpeg源代码下的vs2015_build目录下,使用这个库,即可在VS下单步进入FFMPEG函数内部

========================================

至此就完成了库编译,但本文还没完,实际上以我粗浅的了解,FFMPEG最有价值的例子是那个ffplay,

至少以我在网上找过的数个FFMPEG的教程和例子来看,不论新旧,不论中外,都不如这个ffplay源码实用。

为什么?因为网上的教程基本就是国外那套很旧版本ffmpeg播放视频的例子,代码换成新版FFMPEG声音就会挂掉。

而国内的教程只有个SDL2的视频解码,没有音画同步,没有音画同步的例子有什么用...根本就不能用嘛...没人下个FFMPEG只为看个图像......

肯定是为了能正常播放音画同步,再加个快进,暂停,切换文件等等的功能吧。

所以在网上翻来翻去,最后的结论就是要在VS中编译出这个ffplay,并且可以调式,才算是FFMPEG最基本的使用资料。

编译ffplay工程需要SDL1.2库 http://www.libsdl.org/download-1.2.php

然后新建Win32 Console工程

在FFMPEG源码中找到以下文件加入到工程

cmdutils.c
ffplay.c
cmdutils.h
cmdutils_common_opts.h
config.h

然后配好FFMPEG和SDL1.2的include和lib目录和链接库

然后从FFMPEG源码中多复制一个文件到FFMPEG的include对应目录中

FFMPEG\include\libavutil\colorspace.h

然后根据编译中提示的一些错误提示,大概解决下就可以编译ffplay工程了

实际测试了一下,ffplay播放1080P视频也没问题,放多久都不会出错,而我之前不知道下的哪个版本的potplayer,

放了一段时间居然音画不同步了,神奇,所以说ffplay的确是最重要的例子,至少对我来说是。

将来有时间,会考虑移植下这个例子的实现到纯DX11和OpenGL3.x上,目前还是要继续学3D引擎原理

Win7 VS2015及MinGW环境编译FFMPEG-20160326的更多相关文章

  1. Win7 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6

    书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...

  2. Win7 64位 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6

    书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...

  3. Win7 64位 VS2015及MinGW环境编译FFMPEG-20160326

    因为又要弄MinGW了,所以顺便把FFMPEG编译了,文章主要参考这篇,防抽所以复制一遍,顺便加些自己的内容 http://blog.csdn.net/finewind/article/details ...

  4. windows 7下mingw+msys编译ffmpeg

      windows 7下mingw+msys编译ffmpeg   1-->下载安装MingW,mingw-get-inst-20120426.exe  http://sourceforge.ne ...

  5. 开源项目:windows下使用MinGW+msys编译ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

  6. windows 下使用 MinGW + msys 编译 ffmpeg

    本文参考了网络上的不少文章,但由于版本环境的问题参考文章并不能直接指导编译,本文吸收多方经验,并在自己多次编译实验的基础上写成,欢迎转载,请注名出处.    FFmpeg是在Linux平台下开发的,但 ...

  7. 在MinGW下编译ffmpeg

    因为需要使用ffmpeg的相关库和执行文件,所以需要编译最新的ffmpeg代码.为了能在编译成Windows native执行程序(需要在.net中调用该执行程序),这里我们使用MinGW. 1,安装 ...

  8. Win7 64位 MinGW环境测试SDL2.0.3

    下载MinGW版的文件 http://www.libsdl.org/release/SDL2-devel-2.0.3-mingw.tar.gz 解压放到mysys下面 运行Makefile mysys ...

  9. mingw 环境编译 liburl故障一例

    环境是 windows 10,已经安装 mingw,并设置好mingw 和 msys的环境变量 C:\Users\cracker>set |grep MinGW Path=C:\Program ...

随机推荐

  1. windows上安装Anaconda和python

    下载并安装 anaconda 先到https://www.continuum.io/downloads 下载anaconda, 现在的版本有python2.7版本和python3.5版本,下载好对应版 ...

  2. f5创建monitor

  3. Python: PySide(Qt)异步获取网页源码

    学习PyQt UI编程笔记.相对PyQt来说,PySide资料为少. 此篇记录异步获取代码后,同步显示于界面窗体中,涉及线程网步,此为知识点. 直录代码: # encoding: utf-8 from ...

  4. Javascript(es2016) import和require用法和区别

    http://blog.csdn.net/chinaycheng/article/details/52559439 其中这个总结很到位: 加载方式 规范 命令 特点 运行时加载 CommonJS/AM ...

  5. Java11-java基础语法(十)类设计综合案例

    Java11-java语法基础(十)类设计综合案例 一.类综合设计方法 1.类设计步骤 (1)分析数据成员 (2)分析成员方法和构造方法 (3)画出类图 (4)编码测试 2.具体问题 1)分析数据成员 ...

  6. linux命令学习之:vim

    1. 关于Vim vim是我最喜欢的编辑器,也是linux下第二强大的编辑器. 虽然emacs是公认的世界第一,我认为使用emacs并没有使用vi进行编辑来得高效. 如果是初学vi,运行一下vimtu ...

  7. linux命令学习之:chmod

    chmod命令用来变更文件或目录的权限.在Linux系统家族里,文件或目录权限的控制分别以读取R.写入W.执行X3种一般权限来区分,另有3种特殊权限可供运用.用户可以使用chmod指令去变更文件与目录 ...

  8. IDEA安装小配置

    1. view-->toolbar+toolbuttons 2. 根据大小写IDEA能准确提示 配置自动导入包 定义代码模板 提示忽略大小写 配置虚拟机内存,修改idea64.exe.vmopt ...

  9. hdu 1429 (bfs+状态压缩) 胜利大逃亡续

    http://acm.hdu.edu.cn/showproblem.php?pid=1429 典型的状压搜索,在普通的搜索基础上,利用二进制的特性记录钥匙与门, 二进制的每一位代表一把钥匙,比如说拿到 ...

  10. hdu 5326(基础题) work

    http://acm.hdu.edu.cn/showproblem.php?pid=5326 一道水题,题目大意是在公司里,给出n个员工和目标人数m,然后下面的n-1行是表示员工a管理b,问在这些员工 ...