2012-11-26 51 views
1

我嘗試使用libav編碼視頻時遇到了一些麻煩。libav視頻編碼ratecontrol.cpp:766

我從ratecontrol.c : 766的斷言錯誤說q>0.0

我不知道是怎麼回事,我知道字母q通常代表着品質,其中0是無損的。

但在這種情況下,我無法理解可能會出現什麼問題。

我對此有很多代碼,並且在這裏發佈是不可能的。我用gpl和libx264使用ffmpeg軟件包1.0。我試圖用crx值爲1的libx264編碼器進行編碼。

我檢查了進入的值,他們似乎明智,我試圖保存給定的圖像以分隔.bmp文件,一切似乎保持秩序。

編輯:

明白了,比特率與編碼器不兼容。

很奇怪,它應該做這樣的事情,表示這個問題..

回答

1

問題中的文件似乎是libav ratecontrol.c

圍繞一個線條是:

763   q= modify_qscale(s, rce, q, picture_number); 
764 
765   rcc->pass1_wanted_bits+= s->bit_rate/fps; 
766 
767   assert(q>0.0); 

所以似乎你必須深入並瞭解modify_qscale

因爲這個問題很普遍,所以我建議你嘗試一下代碼,試着理解它。

+1

我現在就在它。這不是一件簡單的事情,需要一些時間來理解。 有什麼建議可能會導致這種情況? 感謝您的鏈接。 – 0xbaadf00d

+1

我認爲我有一些東西,如果事實證明,我會明天更新(從現在起16個小時)。 – 0xbaadf00d