Поддерживает ли x264 ограничения по скорости на основе времени?

585
Louis

Мне известны методы, позволяющие кодировщику увеличивать скорость передачи битов для относительно сложных последовательностей, но это имеет следствие увеличения общей скорости передачи битов по сравнению с тем, что было желательно для более типичных сцен.

Можно ли ослабить границы на кодере, чтобы дать ему больше степеней свободы с битрейтом, через заданные интервалы?

6
Вы подразумеваете, что переменный битрейт (VBR) увеличивает размер видео x264 по сравнению с постоянным битрейтом (CBR)? Или что-то другое? Как вам может помочь концепция VBR [как описано в этом посте] (http://superuser.com/questions/536001/variable-bit-rates-with-vb-and-minrate-maxrate-settings-in-ffmpeg) ? JakeGould 9 лет назад 0
@JakeGould я имел в виду, что VBR может иметь целевой битрейт, но есть настройки управления скоростью, которые позволяют ему колебаться, чтобы дать более сложным сценам больше битов ... Так что для таких параметров, как дисперсия битрейта или сжатие квантователя, можем ли мы применить более либеральные для некоторых части кодировать? Вроде как, как есть конкретная настройка квантизатора для конечных кредитов. (Предоставление кодировщику большего пространства для передышки дает лучшие результаты для сцен с острым голодом, но увеличивает битрейт по всей доске) Louis 9 лет назад 0
Аааа ... Ладно ... Это, безусловно, хороший вопрос, но не в моей квалификации. Что бы вы использовали для кодирования? FFmpeg? Если так, я бы прояснил это в вашем вопросе; Вы знаете, что здесь есть множество экспертов по кодированию видео. Удачи! JakeGould 9 лет назад 0
@ JakeGould Я тоже, я вроде как жду ответа о соединении разных кодов вместе ... Louis 9 лет назад 1
Хороший вопрос. Невозможно определить конкретные интервалы, в которых ограничения ослаблены. Мне любопытно ... Когда вы говорите, что увеличение "свободы" приводит к общему увеличению битрейта, можете ли вы привести конкретный пример? Вы делаете один проход или два прохода ЦБ РФ? Или VBV кодирование? slhck 9 лет назад 0
тоже из моего набора навыков, но разве двухпроходная попытка сделать это? Tetsujin 9 лет назад 0
@slhck Хорошо, спасибо ... пришлось спросить. Я говорил о двухпроходном режиме VBR и CRF. Дело в том, что для большей части фильма требуется скорость передачи битов около x кбит / с, а для сложных сцен требуется 4x или около того: скажем, есть длинная сцена с фиксированной камерой, на которой кто-то лежит в постели и мыслит вслух. Затем внезапно происходит автомобильная погоня через апокалипсис. Я вижу, как ограничения на внезапную дисперсию превращаются в блочные части кодирования в подобных случаях. Я чувствую, что должен сказать кодировщику такие вещи, как, используйте больший `qpstep`, используйте высокий` ratetol`, возможно, отключите mbtree. Но тренд тянется вверх по всем направлениям. Louis 9 лет назад 1
Все это звучит разумно. Не уверен, что еще можно попробовать, правда. Я предполагаю, что достаточно низкий CRF делает это в любом случае, неявно, сохраняя биты там, где психовизуальная не нужна. Но это зависит от приложения и конечной цели. slhck 9 лет назад 0
@slhck Хехех, да, CRF достаточно хорош, поэтому он не так заметен во время воспроизведения. Louis 9 лет назад 0

1 ответ на вопрос

3
Mathias

There is the x264 Zones parameter:

x264 --fullhelp ... --zones <zone0>/<zone1>/... Tweak the bitrate of regions of the video Each zone is of the form <start frame>,<end frame>,<option> where <option> is either q=<integer> (force QP) or b=<float> (bitrate multiplier) 

Use it like so: --zones 400,500,crf=10

I think this describes it best.

Я думаю, что я должен кому-то щедрость. С нетерпением жду возможности попробовать это. Louis 8 лет назад 0
Какая награда? Друг отправил меня сюда, это была какая-то дискуссия? Я в порядке только с галочкой ... Mathias 8 лет назад 0
Да вроде. Я не думал, что это возможно, и сказал, что я даю награду за ответ здесь. Louis 8 лет назад 0

Похожие вопросы