кодировка видео libav ratecontrol.cpp: 766

У меня возникли некоторые проблемы при попытке кодировать видео с использованием libav.

Я получаю ошибку подтверждения от ratecontrol.c : 766 говоря это q>0.0

Я понятия не имею, что происходит, я знаю, что буква q обычно обозначает качество, где 0 — без потерь.

Но в этом случае я просто не могу понять, что может быть не так.

У меня много кода по этому поводу, и разместить его здесь невозможно. Я использую пакет ffmpeg 1.0 с gpl и libx264. Я пытаюсь кодировать, используя кодировщик libx264 со значением crf 1.

Я проверил входящие значения, и они кажутся разумными, я попытался сохранить данные изображения в отдельных файлах .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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]