avcodec_open2返回-22问题分析
ffmpeger 发布于 2021-12-11

使用ffmpeg中的avcodec_open2,返回-22,函数声明如下,

int attribute_align_arg avcodec_open2(AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options)

看到有文章说是版本问题,后来看源码,其实跟版本有一定关系,但是主要还是参数问题,因为这个函数的源码太长,就不在文章中贴出源码,需要的话可以到官方网站或github上下载。

刚说到跟版本有关系,在旧的ffmpeg版本中如果第一个参数的time_base不设置,返回0没问题,但在新的版本中就不行,返回-22。

查看源码,如果返回-22,实际上对应的是这个代码AVERROR(EINVAL),函数中总共有23处这个,对着检查下哪些参数需要或者要求逐一排查就可以找到原因。

ffmpeger
关注 私信
文章
63
关注
0
粉丝
0