Заметки команды о мастерстве, форматах и небольших решениях, стоящих за хорошим результатом.
Картина совместимости AVIF в 2026 году
Поддержка AVIF в браузерах достигла примерно 94,3 процента глобальных браузеров к 2026 году, но браузерная поддержка - не вся картина. Большая доля потребления изображений происходит вне браузеров: почтовые клиенты рисуют встроенные картинки, редакторы дизайна открывают файлы для правки, системы публикации проверяют и переобрабатывают загрузки, конвейеры доставки изображений, редакторы документов встраивают ресурсы и соцсети обрабатывают изображения в момент загрузки. В большинстве этих внебраузерных систем поддержка AVIF заметно отстаёт от браузерной. Gmail, Outlook и большинство корпоративных почтовых клиентов всё ещё прогоняют изображения через старые конвейеры, которые отвергают AVIF. Adobe Creative Cloud добавила поддержку AVIF только в версиях конца 2024 года. Многие настройки WordPress со старыми плагинами изображений всё ещё блокируют AVIF при загрузке. WebP, напротив, принят почти на всех этих площадках уже годами. Преобразование AVIF в WebP - мост совместимости для этой внебраузерной инфраструктуры.
Почему преобразование быстрое с обеих сторон
Преимущество в скорости AVIF в WebP над обратным направлением идёт от устройства кодеков. Декодирование AVIF выполняет нативный декодер браузера, который на современных устройствах работает с аппаратным ускорением. Сохранение WebP использует нативные средства браузера для WebP, тоже с аппаратным ускорением на большинстве платформ. Ни одной из операций не нужно грузить тяжёлый модуль, а именно это узкое место при создании AVIF. Средства для выхода в AVIF большие и требуют около секунды на запуск в рамках сессии. AVIF в WebP всё это пропускает. Конвейер декодирует, а затем сохраняет нативными путями, и полный круг для фотографии на 2 мегапикселя завершается заметно быстрее секунды в любом современном настольном или ноутбучном браузере. Это делает преобразование AVIF в WebP пригодным для интерактивных процессов, где пользователь ждёт ответа меньше чем за секунду.
Во что на самом деле обходится пересохранение
Преобразование AVIF в WebP включает один шаг пересохранения. AVIF изначально был создан с какой-то долей сжатия с потерями. Его декодирование даёт значения пикселей, отражающие этот источник с потерями. Затем средства WebP применяют собственное сжатие к этим пикселям при настройке, близкой к без потерь, выставленной на качество 85. При такой настройке выход замеряется около 44 дБ PSNR на типичном фотоконтенте. Для зрителя, который смотрит фотографию в обычном размере показа, разница между исходным AVIF и выходным WebP не видна. Для графики с очень мелким текстом малого размера, попиксельно точных значков или цветовых блоков с жёсткими краями накопленный эффект двух проходов с потерями может показать тонкие различия при близком осмотре. Прежде чем переводить целую библиотеку, протестируйте показательную выборку при полном увеличении на самых чувствительных к качеству ресурсах.
Круг прозрачности в подробностях
Прозрачность в AVIF закодирована в отдельном слое, который браузер декодирует вместе с цветовым содержимым при чтении файла. Когда браузер декодирует AVIF, он выдаёт и цветовой буфер, и маску прозрачности. Преобразование совмещает оба при полной прозрачности, сохраняя каждый частично прозрачный деталь. Затем средства WebP записывают WebP с потерями, у которого слой прозрачности отдельный и закодирован алгоритмом WebP без потерь именно для альфа-плоскости. В итоге маска прозрачности выходного WebP хранится без потерь относительно значений альфы, декодированных из AVIF. Мягкие градиенты и растушёванные края переживают переход. Единственная присутствующая деградация альфы - та, что внесла исходная кодировка AVIF. Если у исходного AVIF чистые края альфы, у выходного WebP они тоже чистые, и маска готова к наложению поверх любого фона.
Сравнение выхода с альтернативами
Когда нужно сделать AVIF совместимым с системой, которая не читает AVIF, есть три реалистичных варианта: преобразовать в WebP, в PNG или в JPG. JPG - неверный выбор для любого ресурса с прозрачностью, потому что у JPG нет слой прозрачностиа и он сводит её в сплошной цвет. PNG даёт самый крупный файл, обычно в три - десять раз больше размера AVIF, и подходит только тогда, когда нужен промежуточный формат без потерь или получатель требует именно PNG. WebP стоит посередине: даёт универсальную современную совместимость, сохраняет прозрачность и выдаёт файл обычно на 20 - 25 процентов крупнее AVIF, а не на 300 - 1000 процентов, как PNG. Для любого преобразования ради совместимости, которому не нужен выход без потерь, WebP - верный промежуточный формат.
Одиночное в браузере, пачки на сервере
Эта пара работает двумя путями в зависимости от задачи. Одиночный AVIF декодируется и заново сохраняется как WebP целиком внутри вашего браузера нативными путями, поэтому для одного файла отправки нет вовсе, подтверждено нулём исходящих запросов после загрузки страницы. Это верный путь для чего-то быстрого и для конфиденциальной работы клиента, собственных снимков продукта или документов, которые вы предпочитаете держать на своей машине. Конвертация нескольких файлов сразу делается на нашем сервере, потому что группировать, упаковывать и выдавать набор это задача, которую сервер делает хорошо: файлы поднимаются, кодируются, упаковываются и возвращаются одной загрузкой, которая стирается примерно за 2 часа, без учётной записи и без долгого хранения. На практике: одиночное преобразование обрабатывается локально, а пачка обрабатывается удалённо, но держится лишь то короткое окно, что берёт загрузка.