FFmpeg (x86)+Win10(x64)+Vs2015开发环境配置

本文提供了一种在Windows环境下配置FFmpeg的方法,包括选择合适的版本、下载必要的文件、设置开发环境及解决常见问题等步骤。

created by-lldbuaa
下载地址:
http://download.csdn.net/detail/lldbuaa/9514166
需要的就去下载一个好了,毕竟我这种csdn账号的积分很少,1个积分又不会吃亏上当……

不知道网上各位大神的blog是不是比较坑,反正我看了n多遍后,尝试了很久也没搞定……
最后本着再试n+1遍的态度,拼接了2个不同的配置方案,然后成功了……ORZ
然后我理解了,可能是我用的环境和大神的有出入吧……神知道啊……
还是老样子 备忘
1.确认你要安装配置的是X64还是X86 配置的时候环境选项不要错 错了就死了
下载链接:
https://ffmpeg.zeranoe.com/builds/
2.不用自己去编译源代码生成dll文件,网上的share版本已经帮你搞定了,Windows环境编译Linux工程的事情,交给大神就好了,不换系统的话我直接使用dev和share版本
3.我也是要开发,但是不算是对ffmpeg开发,最多就是用一下API,感觉看看头文件看看定义就可以搞定了,况且dev里面也有源代码,犯不上自己编译share版本(怨念啊……被mingw lame 什么的折腾的不行)

配置正式开始:
1.建个Win32工程,控制台就好了。不会的面壁去。
2.DIr和linker 直接上图
这里写图片描述

这里写图片描述

3…/doc/examples/matedata.c(原因是比较简单)
拿这个做例子,测试环境配置是否OK 粘贴进去然后修改部分代码

#include "stdafx.h"
#include <stdio.h>
extern "C"//这个忘记了会有一堆错误,反正就是过不去
{
#include <libavformat/avformat.h>
#include <libavutil/dict.h>
}
int main()//删掉了输入
{
 AVFormatContext *fmt_ctx = NULL;
 AVDictionaryEntry *tag = NULL;
 int ret;
//删掉了判断分支 IF(要不然就跳出去结束程序了!!)
 av_register_all();//注册所有的组件什么的  安装ffmpeg第一句都是这个!
 if ((ret = avformat_open_input(&fmt_ctx, "On a Slow Boat to China.mp3", NULL, NULL)))
//老版本的话avformat_open_input(&fmt_ctx,file,Null,0,Null)传参不一样,不要被老版本给坑到
//注意文件放置的位置,不要放在debug文件夹,而是在工程内
//放错地方导致avformat_open_input没打开的话,返回值-2  断点之后能看到ret=-2……
//正确的话 ret=0
  return ret;
 while ((tag = av_dict_get(fmt_ctx->metadata, "", tag, AV_DICT_IGNORE_SUFFIX)))
  printf("%s=%s\n", tag->key, tag->value);
 avformat_close_input(&fmt_ctx);
 return 0;
}

4.将share版本bin文件夹下面的dll文件复制到工程文件夹里,没有这步会有上百个错误……各种未定义
这里写图片描述

5.Debug X86 编译连接
不管别人过没过 反正我没报错
on a slow boat to China
事物的发展都是一个缓慢的进程 学习编程也是!!!!!

这里写图片描述

最后: 这个文档只负责标题上面的环境,虽然我感觉可以搞定很多类似环境但是没试过谁知道……我又不是大神……

敬告:本课程基于最新版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上的网页播放器等实战产品。目前全身心自主创业,主要聚焦音视频+流媒体行业,精通音视频加密、流媒体在线转码快编等热门产品。  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值