【问题标题】:libav video encoding ratecontrol.cpp:766libav 视频编码 ratecontrol.cpp:766
【发布时间】:2012-11-27 17:48:27
【问题描述】:

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

我收到来自ratecontrol.c : 766 的断言错误,说q>0.0

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

但在这种情况下,我无法理解可能出了什么问题。

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

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

编辑:

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

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

【问题讨论】:

    标签: c++ libav


    【解决方案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

    由于这个问题很笼统,我建议你试着翻一下代码,试着理解一下。

    【讨论】:

    • 我现在就在。但这不是一件简单的事情,需要一些时间才能理解。关于可能导致这种情况的任何建议?感谢您的链接。
    • 我想我正在做一些事情,如果它证明是源,我会在明天(从现在起 16 小时后)更新。
    猜你喜欢
    • 2014-02-06
    • 2017-03-09
    • 1970-01-01
    • 2012-12-17
    • 2015-05-21
    • 1970-01-01
    • 2012-11-30
    • 2012-04-03
    • 2014-02-24
    相关资源
    最近更新 更多