Dav1d – самый быстрый декодер AV1 теперь в Firefoх по умолчанию
Вступление от Voximplant
Да, мы не впервые пишем про AV1 – у нас уже был перевод про Chrome 70 с поддержкой кодека, и вот мы снова делимся новостями. В этот раз – слово Nathan Egge, старшему инженеру Mozilla и участнику фонда Xiph.org, который порадовал новостью про дефолтную поддержку AV1. Трудно переоценить важность этого кодека для современных стриминговых сервисов, равно как и для real-time приложения для аудио/видеосвязи. Почему dav1d, чем он отличается от первого декодера AV1, немного графиков из бенчмарков и прогноз на будущее – коротко и по делу, прошу под кат.
Релиз Firefox 67 улучшил производительность настолько, что 67-я версия стала быстрее всех предыдущих. Среди улучшений – бесплатный AV1–декодер dav1d, который отныне по умолчанию включен на всех десктопных платформах (Windows, OSX и Linux) для 32- и 64-битных систем.
С файлами, которые на 30% меньше, чем у самого популярного веб-кодека VP9 и почти на 50% меньше файлов его предшественника – H.264, кодек AV1 дает лучшее качество с меньшей нагрузкой на сеть, а также потенциально может изменить, как и где мы смотрим видео в Интернете.
Тем не менее, так как AV1 – это новый и более сложный кодек, некоторые эксперты предсказывали, что его распространение на рынке подождет до 2020 года, когда ожидается появление высокопроизводительных декодеров. Встроенный в браузер Dav1d опровергает эти предсказания.
Поддерживаемый Альянсом Открытых Медиа (Alliance for Open Media, AOM), dav1d – это совместная работа французского некоммерческого VideoLAN и опенсорсного сообщества FFmpeg (кстати, FFmpeg уже как-то делали декодер, который быстрее оригинального, это был FFvp9 для VP9 – прим. переводчика). Лучшие умы мультимедийного опенсорса объединили усилия, чтобы выпустить первую версию dav1d прошлой осенью, которая сразу была в 2-5 раз быстрее libaom, декодера от AOM, который был частью стандарта AV1.
С тех пор разработчики выжали из dav1d еще больше производительности с помощью категоризации и перезаписи критичных разделов в высоко параллелизированной SIMD-сборке. И это видно в бенчмарках:
Более высокие производительность и эффективность означают плавное воспроизведение AV1-видео в браузере при заметном снижении нагрузки на CPU.
AV1 уже применяется в вебе
Появление dav1d в Firefox произошло как никогда вовремя. Только за последние месяцы мы отметили существенный рост использования AV1; по нашим данным, в апреле 11,8% видео в Firefox Beta воспроизводились с использованием AV1, в то время как в марте эта цифра была в районе 3%, а в феврале – 0,85%.
Учитывая, что dav1d встроен в десктопный Firefox, мы ожидаем, что еще больше веб-сайтов будут пользоваться бесплатным кодеком следующего поколения – AV1.
Mozilla вкладывается в будущее AV1
Современные декодеры вроде dav1d великолепно подходят для воспроизведения видео, но добротные, бесплатные и опенсорсные кодеры тоже очень важны для сообщества AV1. Исходный кодер от AOM был разработан, чтобы оформить стандарт AV1, а не сделать кодер для продакшена. Поэтому Mozilla и Xiph.Org совместно разрабатывают «стерильный» кодер rav1e (Rust AV1 Encoder), чтобы он имел преимущества перед исходным кодером и чтобы позволить достаточно быстрое программное кодирование для real-time приложений (например, WebRTC-приложений).
Хорошие кодеры опираются на психовизуальные модели, чтобы выделять биты для того, что человеческое восприятие оценивает как «хорошее качество» (не PSNR). С помощью rav1e мы применим компетенции по анализу восприятия из наших ранних разработок – Daala и Theora – чтобы добавить маскировку активности, более хороший баланс цвета, улучшенный контроль скорости передачи и метрики искажения восприятия вроде CDEF. Все это приведет к новому уровню качества AV1-кодировки.
Мы также прикладываем значительные усилия, чтобы повысить скорость кодировки, применяя техники, которые впервые появятся только в AV1. Недостаточно просто переписать существующий код исходного кодера в SIMD-сборке и сделать его в 4 раза быстрее. Rav1e предлагает способы сделать AV1- кодировку в 1000 (тысячу) раз быстрее с помощью новых алгоритмов, а не оптимизации имеющегося кода.
Rav1e постоянно становится лучше и лучше. Активная разработка продолжится в высоком темпе, чтобы выкатывать мажорные изменения еженедельно.