Кстати, сейчас уже появился AVIF: AV1 in HEIF https://en.wikipedia.org/wiki/High_Efficiency_Image_File_Format Я тестировал AV1 на видео. Могу сказать, что dav1d декодер в 3 раза быстрее aom'а. А вот с кодерами не все так однозначно, конечно, зависит от настроек и дефолтов: rav1e и aom жмут соизмеримо. Но, то ли я криво собрал, то ли какие-то опции нужны, но rav1e (который считается продвинутей) использует только одно ядро. Кодят очень долго, а вот декод довольно быстрый. На Pentium 4: AV1 1080p с ютуба через dav1d (threads=2) декодится на скорости 0.33x (всего лишь в 3 раза медленнее реалтайма) Encode 320:240 25p 1 кадр за 3 секунды на средних настройках. Для сравнения: x265 кодится гораздо быстрее, но тоже медленно, конечно. Еще могу сказать, что при недостатке битрейта, или скажем так при неизбытке, в AV1 картинка мылится, но выглядит чисто (в rav1e мылится больше). VP9/x265 не сравнивал, но x264 порождает артефакты (на пресете medium больше, на slower меньше, но они все равно есть). На том же битрейте. AV1 не зря ест свой хлеб (столько времени тратит на энкод).Кстати, rav1e 0.3.3 собирал растом (1.45) на Ubuntu 16.04. Он без спроса выкачал старый раст 0.45, собрал его и кучу библиотек и rav1e собрался версии 0.3.0. Я так понял, система слишком старая и раст выкачал совместимую версию компилятора и кодера. Какая продвинутая забота! На обычных сборочных инструментах совместимые версии пришлось бы искать самому. Rust производит очень жирные бинарники, но они худеют раз в 10 после strip --strip-unneeded Старый ffmpeg 4.1 по умолчанию использует aom для декода. Новый ffmpeg 4.3.1 по умолчанию использует libdav1d для декода, даже если aom установлен. Причем нагружает все ядра. Имхо, лучше сжимать не ffmpeg'ом, а родными утилитами. Там есть справка и продвинутые настройки. В случае с ffmpeg'ом их пришлось бы переносить. Я еще собрал свежие x265 и vpx (с поддержкой 12 бит).
|