FFMPEG / x264: однопроходный: как повысить битрейт времени запуска?
При использовании однопроходного режима с указанным размером VBV libx264 будет изначально «мешать с песком» битрейта, предположительно из-за отсутствия доказательств (или, возможно, даже ошибки). ( Это ироническое продолжение этого вопроса, который имел дело с чрезмерно ВЫСОКИМИ начальными битрейтами при однопроходном кодировании без спецификации VBV )
Пожалуйста, смотрите графики битрейта внизу для получения дополнительной информации: обратите внимание на исходный провал, за которым следует перекоррекция («Эй, у меня осталось несколько битов!») Перед нормализацией. Обратите внимание, что это исправлено в двухпроходном решении. Отсутствие начального I-кадра на этих двух графиках, вероятно, является ошибкой инструмента (значение PTS исходного I-кадра составляет 0,15 секунды).
Этот эффект предотвращает параллельную обработку длинного актива «разделение, кодирование и повторную сборку», поскольку вы получите качественный импульс в начале каждого сегмента.
Это можно исправить с помощью двухпроходного кодирования, что является неприемлемым решением для потоков в реальном времени (хотя при распараллеливании можно было бы оплатить стоимость двухпроходного кодирования).
Я надеюсь, что есть два решения: любая помощь будет более чем желанной.
Однопроходное решение, при котором кодировщику предписано вначале удерживать намного больше кадров, прежде чем создавать выходные данные, тем самым уменьшая первоначальный эффект мешка с песком
Способ выполнения ограниченного двухпроходного кодирования в качестве «канала»: полное двухпроходное кодирование в качестве канала, конечно, бессмысленно, но должно быть возможно иметь «микропроходы», когда период обратной связи прохождения является чем-то вроде второй. Это гораздо менее идеально, чем однопроходное решение, чтобы обойти такой короткий эффект, но было бы приемлемо, если (1) невозможно.
- График битрейта за один проход: обратите внимание на начальное «падение мешка с песком» Создано с:
ffmpeg -i 1080-60fps.mp4 -vf "scale = 1200: 720" -b: v 1000k -bufsize 1000k onepass.mp4
- Двухпроходный битрейт-график: это почти идеальный результат. Обратите внимание, что эта окончательная форма не обязательна: достаточно избежать первоначального мешка с песком. Создано с:
ffmpeg -i 1080-60fps.mp4 -vf "scale = 1200: 720" -b: v 1000k -pass 1 -f mp4 / dev / null
ffmpeg -i 1080-60fps.mp4 -vf "scale = 1200: 720" -b: v 1000k -pass 2 twopass.mp4
- Раздел первого кадра в однопроходном кодировании
- Раздел первого кадра в двухпроходном кодировании
0 ответов на вопрос
Похожие вопросы
-
3
Windows Media Center (Vista): дополнение или программное обеспечение для обрезки телевизионных запис...
-
3
Обработка видео с картами ATI
-
1
VirtualDub для Linux
-
-
2
Какое использование диска используют видео в формате RAW?
-
1
Приложения Java в браузере вспыхивают / рвутся при прокрутке - почему это так?
-
3
Воспроизведение видео рипов с помощью Windows Media Center
-
5
Как лучше всего смотреть интернет-фильмы (Hulu и т. Д.) На моем телевизоре?
-
4
Вставить Flash видео в документ MS Word (2003 или 2007)
-
10
Принудительно установить собственное разрешение для монитора без PnP в Windows
-
4
Как узнать, почему Windows Media Center не воспроизводит фильм?