Преобразование видео в WebM с помощью ffmpeg/avconv

пока пытаюсь оптимизировать размер моего домашнего видео я преобразовал некоторые из них в WebM в качестве теста, используя Pitivi на Xubuntu. Разница в размера значительно. Полученный webm-файл составляет всего около 10% от исходного файла, в то время как качество изображения выглядит практически одинаково.

Я также попытался сделать преобразование с помощью avconv Так что я мог бы написать сценарий, но получившийся файл выглядит действительно паршиво. После просмотра настроек рендеринга в Pitivi I пробовал некоторые параметры: avconv -i -q 5 -qmin 0 -qmax 63 ${1%.*}.webm, но качество по-прежнему выглядит как дерьмо, поэтому кажется, что я пропускаю/использую неправильные параметры. Кто-нибудь знает, какие правильные параметры использовать для преобразования фильма h264 в webm и получить такое же качество, как от Pitivi?

Это настройки в Pitivi:
creating the Pitivi ProjectRendering to webm (html5 video)codec configuration

18
задан Community
14.05.2023 7:32 Количество просмотров материала 3046
Распечатать страницу

1 ответ

Примечание: эта информация основана на ffmpeg Wiki на VP9 кодировка. Пожалуйста, обратитесь к этой статье для получения дополнительной информации – она будет постоянно сохраняться и расширяться. Для достижения наилучших результатов, вы должны использовать последние версии ffmpeg by загрузка с их сайта (статической сборки будет достаточно, она содержит libvps-vp9 энкодер).

Переменная Скорость

кодировка VBR дает вам оптимальное общее качество, в виду того что шифратор может свободно выбрать сколько битов назначить к рамке. Выберите этот режим, если вы не готовите видео для потоковой передачи с постоянным битрейтом.

Вариант 1: кодирование постоянного качества

как правило, если вы не хотите ориентироваться на определенный размер файла, вы должны позволить битрейту свободно меняться, так как это приведет к самому высокому качеству. Вы можете сделать это, установив скорость до 0 и постоянный коэффициент (CRF) до целевого уровня качества:

ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 30 -b:v 0 output.webm

значение CRF может быть от 0-63. Более низкие значения означают лучшее качество. Рекомендуемые значения находятся в диапазоне от 15-35, 31 рекомендуется для 1080p HD видео. Google имеет руководство с подробнее.

Вариант 2: двухпроходное кодирование с целевым битрейтом

если вы хотите, чтобы ваш файл имел определенный целевой битрейт или размер файла, вам нужно указать скорость и использовать два прохода кодирование (которое обеспечит оптимальное распределение качества). Здесь мы выбираем 5 Мбит / с, которых должно быть достаточно для 1080p контента.

ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 1 -f webm /dev/null && \
ffmpeg -i input.mp4 -c:v libvpx-vp9 -b:v 5M -pass 2 output.webm

пользователи Windows должны использовать NUL вместо /dev/null и ^ вместо \.

Постоянная Скорость

прежде всего, libvpx предлагает постоянный битрейт и переменный битрейт режимы кодирования. Постоянный битрейт следует избегать, когда это возможно (если вы не нацелены на конкретный файл размер или потоковый сценарий), так как среднее качество на размер файла будет хуже. Тем не менее, вы можете попробовать установить постоянный битрейт, если больше ничего не работает, например, с 1 MBit/s:

ffmpeg -i input.mp4 -c:v libvpx-vp9 -minrate 5M -maxrate 5M -b:v 5M output.webm

посмотрите на результат и увеличьте или уменьшите скорость передачи по своему вкусу (или ограничения размера файла). Например, можно использовать 500K или 5M и так далее.

необходимо указать -minrate,-maxrate и битрейт -b:v для кодировщика для использования CBR. Они все они должны иметь одинаковое значение-в противном случае он будет выбирать другой целевой битрейт и кодировать VBR, но с плохим качеством.

Audio

текущий аудиокодек для кодирования VP9-Opus. FFmpeg выберет необходимый кодировщик и его опции по умолчанию. Если вы хотите явно задать -c:a libopus, вы можете сделать это также. Обратитесь к libopus документация дополнительные параметры.

53
отвечен slhck 2023-05-15 15:20

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх