本博文源于笔者正在做的任务,将视频mp4每帧转换成jpg格式,前提是需要配置ffmpeg。因此本文从0下载教读者如何配置ffmpeg。
文章目录
- 1、百度搜索官网
- 2、配置项目
- 3、创建main.cpp测试库与包
- [4、 总结](#4、 总结)
1、百度搜索官网
官网已经搜索到,我们要找到下载链接,点击进去,下一张图
一定要选择第二种模式,从github里下载。
选择倒数第二个zip
点击进去,我们就下载好了。
2、配置项目
创建一个项目
然后配置项目属性,项目属性配置三个部分,
3、创建main.cpp测试库与包
将之前下载的zip进行解压,将其lib,include,放到该目录里
创建bin目录,将解压的bin里的所有dll放到这里
main.cpp写下这段测试代码,视频文件没有也没关系,只要能正常编译运行就行
cpp
#include <iostream>
extern "C" {
#include<libavcodec/avcodec.h>
#include<libavformat/avformat.h>
#include<libavutil/avutil.h>
#include<libavutil/opt.h>
}
#pragma comment(lib, "avcodec.lib")
#pragma comment(lib, "avformat.lib")
#pragma comment(lib, "avutil.lib")
using namespace std;
int main()
{
AVFormatContext* pFormat = nullptr;
string path(R"(11.mp4)");
int ret = avformat_open_input(&pFormat, path.c_str(), nullptr, nullptr);//打开视频文件
if (ret)
{
cout << "avformat_open_input failed" << endl;
return -1;
}
ret = avformat_find_stream_info(pFormat, nullptr);//查询视频流信息
if (ret)
{
cout << "avformat_open_input failed" << endl;
return -1;
}
av_dump_format(pFormat, 0, nullptr, 0);//在控制台中打印该视频文件的信息。
getchar();
}
有视频文件能运行暂停分析出视频文件,如果没有视频文件,则会闪退,也代表成功。只要能编译运行都代表成功。
4、 总结
只要这样子流程走下来不报错就代表运行成功了。