FFMPEG日志中的图片大小0x0无效

时间:2012-10-05 14:38:41

标签: ffmpeg

在我的程序中,我正在尝试从某个URL解码MPEG4流并且解码失败。奇怪的是,来自其他网址的MPEG4流被解码得很好,所以这不是没有编解码器的问题。

以下是我的解码方式:

1)找到解码器:

   AVCodec* codec = avcodec_find_decoder(CODEC_ID_MPEG4);

2)分配上下文

 ACodecContext* ctx = avcodec_alloc_context3(0);

3)打开编解码器

avcodec_open2(ctx, codec, 0) // it returns > 0, fine 

4)解码数据包(我有)

   avcodec_decode_video2(ctx, frame, &decoded, &packet);

现在avcodec_decode_video2无法返回-1和FFMPEG日志打印:

图片大小0x0无效 get_buffer()失败(-1 0 0x0)

如果我在解码前手动设置ctx->widthctx->height到正确的值(我知道图片的尺寸),那么它解码得很好。

但我不能一直确定尺寸,因此我想知道我是否能克服-1错误。

通过查看FFMPEG日志输出,任何人都可以建议我做些什么吗?

1 个答案:

答案 0 :(得分:4)

文件是否有正确的VOL标头?如果没有,你将面临这个问题。 VOL标题具有高度和宽度。