在B站看的ffmpeg教学中,跟着视频写的代码编译出错
// 寻找流
int VideoStream = -1;
VideoStream = av_find_best_stream(pFormat, AVMEDIA_TYPE_VIDEO, -1, -1, NULL, NULL);
const AVCodec* vCodec = avcodec_find_decoder(pFormat->streams[VideoStream]->codecpar->codec_id);
// 打开解码器
ret = avcodec_open2(pFormat->streams[VideoStream]->codecpar, vCodec, NULL);
error C2664: “int avcodec_open2(AVCodecContext *,const AVCodec *,AVDictionary **)”: 无法将参数 1 从“AVCodecParameters *”转换为“AVCodecContext *”
添加AVCodecContext解决问题
// 获取解码器上下文
AVCodecContext* pInCodecCtx = avcodec_alloc_context3(vCodec);
// 打开解码器
ret = avcodec_open2(pInCodecCtx, vCodec, NULL);