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画图库就很重要. 说 ...
随机推荐
- RapidXML 试用
近半年来断断续续的封装一些SDK,在兼顾跨平台.易用性和高效率上还要顾及到对外dll的大小问题.由于之前解析SVG文件的用到了一个XML解析库xercesc,这个DLL实在巨大近4M,于是尝试用新的X ...
- MongoDB安装启动服务
这里主要是针对解决出现的问题. 1.MongoDB 下载地址http://www.mongodb.org/downloads 下载之后可以自定义安装路径,我安装在了D盘下. 然后在环境变量中添加: M ...
- 删除表空间的时候遇到的问题:ORA-02429: 无法删除用于强制唯一/主键的索引
今天打算删除orcale数据库中无用的表空间,发现报错,查资料删除,写个过程留着备用.1.drop tablespace dldata INCLUDING CONTENTS CASCADE CONST ...
- Vue.JS入门学习随笔
PS:先说说学习Vue的缘由吧,学习完了React之后,突然发现又出了一款叫做vue的框架,而且据说可以引领又一波新框架的潮流,我容易吗我!!! Vue.js(读音 /vjuː/, 类似于view ...
- oracle sql改写
or可以改写成union 但是要注意,改写成union的时候一定要有一个唯一列参照,不然会少记录,因为union会去重. 可以用的唯一列:唯一索引列,主键列,rowid,rownum(视图里用这个)
- CC1310的RSSI值问题
前几日,做CC1310的通信距离测试,发现我的CC1310的板子在433MHz,50kbps下通信距离非常近,RSSI值下探至-80左右就无法正常通信,与TI宣称的-120dbm接收灵敏度差距较大.使 ...
- PostrgreSQL 表名大小些问题(public."tablename")
问题: 今天做表查询的时候,发现用以前的代码查询出现问题,提示说表名不存在. 现象: 通过PostrgreSQL客户端查询,发现出问题的表的查询语句如下: SELECT * FROM public.& ...
- deep learning on object detection
回归工作一周,忙的头晕,看了两三篇文章,主要在写各种文档和走各种办事流程了-- 这次来写写object detection最近看的三篇文章吧.都不是最近的文章,但是是今年的文章,我也想借此让自己赶快熟 ...
- .net妹纸转Java---java环境的搭建,myeclipse10.0 的安装环境变量配置和破解
啦啦啦 ,因为公司项目需要,从我大火炉--大武汉被拖到了更大的火炉--大广西 其实一开始 我的内心是拒绝的. 但是我在大武汉呆了近2年木有出过远门,对, 生活除了眼前的苟且,还有远方的苟且.怀揣这样 ...
- ios label上显示特殊字符 % "
今天在label上显示一个拼接的百分比 label.text = [NSString stringWithFormater:@"%d%",i]; 结果后面的%就是报错,然后查半天也 ...