Visual|Visual Studio2019集成ffmpeg之hello world

title: 音视频系列二:Visual Studio2019集成ffmpeg之hello world
categories:[ffmpeg]
tags:[音视频编程]
date: 2021/11/25
作者:hackett
微信公众号:加班猿
一、下载安装Visual Studio 下载地址为:https://visualstudio.microsof...
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

然后进行安装,安装时选择C/C++开发的选项进行安装,安装时选择如下:
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

选好就,点击下一步,等待安装就OK了。
二、下载ffmpeg开发包 GitHub下载地址:https://github.com/BtbN/FFmpe...
下载最新的带share版本的,就是已经编译好了的,不用自己再编译 ffmpeg-n4.4.1-2-gcc33e73618-win64-gpl-shared-4.4.zip

├─bin #可执行程序 ├─doc #参考文档 ├─include #头文件目录 │├─libavcodec │├─libavdevice │├─libavfilter │├─libavformat │├─libavutil │├─libpostproc │├─libswresample │└─libswscale ├─lib #链接库文件 └─presets

三、创建项目目录
├─bin#程序执行和调试目录 ├─include #头文件目录 ├─lib#动态链接库目录 └─src#源码目录

四、打开Visual Studio 2019创建项目 将项目创建到src目录下面
文件->新建->项目 选择C++空项目
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

项目位置选择到src,然后创建项目。注意:将项目解决方案和项目放在同一目录中前面的勾要选上,不然默认会多创建一层目录
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

五、开发环境配置 选中项目右键选择属性:
  1. C/C++->常规->附件包含目录 【$(ProjectDir)....\include】
  2. 链接器->常规->附加库目录 【$(ProjectDir)....\lib】
  3. 链接器->输入->附加依赖项
    avcodec.lib
    avformat.lib
    avutil.lib
    avdevice.lib
    avfilter.lib
    postproc.lib
    swresample.lib
    swscale.lib
  4. 项目->配置管理器选择x64
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

六、创建hello world程序
#include using namespace std; extern "C" {//包含C头文件 #include "libavutil/log.h" #include "libavcodec/avcodec.h" #include "libavfilter/avfilter.h" #include "libavformat/avformat.h" #include "libavutil/avutil.h" #include "libavutil/ffversion.h" #include "libswresample/swresample.h" #include "libswscale/swscale.h" #include "libpostproc/postprocess.h" }; int main(int argc, char* argv[]) {av_log_set_level(AV_LOG_DEBUG); //设置日志级别 av_log(NULL, AV_LOG_DEBUG, "hello world log\n"); //打印日志unsigned int codecVer = avcodec_version(); int ver_major, ver_minor, ver_micro; ver_major = (codecVer >> 16) & 0xff; ver_minor = (codecVer >> 8) & 0xff; ver_micro = (codecVer) & 0xff; printf("Current ffmpeg version is: %s ,avcodec version is: %d=%d.%d.%d\n", FFMPEG_VERSION, codecVer, ver_major, ver_minor, ver_micro); system("pause"); //窗口等待 return 0; }

运行结果:
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

补充: 如果在运行代码的时候,IDE提示,*声明已被否决,这时可以通过修改项目的配置方式来解决:
  1. C/C++ ->常规-> SDL检查关掉
  2. C/C++ ->代码生成-> 多线程调试(/MTD)
Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

如果你觉得文章还不错,可以给个"三连"
我是加班猿,我们下期见
【Visual|Visual Studio2019集成ffmpeg之hello world】Visual|Visual Studio2019集成ffmpeg之hello world
文章图片

    推荐阅读