WebP изображение (.webp)
RFC СтандартWebP е модерен формат за изображения, разработен от Google, който осигурява превъзходна компресия със загуби и без загуби за уеб изображения и поддържа както прозрачност чрез алфа канал, така и анимирани кадри.
Конвертиране от JPG към WEBP
Безплатен конвертор от JPG към WEBP в браузъра. Конвертирайте файлове незабавно на вашето устройство.
Компресирайте WebP онлайн
Поверително - файловете никога не напускат устройството ви
Проверка и метаданни
Операционните системи и файловите анализатори идентифицират WebP файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на заглавката (сигнатурни байтове)
Операционните системи и файловите анализатори идентифицират WebP файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
52 49 46 46 ?? ?? ?? ?? 57 45 42 50ASCII ПРЕДСТАВЯНЕ: RIFF????WEBP
Стандартизация: RFC 6386 / спецификация на контейнера RIFF
Технически спецификации
| Контейнерна архитектура | Контейнер във формат за обмен на файлове с ресурси (RIFF) с FourCC 'WEBP' |
| Компресия | Компресия с прогнозиране в рамките на кадъра със загуби VP8 и пространствено ентропийно кодиране без загуби VP8L |
| Поредност на байтовете (Endianness) | Ред на байтовете от младшия към старшия за размерите на блоковете и таговете на 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 бита |
| Поддръжка от браузъри | Поддържа се от много от актуалните браузъри; обхватът зависи от версията и платформата. | Широка поддръжка; наличността зависи от продукта и версията. | Широка поддръжка; наличността зависи от продукта и версията. | Поддържа се от много от актуалните браузъри; наличността варира. |
Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни
Браузърът не успява да покаже 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 със загуби може да създаде файлове, по-малки от JPEG при сходно визуално качество, но резултатите зависят от изображението и кодера.
- WebP без загуби може да създаде по-малки файлове от 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 без загуби използва пространствени предиктори, цветови преобразувания, кеш на цветовете и ентропийно кодиране. Размерът на файла спрямо PNG зависи от съдържанието на изображението и настройките на кодера.
Поддържа ли WebP анимация?
WebP поддържа анимирани изображения. Размерът на файла спрямо GIF зависи от съдържанието на анимацията и настройките за кодиране, затова сравнете резултатите.
Свързани двойки за конвертиране на WebP
Конвертирането на JPEG в WebP може да намали размера на файла при сходно визуално качество, но резултатите зависят от съдържанието на изображението и настройките за кодиране.
Конвертирането на WebP в JPEG може да улесни използването на неподвижно изображение в програми, които не поддържат WebP; JPEG не запазва прозрачността и анимацията.
Конвертирането на PNG в WebP може да намали размера на файла и същевременно да запази прозрачността; резултатът зависи от избрания режим на кодиране - със или без загуба - и от съдържанието на изображението.
Конвертирането на WebP в PNG създава неподвижно изображение за програми, които поддържат PNG; анимацията на WebP не се запазва, а загубените детайли от източника не могат да бъдат възстановени.
Конвертирането на анимирани WebP файлове в анимирани GIF файлове осигурява съвместимост на съвременните формати за растерна анимация с по-старите уеб стандарти.
Създайте едностраничен PDF от WebP изображение за документ или процедура по одобрение. Браузърът го преобразува в изображение, така че данните и анимацията във WebP не се запазват.