本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除。

雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020

这里提及一点,原来在一、二节中都是采取PPT的形式,可能过于去修饰PPT的一些细节,导致学习过程十分痛苦。

从本节开始不会去特地的制作PPT,而是直接在文章中写自己的体会感受。


准备工作:


  • Vs2017 (这个自行在网上下载并安装即可)

  • ffmpeg的库

对于ffmpeg的库,请到https://ffmpeg.zeranoe.com/builds/ 进行下载,记得linking这一栏将Dev和shared这两栏的东西全部下载下来并解压缩

下载完成后其Dev目录结构应该是如下所示的样子:

Shared目录结构应该是如下所示的样子:

准备工作(1):新建控制台工程:


1.打开VS2017,依次点击 文件->新建->项目

2.弹出新建项目窗口,选择windows控制台应用程序

这样就大功告成了!这样之后你可以在vs上看到如下界面:

准备工作(2):移入ffmpeg相关文件到工程中


将 Dev解压到的所有文件都放入主函数文件同级目录下,我这里主函数文件为stdafx.cpp。如下图所示。

将Shared解压,进入到bin目录下,将dll结尾的文件放入主函数文件同级目录下,我这里主函数文件为stdafx.cpp。如下图所示。

准备工作(3):在vs2017中进行项目配置


在准备工作(2)中,我们移动了ffmpeg相关的文件到项目的文件夹下,但是这只是我们的操作,vs2017软件还不认识,为了让其利用起这些文件,我们需要进行项目配置

在vs窗口中右侧有个解决方案资源管理器

1.添加头文件目录,依次点击 C/C++ ->常规 -> 附加包含目录 ,将include目录添加进去,如下图所示

2.添加库目录,和添加头文件目录的方式一致, 依次点击 链接器  -> 常规 -> 附加库目录,将项目中的lib文件夹添加进来

3.添加库,依次点击 链接器 ->输入 ->附加依赖项,将lib文件下所有以lib结尾的文件名都输入进去,如下图所示:       

要填写的内容为以下

avcodec.lib

avdevice.lib
avfilter.lib
avformat.lib
avutil.lib
postproc.lib
swresample.lib
swscale.lib

测试


测试代码(写入到主函数文件test_ffmpeg.cpp中)如下:

// test_ffmpeg.cpp: 定义控制台应用程序的入口点。
// #define __STDC_CONSTANT_MACROS #include "stdafx.h" extern "C" { #include "libavcodec/avcodec.h" } int main()
{
printf("%s", avcodec_configuration());
while ();
return ;
}

最后会看到如下画面即为成功

视频专家之路【三】:Vs开发环境的搭建的更多相关文章

  1. 从零开始学习音视频编程技术(三) 开发环境搭建(Qt4.86手动设置环境,主要就是设置g++和qmake,比较透彻,附下载链接)

    1.先下载安装Qt 我们使用的版本是4.8. 可以自行百度下载也可以从下面的网盘地址下载: Qt库和编译器下载: 链接:http://pan.baidu.com/s/1hrUxLIG 密码:0181 ...

  2. 小白学习Python之路---开发环境的搭建

    本节内容 1.Python的介绍 2.发展史 3.安装Python 4.搭建开发环境 5.Hello World程序 一.Python的介绍 Python的创始人为荷兰人吉多·范罗苏姆(Guido v ...

  3. 基于GTK+3 开发远程控制管理软件(C语言实现)系列三 Windows7开发环境搭建

    一.介绍与准备 考虑到目标客户端基本都是windows客户端,所以此次开发环境将搭建在windows7下,相关开发工具有Msys2 和 Eclipse For C/C++ Msys2 是msys的升级 ...

  4. 视频专家之路【四】:ffmpeg简单实战之获取属性

    本文是听了雷宵骅大神的课之后的总结,部分内容借用了其PPT的内容,如有侵权请告知删除. 雷宵骅大神的博客为:https://blog.csdn.net/leixiaohua1020 本节的目的正式开始 ...

  5. JAVA 基础(1)开发环境的搭建以及开发工具的选择

    ​  我们现在还是在学习阶段因此我们不用配置那么多的jdk,配置一个jdk8就够应付日常的学习了.前面的文章我尽量写详细一些照顾刚入坑的朋友.后文还有教大家怎么使用企业版的idea. 一.开发环境的搭 ...

  6. 总结:Mac前端开发环境的搭建(配置)

    新年新气象,在2016年的第一天,我入手了人生中第一台自己的电脑(大一时好友赠送的电脑在一次无意中烧坏了主板,此后便不断借用别人的或者网站的).macbook air,身上已无分文...接下来半年的房 ...

  7. Idea开发环境中搭建Maven并且使用Maven打包部署程序

    1.配置Maven的环境变量 a.首先我们去maven官网下载Maven程序,解压到安装目录,如图所示: b.配置M2_HOME的环境变量,然后将该变量添加到Path中 备注:必须要有JAVA_HOM ...

  8. Linux学习心得之 Linux下命令行Android开发环境的搭建

    作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Linux学习心得之 Linux下命令行Android开发环境的搭建 1. 前言2. Jav ...

  9. Java开发环境的搭建以及使用eclipse从头一步步创建java项目

    一.java 开发环境的搭建 这里主要说的是在windows 环境下怎么配置环境. 1.首先安装JDK java的sdk简称JDK ,去其官方网站下载最近的JDK即可..http://www.orac ...

  10. Android_开发工具的下载和开发环境的搭建

    一.Android开发工具的下载  Android开发者官网: http://developer.android.com/           Android开发工具:http://www.andro ...

随机推荐

  1. Angular的一些常用命令

    Angular的一些常用命令 cmd中创建项目: ng new taskmgr -si --style=scss //先不安装依赖,si 为skip install material需要scss样式的 ...

  2. dotNET面试(一)

    1.列举ASP.NET 页面之间传递值的几种方式. 1).使用QueryString, 如....?id=1; response. Redirect().... 2).使用Session变量 3).使 ...

  3. 二、sql新增后返回主键|sql 使用 FOR XML PATH实现字符串拼接|sql如果存在就修改不存在就新增

    一.sql新增后返回主键 1,返回自增的主键: INSERT INTO 表名 (字段名1,字段名2,字段名3,…) VALUES (值1,值2,值3,…) SELECT @@IDENTITY 2,返回 ...

  4. yum 仓库搭建与源码包安装实战

    目录 一.yum 仓库自建示例: 二.源码包安装实践 基础环境 服务端配置 下载及安装fpm软件 客户端: 一.yum 仓库自建示例: 1.安装ftp服务 yum -y install vsftpd ...

  5. Java多线程的理解和实例

    编写具有多线程程序经常会用到的方法:run(), start(), wait(), notify(), notifyAll(), sleep(), yield(), join() 还有一个关键字:sy ...

  6. OpenLayers学习笔记(十二)— 飞机速度矢量线预测(二)

    根据计算公式实现预测线 作者:狐狸家的鱼 GitHub:八至 之前有一篇博客简单写了一个模拟demo,根据物体当前的速度和方向预测多少时间后所在的位置,具体计算是参考<(译)计算距离.方位以及更 ...

  7. Elasticsearch:使用function_score及soft_score定制搜索结果的分数

    我们将介绍使用function_score的基础知识,并介绍一些function core技术非常有用和有效的用例. 介绍 评分的概念是任何搜索引擎(包括Elasticsearch)的核心.评分可以粗 ...

  8. SCP-bzoj-1085

    项目编号:bzoj-1085 项目等级:Safe 项目描述: 戳这里 特殊收容措施: A*(上下界剪枝). 答案上界:15. 答案下界:当前步数+当前状态剩余步数估价. 这里我们简单地设计估价函数为当 ...

  9. BZOJ 4619: [Wf2016]Swap Space(贪心)

    传送门 解题思路 首先肯定是先处理\(b>a\)的,这样可以获得更多空间.处理时要先处理\(a\)比较小的,再处理\(a\)比较大的,因为要求最小值,而\(b>a\)的总量是确定的,那么就 ...

  10. tomcat7以下线程控制

    web server允许的最大线程连接数还受制于操作系统的内核参数设置,通常Windows是2000个左右,Linux是1000个左右. 1.编辑tomcat安装目录下的conf目录下的server. ...