Win7 64位 VS2015及MinGW环境编译FFMPEG-20160326
因为又要弄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 64位 VS2015及MinGW环境编译FFMPEG-20160326的更多相关文章
- Win7 64位 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6
书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...
- [转]win7 64位下android开发环境的搭建
本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...
- win7 64位下android开发环境的搭建
本文转自:http://www.cfanz.cn/index.php?c=article&a=read&id=65289 最近换了新电脑,装了win7 64位系统,安装了各种开发环境, ...
- win7 64位专业版下的x64编译问题
在Django的开发过程中,碰到一个问题,就是所有本地库的位数必须是相同的,于是某些库需要重新编译一下,工作环境,不能用盗版程序,VC++ 2008\2010 Express版本身都不支持X64的编译 ...
- win7 64位系统及开发环境重装后的总结
前言 话说来这家公司之后就一直使用这个系统,现在感觉这系统跑的实在是有点慢了,运行,调试各种浪费时间呀,不过也用了将近20个月了,这也可以说是我用的最久的一个系统了.由于新项目即将拉开战幕,所以自己趁 ...
- Win7 64位 VS2015环境编译cegui-0.8.5
首先是去官网下载源码与依赖库 http://cegui.org.uk/ 然后得提一下,编译DX11版本带Effects11框架的话会有问题,也就是默认情况编译有问题,这是因为VS2015升级后编译器对 ...
- Win7 64位 VS2015环境编译NanoVG
书接上回,Cairo编译好使用后,发现简单的每帧画100条随机线段就卡得不行,装了个gooreplacer( http://liujiacai.net/gooreplacer/ )上stackover ...
- Win7 64位 VS2015环境编译Libpng
第3次编译Libpng依然想不起任何东西,为了不浪费第4次的时间... http://libmng.com/pub/png/libpng.html http://www.zlib.net/ 解压两个压 ...
- Win7 VS2015及MinGW环境编译矢量库agg-2.5和cairo-1.14.6
书接上文,昨天装了MinGW,主要原因之一是要用到MSYS,所以顺手把FFMPEG又编译了一遍. 回到主题,其实我是想编译矢量库,因为最近要学习一些计算几何算法,所以找个方便的2D画图库就很重要. 说 ...
随机推荐
- PostgreSQL9.2安装和配置指南
本文只介绍PostgreSQL9.2在centos上的安装和配置过程 1.执行yum 命令安装PostgreSQL yum install postgresql-server 2.初始化Postgre ...
- IOS系列swift语言之课时五
过了几天没来理博客了,这次我们要讲的有:类,属性,初始化init(),初始化器,构造器等 直接刷代码了....... //: Playground - noun: a place where peop ...
- javascript篇-----函数作用域,函数作用域链和声明提前
在一些类似C语言的编程语言中,花括号内的每一段代码都具有各自的作用域,而且变量在声明它们的代码段之外是不可见的(也就是我们不能在代码段外直接访问代码段内声明的变量),我们称之为块级作用域,然而,不同于 ...
- kindeditor多图片上传找不到action原来是private File upload成员变量惹得祸
kindeditor多图片上传找不到action原来是private File upload成员变量惹得祸
- lucene写索引出现锁文件的原因之一
lucene正常情况目录下的文件 有三个文件. segments.gen segments_a08, 还有一个类似 _uw.cfs名字的东西. 当然,不一定都一样, 但肯定是这三个. 如果出现了很多文 ...
- web程序员该学习什么
以我个人的观点分了几个级别,仅供参考 初级发展(学习期) 前端应该学习HTML javascript css 能够制造简单的前端页面满足自己的工作需求 后端应该学习asp.net or jsp or ...
- 经典的找不到符号(symbol)错误 #iOS开发
使用BmobSDK的过程中,编译时出现了以下错误信息,意思是 -[BmobSRWebSocket _innerPumpScanner] 这个方法引用了 "_utf8_nextCharSafe ...
- Spring环境搭建之:导入jar包、配置文件名称及放置位置
Spring环境搭建之:导入jar包.配置文件名称及放置位置 现在项目开发中spring框架应用的还是比较多的,自己用的还不太熟练,每次用的时候总配置半天,总有些配置弄错,就找个时间总结以下,方便以后 ...
- 初窥Kaggle竞赛
初窥Kaggle竞赛 原文地址: https://www.dataquest.io/mission/74/getting-started-with-kaggle 1: Kaggle竞赛 我们接下来将要 ...
- git资料图