Анимированное изображение WebP (.webp)

RFC Стандарт

WebP: современный формат изображений, разработанный Google. Он обеспечивает высокую эффективность сжатия с потерями и без потерь для веб-изображений и поддерживает прозрачность альфа-канала и анимированные кадры.

Конвертировать из JPG в WEBP

Бесплатный конвертер из JPG в WEBP прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.

Сжатие WebP онлайн

Конфиденциально - файлы никогда не покидают ваше устройство

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы WebP по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

Конфиденциально - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполнялась локально в песочнице Вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы WebP по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

52 49 46 46 ?? ?? ?? ?? 57 45 42 50

ПРЕДСТАВЛЕНИЕ ASCII: RIFF????WEBP

Стандартизация: RFC 6386 / Спецификация контейнера RIFF

Технические спецификации

Архитектура контейнераКонтейнер Resource Interchange File Format (RIFF) с FourCC 'WEBP'
СжатиеСжатие с потерями на основе предсказательного внутрикадрового кодирования VP8 и сжатие без потерь на основе пространственного энтропийного кодирования VP8L
Порядок байтов (Endianness)Младший байт первым (Little-Endian) для размеров чанков RIFF и тегов контейнера
Цветовые пространстваsRGB, Внедренные ICC-профили (через расширенный заголовок VP8X)
Каналы и структураRGB + Альфа (8 бит на канал)
Максимальные размеры16 383 x 16 383 пикселей (14-битные беззнаковые целые числа)
ПрозрачностьПолная 8-битная прозрачность альфа-канала как в режимах с потерями, так и без потерь
Потоковая передача и прогрессивная загрузкаПрогрессивное декодирование поддерживается благодаря инкрементальному декодированию блоков VP8

Техническая матрица сравнения: WebP с конкурентами

Технический атрибутWebP (Текущий)JPEGPNGAVIF
Поддерживаемые режимы сжатияИ с потерями (VP8), и без потерь (VP8L)Только с потерямиТолько без потерьИ с потерями (AV1), и без потерь
Альфа-прозрачностьДа (и с потерями, и без потерь)НетДаДа
Поддержка анимацииДа (несколько кадров с задержками между ними)НетТребуется расширение APNGДа (последовательности изображений AVIF)
HDR / Широкая цветовая гаммаТолько 8-битный sRGBСтандартная глубина: 8 бит8 и 16 битНативный HDR с глубиной 10 и 12 бит
Поддержка браузерамиПоддерживается более чем в 97% современных браузеров по всему миру.100%: универсальная поддержка100%: универсальная поддержкаПоддерживается более чем в 93% современных браузеров

Распространенные сценарии повреждения и руководство по восстановлению в HEX

Браузер не отображает изображение WebP или показывает значок отсутствующего изображения.

Первопричина: Длина полезных данных, указанная в заголовке RIFF (байты 4-7), не совпадает с фактической длиной файла на диске.

Восстановление: Вычислите длину файла минус 8 байт и исправьте значение 4-байтового беззнакового целого в порядке Little-Endian по смещению 0x04.

Декодер выдает ошибку 'Invalid FourCC: Expected WEBP'.

Первопричина: Байты 8-11 не содержат ASCII-символы 'WEBP'.

Восстановление: Убедитесь, что по смещению 0x08 указаны байты 0x57 0x45 0x42 0x50 («WEBP»), а заголовок блока соответствует «VP8 » или «VP8L».

Анализ безопасности и векторы атак на парсер

Парсер WebP стал объектом пристального внимания специалистов по безопасности после CVE-2023-4863, что привело к повсеместному усилению изоляции в песочницах основных веб-браузеров.

Известные векторы атак

  • CVE-2023-4863: Переполнение буфера в куче в функции BuildHuffmanTable библиотеки libwebp при разборе некорректных таблиц Хаффмана для сжатия без потерь, позволяющее выполнить удаленный код.
  • Целочисленное переполнение при декодировании размеров холста кадра анимации с превышением допустимых значений.

Лучшие практики защиты: Убедитесь, что все клиентские и серверные библиотеки используют libwebp версии 1.3.2 или выше. Декодируйте файлы WebP в рабочих потоках, изолированных в песочнице с ограничением доступа к памяти.

История происхождения и ключевые этапы

2020Apple Safari 14 добавляет нативную поддержку WebP, обеспечивая 100%-ный охват основных браузеров.
2012В WebP добавляется сжатие без потерь (VP8L), прозрачность альфа-канала и анимация.
2010Google выпускает WebP как открытый формат изображений для ускорения работы в интернете.

Ключевые преимущества и плюсы

  • Изображения WebP с потерями на 25-35% меньше сопоставимых изображений JPEG при одинаковом качестве по SSIM.
  • WebP без потерь обычно на 26% меньше стандартного PNG.
  • Единый формат поддерживает фотографии, графику с прозрачностью и небольшие анимированные ролики.

Технические ограничения и минусы

  • Максимальные размеры ограничены 16 383 x 16 383 пикселями, что препятствует созданию панорамных изображений сверхвысокого разрешения.
  • Поддерживает только 8-битную глубину цвета (нет нативной поддержки 10-битного или 12-битного HDR).
  • Кодирование сложных изображений с потерями требует больше циклов ЦП, чем кодирование с помощью старых кодировщиков JPEG.

Интересные технические факты

  • WebP основан на алгоритмах внутрикадрового предсказания по ключевым кадрам видеокодека VP8 с открытым исходным кодом от Google.
  • Контейнер RIFF, используемый WebP, полностью идентичен архитектуре контейнера, применяемой в классических файлах Microsoft AVI и WAV.
  • Размер файла относительно GIF зависит от содержимого анимации и настроек кодирования, поэтому сравните результаты.

Часто задаваемые технические вопросы

Может ли WebP полностью заменить и PNG, и JPEG?

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

Почему сжатие WebP без потерь эффективнее, чем PNG?

Сжатие WebP без потерь использует сложные алгоритмы пространственного предсказания, декорреляцию с помощью цветового преобразования, локальный цветовой кэш и двумерные преобразования с энтропийным кодированием. В результате файлы обычно на 26% меньше, чем оптимизированные PNG.

Поддерживает ли WebP анимацию?

WebP поддерживает анимированные изображения. Размер файла относительно GIF зависит от содержимого анимации и настроек кодирования, поэтому сравните результаты.

Связанные конвертации для WebP

JPG в WEBP

Преобразование JPEG в WebP может уменьшить размер файла при сопоставимом визуальном качестве, однако результат зависит от содержимого изображения и настроек кодирования.

WEBP в JPG

Преобразование WebP в JPEG может упростить работу со статичным изображением в программах без поддержки WebP; JPEG не сохраняет прозрачность и анимацию.

PNG в WEBP

Преобразование PNG в WebP может уменьшить размер файла с сохранением прозрачности; результат зависит от сжатия с потерями или без них и от содержимого изображения.

WEBP в PNG

Преобразование WebP в PNG создает статичное изображение для программ с поддержкой PNG; анимация WebP не сохраняется, а утраченные при сжатии исходные детали восстановить нельзя.

WEBP в GIF

Конвертация анимированных WebP-файлов в анимированный GIF связывает современные форматы растровой анимации со старыми веб-стандартами, требующими универсальной совместимости.

WEBP в PDF

Создайте одностраничный PDF из графики WebP для документа или этапа согласования. Браузер перерисовывает ее как изображение, поэтому данные и анимация WebP не сохраняются.