WebP animat (.webp)

RFC Standard

WebP este un format de imagine modern dezvoltat de Google care oferă compresie superioară fără pierderi și cu pierderi pentru imaginile web, acceptând atât transparența alfa, cât și cadrele animate.

Convertește din JPG în WEBP

Convertor gratuit din JPG în WEBP direct în browser. Convertește fișiere instantaneu pe dispozitivul tău.

Comprimă WebP online

Privat - fișierele nu părăsesc niciodată dispozitivul tău

Inspectare și metadate

Sistemele de operare și analizatoarele de fișiere identifică fișierele WebP prin inspectarea secvenței binare inițiale:

Selectează sau plasează fișierele aici

Privat - fișierele nu părăsesc niciodată dispozitivul tău

sau lipește Ctrl+V
Garanție de confidențialitate: nicio transmisie prin rețea: 0 octeți încărcați pe servere externe. Toată procesarea a avut loc local în sandbox-ul browserului tău.

Semnătura antetului la nivel de octet (octeți magici)

Sistemele de operare și analizatoarele de fișiere identifică fișierele WebP prin inspectarea secvenței binare inițiale:

SEMNĂTURĂ HEXAZECIMALĂ (DECALAJ 0):

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

REPREZENTARE ASCII: RIFF????WEBP

Standardizare: RFC 6386 / Specificația containerului RIFF

Specificații tehnice

Arhitectură containerContainer Resource Interchange File Format (RIFF) cu FourCC 'WEBP'
CompresieCodificare predictivă intra-cadru VP8 cu pierderi și codificare de entropie spațială VP8L fără pierderi
Ordinea octețilorOrdine little-endian pentru dimensiunile blocurilor RIFF și etichetele containerului
Spații de culoaresRGB, Profile ICC încorporate (prin antetul extins VP8X)
Canale și structurăRGB + Canal Alfa (8 biți per canal)
Dimensiuni maxime16,383 x 16,383 pixeli (întregi fără semn pe 14 biți)
TransparențăTransparență completă pe canal alfa de 8 biți atât în modurile cu pierderi, cât și fără pierderi
Streaming și progresivDecodare progresivă acceptată prin decodarea incrementală a blocurilor VP8

Matrice de comparație tehnică: WebP vs. concurenți

Atribut tehnicWebP (Curent)JPEGPNGAVIF
Moduri de compresie acceptateAtât cu pierderi (VP8), cât și fără pierderi (VP8L)Doar cu pierderiDoar fără pierderiAtât cu pierderi (AV1), cât și fără pierderi
Transparență alfaDa (atât cu pierderi, cât și fără pierderi)NuDaDa
Suport pentru animațieDa (cadre multiple cu întârzieri între cadre)NuNecesită extensia APNGDa (secvențe de imagini AVIF)
HDR / Gamă largă de culoriDoar sRGB pe 8 bițiStandard pe 8 biți8 biți și 16 bițiHDR nativ pe 10 biți și 12 biți
Suport pentru browsereEste acceptat de multe browsere actuale; acoperirea depinde de versiunea browserului și de platformăSuport larg; disponibilitatea diferă în funcție de produs și versiuneSuport larg; disponibilitatea diferă în funcție de produs și versiuneEste acceptat de multe browsere actuale; disponibilitatea variază

Moduri comune de corupție și ghid de recuperare hexazecimală

Browserul nu reușește să afișeze imaginea WebP sau afișează pictograma de imagine defectă.

Cauză principală: Antetul lungimii datelor utile RIFF (octeții 4-7) nu se potrivește cu lungimea efectivă în octeți de pe disc.

Recuperare: Recalculează dimensiunea totală a fișierului minus 8 octeți și corectează întregul fără semn pe 4 octeți, în ordine little-endian, la poziția 0x04.

Decodorul afișează eroarea „Invalid FourCC: Expected WEBP”.

Cauză principală: Octeții 8-11 nu conțin caracterele ASCII 'WEBP'.

Recuperare: Verifică dacă poziția 0x08 conține 0x57 0x45 0x42 0x50 („WEBP”) și dacă antetul blocului corespunde cu „VP8 ” sau „VP8L”.

Analiză de securitate și vectori de atac asupra parserului

Analizarea fișierelor WebP a fost supusă unei examinări intense din perspectiva securității în urma CVE-2023-4863, ceea ce a dus la consolidarea pe scară largă a izolării în toate browserele web majore.

Vectori de atac cunoscuți

  • CVE-2023-4863: Depășire a bufferului heap în funcția BuildHuffmanTable din libwebp la analizarea unor tabele Huffman fără pierderi invalide, permițând executarea de la distanță a codului.
  • Depășire de întreg la decodificarea dimensiunilor supradimensionate ale suprafeței cadrului de animație.

Cele mai bune practici de securitate: Asigură-te că toate bibliotecile client și server folosesc libwebp 1.3.2 sau o versiune ulterioară. Decodează fișierele WebP în fire de execuție izolate în memorie.

Origini istorice și repere

2020Safari 14 a adăugat suport pentru WebP; compatibilitatea browserelor variază în funcție de versiune și platformă.
2012WebP adaugă compresie fără pierderi (VP8L), transparență pentru canalul alfa și animație.
2010Google lansează WebP ca format de imagine open-source pentru a accelera performanța web.

Avantaje cheie și beneficii

  • WebP cu pierderi poate produce fișiere mai mici decât JPEG la o calitate vizuală similară, însă rezultatele variază în funcție de imagine și codificator.
  • WebP fără pierderi poate produce fișiere mai mici decât PNG pentru unele imagini; rezultatele variază în funcție de imagine și codificator.
  • Un singur format gestionează fotografii, grafică cu transparență și animații scurte și ușoare.

Limitări tehnice și dezavantaje

  • Dimensiunile maxime limitate la 16,383 x 16,383 pixeli, prevenind imagistica panoramică de rezoluție ultra-înaltă.
  • Acceptă doar adâncimea de culoare pe 8 biți (fără suport nativ pentru HDR pe 10 biți sau 12 biți).
  • Codificarea imaginilor complexe cu pierderi necesită mai multe cicluri CPU decât codificatoarele JPEG vechi.

Curiozități tehnice interesante

  • WebP se bazează pe algoritmii de predicție intra-cadru ai codecului video open-source VP8 de la Google.
  • Containerul RIFF utilizat de WebP are exact aceeași arhitectură ca cel utilizat de fișierele clasice Microsoft AVI și WAV.
  • Dimensiunea față de GIF depinde de conținutul animației și de setările de codare, așa că compară rezultatele.

Întrebări tehnice frecvente

Poate WebP să înlocuiască complet atât PNG, cât și JPEG?

WebP este util pentru multe imagini web, dar nu înlocuiește PNG sau JPEG în toate fluxurile de lucru. Alegeți formatul în funcție de conținutul imaginii, nevoia de transparență și browserele sau programele folosite de public.

De ce este compresia fără pierderi WebP mai eficientă decât PNG?

Compresia WebP fără pierderi folosește predictori spațiali, transformări de culoare, o memorie cache pentru culori și codare entropică. Dimensiunea fișierului față de PNG depinde de conținutul imaginii și de setările codificatorului.

Acceptă WebP animația?

WebP acceptă imagini animate. Dimensiunea față de GIF depinde de conținutul animației și de setările de codare, așa că compară rezultatele.