libav视频编码ratecontrol.cpp:766

时间:2012-11-26 07:59:11

标签: c++ libav

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

我从ratecontrol.c : 766得到q>0.0

的断言错误

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

但在这种情况下,我无法理解可能出现的问题。

我有很多关于此的代码,并且无法在此处发布。我正在使用ffmpeg包1.0和gpl和libx264。我正在尝试使用crf值为1的libx264编码器进行编码。

我已经检查了进入的值并且它们看起来很合理,我试图将给定的图像保存为单独的.bmp文件,所有内容似乎都是有序的。

编辑:

知道了,比特率与编码器不兼容。

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

1 个答案:

答案 0 :(得分: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

由于这个问题非常笼统,我建议你尝试一下代码,试着去理解它。