调用ffmpeg的api时,一般会返回一个整型值,表示成功或失败
一般0表示成功,如果失败的话,一般是返回一个负数,比如-541478725
那么,我们如何知道这个负值代表什么含义了
对于一些常见的错误,我们可以通过百度去搜到它的具体含义
除此之外,还有一个正规方法,可以反推错误码代表的具体含义
流程如下
- 将错误码,比如-541478725,负号去掉,粘贴到计算器当中,转换为十六进制字符串,对应的是20 46 4F 45
- 对照ASCII表,将16进制ASCII数值转化为对应字符,得到[ ][F][O][E]四个字符,反过来就是EOF
- 打开libavutil/error.h头文件,这个头文件定义了所有的错误码,搜索EOF,就可以找到AVERROR_EOF这个错误码了
这里在顺便列举一下常见的错误码对应的整型值,能百度到就没必要自己手动去转换了
AVERROR_BSF_NOT_FOUND = -1179861752
AVERROR_BUG = -558323010
AVERROR_DECODER_NOT_FOUND = -1128613112
AVERROR_DEMUXER_NOT_FOUND = -1296385272
AVERROR_ENCODER_NOT_FOUND = -1129203192
AVERROR_EOF = -541478725
AVERROR_EXIT = -1414092869
AVERROR_FILTER_NOT_FOUND = -1279870712
AVERROR_INVALIDDATA = -1094995529
AVERROR_MUXER_NOT_FOUND = -1481985528
AVERROR_OPTION_NOT_FOUND = -1414549496
AVERROR_PATCHWELCOME = -1163346256
AVERROR_PROTOCOL_NOT_FOUND = -1330794744
AVERROR_STREAM_NOT_FOUND = -1381258232
AVERROR_BUG2 = -541545794
AVERROR_UNKNOWN = -1313558101