共计 1898 个字符,预计需要花费 5 分钟才能阅读完成。
title: 音视频系列二:Visual Studio2019 集成 ffmpeg 之 hello world
categories:[ffmpeg]
tags:[音视频编程]
date: 2021/11/25
<div align = ‘right’> 作者:hackett</div>
<div align = ‘right’> 微信公众号:加班猿 </div>
一、下载安装 Visual Studio
下载地址为:https://visualstudio.microsof…
而后进行装置,装置时抉择 C /C++ 开发的选项进行装置,装置时抉择如下:
选好就,点击下一步,期待装置就 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 ++ 空我的项目
我的项目地位抉择到 src,而后创立我的项目。留神: 将我的项目解决方案和我的项目放在同一目录中后面的勾要选上,不然默认会多创立一层目录
五、开发环境配置
选中我的项目右键抉择属性:
- C/C++-> 惯例 -> 附件蕴含目录【$(ProjectDir)….\include】
- 链接器 -> 惯例 -> 附加库目录【$(ProjectDir)….\lib】
-
链接器 -> 输出 -> 附加依赖项
avcodec.lib
avformat.lib
avutil.lib
avdevice.lib
avfilter.lib
postproc.lib
swresample.lib
swscale.lib - 我的项目 -> 配置管理器抉择x64
六、创立 hello world 程序
#include<iostream>
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;
}
运行后果:
补充:
如果在运行代码的时候,IDE 提醒,*申明已被否决,这时能够通过批改我的项目的配置形式来解决:
- C/C++ -> 惯例 -> SDL 查看关掉
- C/C++ -> 代码生成 -> 多线程调试(/MTD)
如果你感觉文章还不错,能够给个 ”三连“
我是 加班猿,咱们下期见