zoukankan      html  css  js  c++  java
  • Visual Studio 开发(二):VS 2017配置FFmpeg开发环境

    在上篇文章Visual Studio 开发(一):安装配置Visual Studio Code 中,我们讲了一下如何配置VS CODE,来编写和调试C的代码。如果你已经使用VS Code回顾和复习好C相关的知识了,并且有想深入学习FFmpeg的方法,那么可以看看这篇文章,相信对你会很有帮助。

    一、下载安装Visual Studio

     下载地址为:https://visualstudio.microsoft.com/zh-hans/downloads/

    然后进行安装,安装时选择C/C++开发的选项进行安装,安装时选择如下:

     选好就,点击下一步,等待安装就OK了。

     二、创建项目并配置FFmpeg开发环境

    在文件中新建一个项目,自行起一个项目名称,例如FFmpegTest,下面是我创建项目的目录结构:

    里面的代码是一个Hello World的代码,并说明了如何运行起来这个项目(针对新手)。

    尝试运行一下,如果运行没问题,那么我们的Visual Studio 2017 就说明安装的没问题了,下面开始配置FFmpeg的开发环境了。

    1. 下载FFmpeg的源码、库、链接文件

    首先需要去FFmpeg官网下载相应的内容:

    下载地址为:https://ffmpeg.zeranoe.com/builds/,这里有三种类型的:static、shared、dev。

    先解释一下这三种类型的用处:

    • static:打包好的文件,可以认为是FFmpeg的release版本,提供的是ffmpeg、ffplay、ffprobe三个命令行工具。(只学习命令行的同学可以将此配置到环境变量上)
    • shared:这个包包含static的文件,但是相比较多了链接文件DLL,这些DLL文件在后面开发环境配置配置中会用到。
    • dev:这个是纯开发版本的文件,不包含ffmpeg、ffplay、ffprobe这些命令行工具,但是包含我们开发时使用的头文件(位于include目录),及liib文件(位于lib目录),以及example文件(用于学习和使用)。

    从上面的类型说明中,可以知道,我们需要下载的是shared和dev两个文件,为了减少使用时的问题,建议下载32位的文件

    附:本人以及将下载好的上传到:https://github.com/renhui/Thinking-in-AV/tree/master/FFmpeg/environment 方便浏览和查阅。

    然后将这些文件拷贝到项目中,具体如下:

    1. 将shared的DLL文件拷贝到项目中。
    2. 将dev的include和lib文件夹一起拷贝到目录中。

    2. 配置FFmpeg开发环境

    添加附加包含目录指向拷贝的include文件,如下:

    添加附加库目录,如下:

     添加附加依赖项,内容为

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

    添加后界面如下:

    至此,FFmpeg的开发环境配置完毕了。

    3.验证FFmpeg开发环境

    如何验证FFmpeg能正常使用了,这个简单,运行一段FFmpeg的代码即可。

    例如:

    #include "pch.h"
    #include <iostream>
    
    extern "C"{
    #include "libavcodec/avcodec.h"
    #include "libavformat/avformat.h"
    }
    
    int main(int argc, char* argv[]) {
        printf("%s
    ", avcodec_configuration());
        return 0;
    }

    如果编译运行不报错,且输出如下的界面,则说明FFmpeg设置成功了:

    FFmpeg学习的环境问题没有了,后续就可以可以自行学习和发挥了。海阔凭鱼跃,天高任鸟飞!

    4.  补充

    如果在运行代码的时候,IDE提示,***声明已被否决,这时可以通过以下几种方式来解决:

    1. 修改项目的配置

    Project Properties > Configuration Properties > C/C++ > General > SDL checks关掉

    2. 代码中添加编译参数信息

    #pragma warning(disable: 4996)    

  • 相关阅读:
    加入页面切换动画, 避免冷启动
    Spark Shuffle模块——Suffle Read过程分析
    java使用线程请求訪问每次间隔10分钟连续5次,之后停止请求
    二叉排序树(BST)构造与应用
    L贪心基础
    leetcode笔记:Ugly Number II
    Android API Guides---Layouts
    红外目标图像中阈值切割方法的比較与研究
    IOS开发证书变成“此证书的签发者无效”解决方法
    Web前端开发规范收集
  • 原文地址:https://www.cnblogs.com/renhui/p/10387764.html
Copyright © 2011-2022 走看看