Animált PNG (.apng)

W3C Szabvány

Az APNG többképkockás animációval és statikus képpel bővíti a PNG-t; az APNG-t nem támogató megjelenítők csak az állóképet mutathatják.

APNG konvertálása erre: GIF

Ingyenes, böngészőben használható APNG-konverter GIF formátumba. A fájlokat azonnal konvertálhatja az eszközén.

Vizsgálat és metaadatok

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) APNG fájlokat:

Válasszon ki vagy húzzon ide fájlokat

Privát - a fájlok soha nem hagyják el az eszközét

vagy beillesztés Ctrl+V
Adatvédelmi garancia hálózati adatátvitel nélkül: 0 bájt került fel külső szerverekre. Minden feldolgozás helyben, a böngésző elkülönített környezetében történt.

Bájtszintű fejlécaláírás (fájlazonosító bájtok)

Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) APNG fájlokat:

HEX ALÁÍRÁS (ELTOLÁS 0):

89 50 4E 47 0D 0A 1A 0A

ASCII ÁBRÁZOLÁS: ‰PNG....

Szabványosítás: W3C Community Group Report (2021) / Mozilla Extension

Műszaki specifikációk

Konténer architektúraPNG-adatfolyam acTL (animációvezérlő), fcTL (képkocka-vezérlő) és fdAT (képkockaadat) blokkokkal
TömörítésDeflate (zlib) csúszóablakos LZ77 tömörítés, képkockánként alkalmazott kétdimenziós adaptív szűréssel
Bájtsorrendnagy bájtsorrend (hálózati bájtsorrend)
SzíntereksRGB, Display P3, Beágyazott ICC-profil (iCCP)
Csatornák és struktúraRGBA (csatornánként 8 vagy 16 bit: 24 bites Truecolor és 8 bites alfacsatorna)
Max. méretek2,147,483,647 x 2,147,483,647 képpont (a PNG 31 bites korlátja)
ÁtlátszóságTeljes, 8 bites alfacsatornás átlátszóság (256 fokozatú, finom áttetszőség)
Streaming és progresszívAz APNG-fájlok statikus képet is tartalmaznak; az animációs blokkokat figyelmen kívül hagyó dekóderek állóképként jeleníthetik meg.

Műszaki összehasonlító mátrix: APNG vs. versenytársak

Technikai attribútumAPNG (Jelenlegi)GIFWEBPAVIF
Színmélység24 bites RGB (16,7 millió szín)8 bites indexelt színű (256 szín)24 bites RGB (16,7 millió szín)10 bites / 12 bites HDR
Alfa-átlátszóság8 bites, fokozatos alfa-átlátszóság (256 szint)1 bites be/ki bináris maszk8 bites sima alfa8 bites / 10 bites fokozatos alfa-átlátszóság
Visszafelé kompatibilitásEgyes PNG-megjelenítők meg tudják jeleníteni a statikus képet; az animációhoz APNG-támogatás kell.A támogatás böngészőnként eltér.Nincs a régebbi nézegetőkbenNincs a régebbi nézegetőkben
Tömörítési hatékonyságDeflate (mérsékelt)LZW (gyenge)VP8 kulcs-/különbségkockák (magas)AV1 képkockák közötti tömörítés (rendkívül hatékony)

Gyakori sérülési módok és hexadecimális helyreállítási útmutató

Az animáció csak az első képkockát játssza le, és soha nem ismétlődik (loop) vagy lép tovább.

Kiváltó ok: Hiányzó vagy sérült 'acTL' (Animation Control) adatblokk az első IDAT blokk előtt.

Helyreállítás: Fűzze újra a képkockákat az apngasm vagy a File2File.app Animation Converter segítségével az érvényes animációvezérlő blokkok újjáépítéséhez.

Biztonsági elemzés és elemző (parser) támadási vektorok

Az APNG-feldolgozók ismétlődő képkocka-vezérlő blokkokat dolgoznak fel, ahol a rosszul formázott méretek egész túlcsordulást vagy halom (heap) kimerülést okozhatnak.

Ismert támadási vektorok

  • Egész túlcsordulás a képkocka eltolás (x_offset / y_offset) számításakor, ami képkockák határain túlnyúló összeállításhoz vezet.
  • Nem megfelelő keretszélesség/magasság, ami a puffer határain túli olvasást eredményez a keretek keverése során.
  • Végtelen animációs dekompressziós ciklusok, amelyek kimerítik a CPU-t a háttérben futó bélyegkép-generálási szolgáltatásokban.

Ajánlott védekezési módszerek: Érvényesítse a teljes animált vászon határait, és a raszterezés előtt korlátozza a maximálisan megengedett képkockaszámot.

Történeti háttér és mérföldkövek

2021A W3C hivatalosan elismert közösségi szabványként nyilvántartásba veszi az APNG specifikációját.
2017A Chrome 59 natív APNG-támogatást adott; a támogatás böngészőnként és verziónként eltér.
2008Az Apple átveszi az APNG-t az animált iOS matricákhoz és a Safari böngésző grafikai elemeihez.
2004Stuart Parmenter és Vladimir Vukicevic specifikálják az APNG-t a Mozilla Firefox hálózati állapotanimációihoz.

Főbb előnyök

  • Teljes 24 bites RGB szín plusz 8 bites alfa-átlátszóság, ami teljesen megszünteti az 1 bites GIF-átlátszóság cakkos szélű képhibáit.
  • Az APNG-fájlok statikus képet is tartalmaznak; az animációs blokkokat figyelmen kívül hagyó dekóderek állóképként jeleníthetik meg.
  • Sok jelenlegi böngésző támogatja az APNG-lejátszást; az elérhetőség a böngészőtől és verziójától függ.

Technikai korlátok és hátrányok

  • Nagyobb fájlméretek a modern videóalapú animációs formátumokhoz, például a WebM-hez vagy az MP4-hez képest.
  • Bonyolultabb kódolás és CPU-használat a generálás során a hagyományos GIF-hez képest.
  • A speciális videokodekekben megtalálható képkockák közötti mozgásvektor-előrejelzés hiánya.

Érdekes technikai tudnivalók

  • A hivatalos PNG Fejlesztői Csoport 2007-ben elutasította az APNG-t, a különálló MNG formátumot részesítve előnyben, amely végül nem tudott elterjedni.
  • Az Apple az APNG-t használta az iOS 10 Üzenetek alkalmazásboltja animált matricáihoz, ami hatalmas mobilos elterjedést eredményezett.
  • Ha megnyit egy APNG-fájlt az 1990-es évek egy ősi képnézegetőjében, az egyszerűen megjeleníti az első képkockát anélkül, hogy összeomlana.

Gyakran Ismételt Műszaki Kérdések

Miért jobb az APNG, mint a GIF?

Az APNG 16,7 millió színt és az alfa-átlátszóság 256 fokozatát támogatja, míg a GIF 256 színre és a durva 1 bites átlátszóságra korlátozódik.

Támogatják jelenleg a böngészők az APNG-t?

Sok jelenlegi böngésző támogatja az APNG-lejátszást; az elérhetőség a böngészőtől és verziójától függ.

Átalakíthatok egy APNG-t szabványos GIF-fé vagy MP4-formátummá?

Igen. A File2File.app képes az APNG animációkat kis méretű GIF, MP4 vagy WebM fájlokká átalakítani közvetlenül a webböngészőjében.