av_guess_format返回null

时间:2012-03-06 14:50:06

标签: api null ffmpeg

我使用了来自http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/output-example_8c-source.html的示例:

out_ctx = avformat_alloc_context();
out_ctx->oformat = av_guess_format(NULL, filename, NULL);
if (out_ctx->oformat == NULL)
{
    out_ctx->oformat = av_guess_format("mpeg4", NULL, NULL);
    if (out_ctx->oformat == NULL)
    {
        LOGI(1, "Could not guess output format\n");
        exit(1);
     }
}

av_guess_format始终返回null。我不明白我必须在FFMPEG中重新配置什么才能启用任何格式。

2 个答案:

答案 0 :(得分:3)

如果您阅读了该主题,您将看到该问题尚未得到解答 - 甚至还有另一张海报要求最终解决方案,但原始提问者没有回复。我也很难用这个,因此我觉得这个帖子需要保持开放,因为原来的问题仍然没有答案。

但是,既然我现在知道了答案,我不妨在这里分享一下:

在通过调用avcodec_init()设置编解码器库之后,必须调用av_register_all()以及avcodec_register_all(),这解决了我的问题并且现在工作得很好。如果这对你有所帮助,请告诉我。

答案 1 :(得分:1)

致电

av_register_all();
avcodec_register_all();

在使用av_guess_format()之前解决了我的问题。