ffmpeg vs2015 编译调试

本文详细记录了如何使用Visual Studio 2015(VS2015)编译和调试ffmpeg的过程。首先从GitHub的ShiftMediaProject/FFmpeg项目克隆源码,接着配置C99支持的VS版本。通过运行project_get_dependencies.bat获取所有依赖包,安装nasm并生成目标目录。然后在ffmpeg_deps.sln中编译一个依赖库,如libass,将glext.h和wglext.h放入指定目录。最后,选择一个exe项目进行调试,并利用FFVS-Project-Generator工具重新生成VS项目文件以配置参数。

一直想用vs的强大调试能力去研究ffmpeg,其实很久之前就有留意在github上有个类似的项目,现在做一遍记录下来。

项目位置

https://github.com/ShiftMediaProject/FFmpeg
装一个git,配置好后拉代码(使用git拉别直接下载,下面会快点)
建议搞两层目录,不然很头疼,例如 shiftmedia/source/,在这目录下执行:

git clone https://github.com/ShiftMediaProject/FFmpeg

准备

所有的项目文件都在SMP文件夹下,查看这目录下的readme文件,介绍了如何build。
1.必须支持c99,也就是vs2013版本以上才支持

下载依赖包

执行SMP下的project_get_dependencies.bat
注:这脚本需要git依赖,你的项目如果不是git拉下来的话只能手动下载了。
这里写图片描述
下载完你会发现一大堆依赖库的vs项目,幸福来得太突然,像x264,x265这些也能调试了吗?

nasm安装

下载很慢,先装一下nasm,https://github.com/ShiftMediaProject/VSNASM/releases
按readme说法,运行一下安装脚本install_script.bat搞定。

编译

漫长的等待下载完成后,目录如下:
这里写图片描述
SMP目录下打开ffmpeg_deps.sln,选择一个依赖库先生成,例如libass,目的是先生成目标目录。
然后到这里https://www.khronos.org/registry/OpenGL/api/GL/下载glext.h跟wglext.h,放置到目标目录msvc/include/gl/下。
然后选个exe的启动项目就可以玩了。。。。。
这里写图片描述
调试试试?
这里写图片描述

配置ffmpeg参数

需要重新生成一下vs项目文件。
他那有个工具提供这功能:https://github.com/ShiftMediaProject/FFVS-Project-Generator
同理应该也可以配置其他的依赖项目的。

敬告:本课程基于最新版FFmpeg4.3.1开发,仅供学习参考,不可以直接商用(想直接购买商用源代码的同学,请放弃!)。我将带领大家从以下几个方面来深入剖析ffmpeg4.3:“拿来主义”、“为我所用”。通过学习本课程,您将收获:三大多媒体框架(DirectShow、GStreamer、FFmpeg)简介与分析FFmpeg4.3的开发环境搭建(重要讲解windows下的源码编译vs2015的环境)ffmpeg.c(4.3.1)源码剖析(分析开源大师们的设计理念和编码技巧)亲手封装私有函数:获取音视频流信息(类似于MediaInfo)、获取实时转码进度(改善用户体验)两套实现代码: MFC和Qt。-------------------------------------------------------------------音视频是一门很复杂的技术,涉及的概念、原理、理论非常多,很多初学者不学 基础理论,而是直接做项目,往往会看到c/c++的代码时一头雾水,不知道代码到底是什么意思,这是为什么呢? 因为没有学习音视频的基础理论,就比如学习英语,不学习基本单词,而是天天听英语新闻,总也听不懂。所以呢,一定要认真学习基础理论,然后再学习播放器、转码器、非编、流媒体直播、视频监控、等等。 梅老师从事音视频与流媒体行业18年;曾在永新视博、中科大洋、百度、美国Harris广播事业部等公司就职,经验丰富;曾亲手主导广电直播全套项目,精通h.264/h.265/aac,曾亲自参与百度app上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。  
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值