Анимированное изображение WebP (.webp)
RFC СтандартWebP: современный формат изображений, разработанный Google. Он обеспечивает высокую эффективность сжатия с потерями и без потерь для веб-изображений и поддерживает прозрачность альфа-канала и анимированные кадры.
Конвертировать из JPG в WEBP
Бесплатный конвертер из JPG в WEBP прямо в браузере. Конвертируйте файлы мгновенно на Вашем устройстве.
Сжатие WebP онлайн
Конфиденциально - файлы никогда не покидают ваше устройство
Анализ и метаданные
Операционные системы и анализаторы файлов идентифицируют файлы WebP по начальной двоичной последовательности байтов:
Сигнатура заголовка на уровне байтов (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 (Текущий) | JPEG | PNG | AVIF |
|---|---|---|---|---|
| Поддерживаемые режимы сжатия | И с потерями (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 в рабочих потоках, изолированных в песочнице с ограничением доступа к памяти.
История происхождения и ключевые этапы
Ключевые преимущества и плюсы
- Изображения 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
Преобразование JPEG в WebP может уменьшить размер файла при сопоставимом визуальном качестве, однако результат зависит от содержимого изображения и настроек кодирования.
Преобразование WebP в JPEG может упростить работу со статичным изображением в программах без поддержки WebP; JPEG не сохраняет прозрачность и анимацию.
Преобразование PNG в WebP может уменьшить размер файла с сохранением прозрачности; результат зависит от сжатия с потерями или без них и от содержимого изображения.
Преобразование WebP в PNG создает статичное изображение для программ с поддержкой PNG; анимация WebP не сохраняется, а утраченные при сжатии исходные детали восстановить нельзя.
Конвертация анимированных WebP-файлов в анимированный GIF связывает современные форматы растровой анимации со старыми веб-стандартами, требующими универсальной совместимости.
Создайте одностраничный PDF из графики WebP для документа или этапа согласования. Браузер перерисовывает ее как изображение, поэтому данные и анимация WebP не сохраняются.