2012-03-06 55 views
0

我使用http://cekirdek.pardus.org.tr/~ismail/ffmpeg-docs/output-example_8c-source.html例如:av_guess_format返回NULL

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

你試圖識別什麼類型的文件?什麼是擴展名以及「文件」實用程序在針對文件運行時返回的內容是什麼? – 2012-03-06 19:22:22

+0

這是在這裏回答:http://stackoverflow.com/questions/8526738/ffmpeg-av-guess-format-returns-null – 2012-03-19 21:08:46

回答

2

如果您閱讀主題,您會發現問題尚未得到解答 - 甚至還有一份海報要求提供最終解決方案,但沒有提供原始提問者的回覆。我對此也感到很難接受,因此感覺這個線程需要保持開放,因爲原來的問題還沒有得到答案。

但是,因爲我現在知道答案了,我還不如在這裏分享:

必須調用av_register_all()以及avcodec_register_all()你已經設定了編解碼器庫的調用後avcodec_init (),這解決了我的問題,現在工作很好。請讓我知道這是否有助於你。

+0

它適用於我後添加調用av_register_all() – 2013-12-01 06:21:10

0

調用

av_register_all(); 
avcodec_register_all(); 

使用av_guess_format()之前解決了這個問題對我來說。