Кодек AV1

FFmpeg поддерживает кодирование в AV1 использую внешние библиотеки а именно - libaom, librav1e, libsvtav1 и libdav1d.

libdav1d - Только декодер и его не рассматривал.

libaom

Последний коммит 4 года назад. Основан на libvpx который в свою очередь разрабатывает Google и который до сих пор активно разрабатывается.

librav1e

Написано на Rust и позиционируют себя как самый быстрый и самый безопасный AV1 кодер. Сравнивают себя с libaom и что они гораздо быстрее. Вроде до сих пор активно разрабатывается но видел новость что Mozilla уволила большую часть разработчиков и с 2020 какого-то года активно все же он не пилится.

libsvtav1

Как я понимаю является сейчас стандартом принятым Alliance of Open Media (AOM). Разработан в коллаборации Intel и Netflix в 2020 году, совпало с забросом libaom 🤔. Самый новый кодер. Разработан специально чтобы хорошо работать на многопроцессорных и многопоточных маштинах.

Тестирование

Исходный ролик в FullHD - 47.6 МБ, 29 секунд.

Доп:

Кодируем в:

Кодирование в H.264 оставлено как часть флоу, основное время тарится на AV1 кодирование и только в нем меняем кодеки в ходе тестирования, а значит кодирование в H.264 константа которой можно принебречь.

Команды:

Кодек Время Утилизация CPU
librav1e 8 минут ~16%
libaom-av1 6 минут ~30%
libsvtav1 1 минута ~100%

🏆 Победитель

libsvtav1 - имеет тотальное превосходство над остальными кодерами в многопоточных системах. Он единственный может полностью утилизировать CPU и скорость сравнима с транскодингом в H.264. Can I use? - можно использовать.

Содержание: