1

我在尝试使用 libav 对视频进行编码时遇到了一些麻烦。

ratecontrol.c : 766我说这个断言错误q>0.0

我不知道发生了什么,我知道字母 q 通常代表质量,其中 0 是无损的。

但在这种情况下,我就是无法把握可能出了什么问题。

我有很多关于这个的代码,在这里发布是不可能的。我正在使用带有 gpl 和 libx264 的 ffmpeg 包 1.0。我正在尝试使用 crf 值为 1 的 libx264 编码器进行编码。

我检查了输入的值,它们看起来很合理,我尝试将给定的图像保存到单独的 .bmp 文件中,一切似乎都井井有条。

编辑:

明白了,比特率与编码器不兼容。

奇怪的是它应该做这样的事情来表明这个问题..

4

1 回答 1

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.

由于这个问题非常笼统,我建议您尝试浏览代码,尝试理解它。

于 2012-11-26T10:18:11.143 回答