一,可以使用如下方法
extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavutil/fifo.h"
#include "libavutil/audio_fifo.h"
#include "libswresample/swresample.h"
#include "libavutil/opt.h"
#include <libavutil/avutil.h>
#include<libavutil/error.h> //这个是error 信息的头文件
}
#define ERROR_BUF \
char errbuf[1024]; \
av_strerror(ret, errbuf, sizeof (errbuf));
#define CODE(func, code) \
if (ret < 0) { \
ERROR_BUF; \
qDebug() << #func << "error" << errbuf; \
code; \
}
#define END(func) CODE(func, fataError(); return;)
#define RET(func) CODE(func, return ret;)
#define CONTINUE(func) CODE(func, continue;)
#define BREAK(func) CODE(func, break;)
// 返回结果
int ret = 0;
// 创建解封装上下文、打开文件
ret = avformat_open_input(&_fmtCtx, _filename, nullptr, nullptr);
END(avformat_open_input);