WebP появился как формат для веба и постепенно стал обычным делом: он даёт лучшее сжатие, чем JPEG, поддерживает прозрачность как PNG и анимацию как GIF. Долгое время проблема была не в браузерах, а в системе: файловый менеджер не показывал миниатюры, просмотрщик не открывал файл, а приложение отказывалось его принимать.

В Ubuntu 22.10 встроенная поддержка стала штатной: в поставку включили загрузчик webp-pixbuf-loader, который учит GTK-приложения понимать WebP. Разберём, что это меняет и как работать с форматом на практике.

Что такое WebP

Формат использует сжатие на основе VP8 для изображений с потерями и отдельный режим без потерь. Он поддерживает альфа-канал, анимацию и метаданные EXIF. На практике WebP-файл того же визуального качества обычно на 25–35% меньше JPEG, а прозрачный WebP заметно легче PNG.

Ограничения тоже есть: нет CMYK, что важно для полиграфии, и не все старые программы умеют его открывать. Для веба это не проблема, для издательского процесса — повод конвертировать в TIFF или PNG.

Почему важна системная поддержка

Браузер мог открывать WebP давно, но система — нет. Миниатюры в файловом менеджере, просмотр в галерее, вставка в редактор — всё это зависит от библиотеки gdk-pixbuf, которая загружает изображения для GTK-приложений. Без загрузчика файл отображался как неизвестный.

Пакет webp-pixbuf-loader добавляет поддержку в gdk-pixbuf, а значит, в Nautilus, Eye of GNOME, Shotwell и других GTK-программах. В Ubuntu 22.10 его включили в поставку по умолчанию.

Проверка и установка

Проверьте, установлен ли загрузчик и видит ли его система:

dpkg -l | grep webp-pixbuf
ls /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/ | grep -i webp
file image.webp

Если пакета нет, установите его:

sudo apt install webp-pixbuf-loader
sudo apt install webp

После установки может потребоваться перезапустить файловый менеджер или обновить кэш миниатюр:

rm -rf ~/.cache/thumbnails
nautilus -q

Конвертация

Утилиты cwebp и dwebp входят в пакет webp. Для фотографий используйте сжатие с потерями и подберите качество:

cwebp -q 82 photo.jpg -o photo.webp
cwebp -lossless screenshot.png -o screenshot.webp
dwebp photo.webp -o photo.png

Для пакетной обработки подойдёт цикл или ImageMagick с поддержкой WebP:

for f in *.jpg; do cwebp -q 80 "$f" -o "${f%.jpg}.webp"; done
magick input.png -quality 85 output.webp
ls -lh *.webp | head

Сравнивайте результат глазами, а не только по размеру: качество 60 может быть приемлемым для фона и неприемлемым для текста. Для скриншотов интерфейса часто лучше режим без потерь.

Когда WebP не нужен

Для фотографий, которые будут печатать, — используйте TIFF или JPEG высокого качества. Для изображений с точной цветопередачей проверяйте, поддерживает ли пайплайн цветовые профили: не все инструменты переносят ICC-профиль в WebP.

Для очень маленьких иконок разница в размере несущественна, а совместимость может быть важнее. Для архивов выбирайте формат, который точно откроется через десять лет: JPEG и PNG здесь надёжнее.

Поддержка в приложениях и на сайтах

Браузеры поддерживают WebP уже много лет, WordPress научился принимать его в 6.1, а серверы отдают файл с правильным MIME-типом автоматически. Основная сложность — старые библиотеки и плагины, которые проверяют расширение и не ожидают увидеть .webp.

curl -I https://example.com/image.webp
# Content-Type: image/webp

Если сайт использует CDN, проверьте, что он не перекодирует изображение в JPEG и корректно кэширует новый формат.

Практический пайплайн для сайта

  1. Храните исходники в PNG или TIFF.
  2. Готовьте два варианта: WebP для современных браузеров и JPEG как запасной.
  3. Указывайте размеры и srcset, чтобы не отдавать 4K-картинку на телефон.
  4. Проверяйте MIME-тип и кэширование.
  5. Сравнивайте вес до и после, а не только качество на глаз.
du -h image.jpg image.webp
identify image.jpg image.webp

Анимация и прозрачность

WebP умеет не только статические картинки: формат поддерживает альфа-канал и анимацию, поэтому иногда заменяет PNG и GIF одновременно. Для прозрачных скриншотов интерфейса используйте режим без потерь, иначе тонкие линии и текст получат заметные артефакты.

cwebp -lossless -q 100 icon.png -o icon.webp
cwebp -q 85 -alpha_q 90 logo.png -o logo.webp

Анимацию собирают утилитой img2webp из набора WebP. Кадры лучше готовить заранее в одинаковом размере: смешение разрешений приводит к артефактам и лишнему весу. Проверить параметры готового файла можно через webpmux -info.

img2webp -loop 0 -d 120 frame-*.png -o demo.webp
webpmux -info demo.webp

WebP, AVIF и что выбрать

AVIF сжимает фотографии ещё сильнее, но кодирование заметно медленнее, а поддержка в старых программах хуже. WebP остаётся безопасным компромиссом: его понимают все актуальные браузеры, WordPress и большинство графических редакторов. Для сайта разумно отдавать AVIF там, где он поддерживается, WebP как основной вариант и JPEG как запасной.

Практическое правило простое: фотографии — WebP с потерями качества 75–85, скриншоты и схемы — WebP без потерь, анимация — WebP вместо GIF, печать — TIFF или PNG. Перед публикацией проверяйте файл в браузере и в файловом менеджере: поддержка на уровне системы и поддержка на уровне сайта — разные вещи.

Итог

Встроенная поддержка WebP в Ubuntu 22.10 убирает последнее неудобство формата: система теперь показывает миниатюры и открывает файлы без дополнительных действий. Для веба это экономия трафика и более быстрые страницы; для полиграфии — по-прежнему не основной формат. Конвертируйте осознанно, храните исходники и проверяйте результат на реальных экранах.

Насколько публикация полезна?

Нажмите на звезду, чтобы оценить!

Средняя оценка 0 / 5. Количество оценок: 0

Оценок пока нет. Поставьте оценку первым.

Поделиться: Telegram ВКонтакте