Пакетное сжатие видео через ffmpeg. Конвертируем h264 в h265 бесплатно без регистрации и смс

Предисловие

На скринкастах более статичного содержимого, например, видеоуроков - ffmpeg сжимал размер в 9-10 раз: автоматически выставляя подходящий битрейт

2828

Сегодня я бы рекомендовал использовать AV1 вместо H.265. H.265 файлы, например, не проиграются в браузере, если загрузить их на какое-нибудь онлайн хранилище (где нет отдельного плеера), AV1 же - проиграется, так как он royalty-free и его поддержку уже завезли везде где надо.

Если судить по настройкам по умочанию которые выбираются FFmpeg согласно конфигу ОП'а, примерным аналогом и по размеру файла, и по скорости энкодирования на SVT-AV1 будут эти параметры, давая при этом более качественный результат:

-c:v libsvtav1 -preset 8 -crf 45 -svtav1-params tune=0

Но это, как собственно и то, что выставляет FFmpeg по умолчанию для libx265, слишком грубые настройки. Я бы рекомендовал -crf на 32 для 1080р контента и -crf 28 для 720р контента, либо же оставить где-то на crf 30-35 для универсального конфига.

Пресет тоже влияет. Выше preset 6 брать не стоит, возможно, выше preset 7 в самой последней версии SVT-AV1, где представили серьезные оптимизации пресетов. Но если preset medium для libx265 (т.е. то, что использует FFmpeg по умолчанию в конфиге ОП'а) устраивает, то, закрывая монитор рукой, напишу, что preset 8 тоже должен устроить.

Скрин для сравнения. Для доступа к самой последней версии SVT-AV1, качать надо последние git билды FFmpeg'a:
https://www.gyan.dev/ffmpeg/builds/ (Windows)
https://github.com/BtbN/FFmpeg-Builds/releases (Linux / Windows)

P.S. единственный момент, который следует держать в уме - AV1 кушает процессор, а аппаратные декодеры AV1 еще не везде завезли. Мой самый слабый девайс, ноут на Intel N4000, тянет 720p@60fps, а вот на 1080@30fps уже статтерит.

7
Ответить

Уже давно h265 проигрывается в браузере

1
Ответить

жаль что всё немного портит необходимость иметь RTX 40xx в системе для аппаратной обработки этого кодека.

Ответить

crf/cq можно вообще спокойно в 0 ставить, он там сам разберётся какое наиболее оптимальное значение выбрать. в большинстве случаев по моему опыту - выбирает он гораздо рациональнее чем я сам своими ручными подвотками. а личные рекомендации по цифрам тут вообще нелепо оставлять, всё сильно зависит от конкретного обрабатываемого куска видео.

Ответить

Хотел бы добавить что если хочется побыстрее, то можно другие кодеки использовать, чтобы получилось аппаратное ускорение. Только там проблемы могут быть с качеством, надо правильно настройки выставлять

Ответить