我使用了来自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中重新配置什么才能启用任何格式。
答案 0 :(得分:3)
如果您阅读了该主题,您将看到该问题尚未得到解答 - 甚至还有另一张海报要求最终解决方案,但原始提问者没有回复。我也很难用这个,因此我觉得这个帖子需要保持开放,因为原来的问题仍然没有答案。
但是,既然我现在知道了答案,我不妨在这里分享一下:
在通过调用avcodec_init()设置编解码器库之后,必须调用av_register_all()以及avcodec_register_all(),这解决了我的问题并且现在工作得很好。如果这对你有所帮助,请告诉我。
答案 1 :(得分:1)
致电
av_register_all();
avcodec_register_all();
在使用av_guess_format()
之前解决了我的问题。