Animiran PNG (.apng)

W3C Standard

Animiran format Portable Network Graphics (APNG) razširja standardni PNG z omogočanjem večokvirnih animacij s polno 24-bitno pravo barvno globino (Truecolor) in 8-bitno prosojnostjo alfa, hkrati pa je povratno združljiv s standardnimi dekoderji PNG.

Pretvori APNG v GIF

Brezplačen pretvornik iz APNG v GIF v brskalniku. Pretvorite datoteke takoj v svoji napravi.

Pregled in metapodatki

Operacijski sistemi in analizatorji datotek identificirajo datoteke APNG s pregledom vodilnega binarnega zaporedja bajtov:

Izberite ali povlecite datoteke sem

100-odstotno zasebna pretvorba v brskalniku - datoteke nikoli ne zapustijo vaše naprave

ali prilepi Ctrl+V
Jamstvo o zasebnosti brez prenosa podatkov v omrežje: 0 bajtov naloženih na zunanje strežnike. Vsa obdelava je potekala lokalno v varnem območju vašega brskalnika.

Podpis glave na ravni bajtov (Čarobni bajti)

Operacijski sistemi in analizatorji datotek identificirajo datoteke APNG s pregledom vodilnega binarnega zaporedja bajtov:

PODPIS HEX (ZAMIK 0):

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

REPREZENTACIJA ASCII: ‰PNG....

Standardizacija: W3C Community Group Report (2021) / Mozilla Extension

Tehnične specifikacije

Arhitektura vsebnikaPNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks
StiskanjeDeflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame
Vrstni red bajtovBig-Endian (network byte order)
Barvni prostorisRGB, Display P3, Embedded ICC Profile (iCCP)
Kanali in strukturaRGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha)
Največje dimenzije2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit)
ProsojnostFull 8-bit alpha channel transparency (256 levels of smooth translucency)
Pretočno in progresivno predvajanjeProgressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers

Tehnična primerjalna matrika: APNG proti konkurenci

Tehnični atributAPNG (Trenutno)GIFWEBPAVIF
Barvna globina24-bitni RGB (16,7 milijona barv)8-bitna indeksirana (256 barv)24-bitni RGB (16,7 milijona barv)10-bitni / 12-bitni HDR
Prosojnost alfa8-bitni gladek alfa (256 ravni)1-bitna vklopljena/izklopljena binarna maska8-bitni gladek alfa8-bitni / 10-bitni gladek alfa
Povratna združljivostV starejših pregledovalnikih se prikaže kot statični PNGUniverzalni starejši GIFBrez podpore v starejših pregledovalnikihBrez podpore v starejših pregledovalnikih
Učinkovitost stiskanjaDeflate (zmerna)LZW (slaba)Ključni/razlikovni okvirji VP8 (visoka)Medokvirni AV1 (izjemno visoka)

Pogosti načini okvar in vodič za heksadecimalno obnovo

Animacija predvaja samo prvi okvir ter se nikoli ne ponovi ali premakne naprej.

Glavni vzrok: Manjkajoč ali poškodovan blok 'acTL' (Animation Control), ki se nahaja pred prvim blokom IDAT.

Sanacija: Znova spojite okvire z uporabo orodja apngasm ali pretvornika animacij File2File Animation Converter, da ponovno zgradite veljavne bloke za nadzor animacije.

Varnostna analiza in napadalni vektorji razčlenjevalnika

Analizatorji formatu APNG obdelujejo ponavljajoče se krmilne bloke okvirov, kjer lahko napačno oblikovane dimenzije povzročijo prekoračitev celoštevilčne vrednosti ali izčrpanost pomnilnika v gomili (heap).

Znani vektorji napada

  • Prekoračitev celoštevilčne vrednosti pri izračunu zamika okvira (x_offset / y_offset), kar vodi do sestavljanja okvira zunaj meja.
  • Neujemanje širine/višine okvira, ki povzroči prekoračitev branja med mešanjem okvirov.
  • Neskončne zanke dekompresije animacije, ki izčrpavajo procesor v zalednih storitvah za ustvarjanje sličic.

Obrambne najboljše prakse:

Zgodovinski izvor in mejniki

2021W3C uradno registrira specifikacijo APNG kot priznani standard skupnosti.
2017Google Chrome (v59) doda izvorno podporo za APNG, s čimer dokonča vsesplošno posvojitev v namiznih in mobilnih brskalnikih.
2008Apple posvoji APNG za animirane nalepke v sistemu iOS in grafiko brskalnika Safari.
2004Stuart Parmenter in Vladimir Vukicevic določita specifikacijo APNG za animacije statusa omrežja v brskalniku Mozilla Firefox.

Ključne prednosti

  • Polna 24-bitna barva RGB in 8-bitna prosojnost alfa, kar popolnoma odpravi nazobčane robove, značilne za 1-bitno prosojnost formatov GIF.
  • 100-odstotna povratna združljivost s starejšimi dekoderji PNG (ki brez težav prikažejo glavni nadomestni okvir).
  • Univerzalno izvorno pospeševanje s strojno opremo v vseh sodobnih namiznih brskalnikih ter brskalnikih za iOS in Android.

Tehnične omejitve in slabosti

  • Večje datoteke v primerjavi s sodobnimi video formati za animacije, kot sta WebM ali MP4.
  • Večja zapletenost kodiranja in večja poraba procesorja med ustvarjanjem v primerjavi s starejšim formatom GIF.
  • Pomanjkanje napovedovanja medokvirnih gibljivih vektorjev, ki ga najdemo v specializiranih video kodekih.

Zanimive tehnične malenkosti

  • Uradna razvojna skupina za PNG je leta 2007 zavrnila APNG v korist ločenega formata MNG, ki pa se na koncu ni uveljavil.
  • Apple je uporabil APNG za animirane nalepke v aplikaciji Messages App Store za iOS 10, kar je spodbudilo obsežno uporabo na mobilnih napravah.
  • Če odprete datoteko APNG v starejšem pregledovalniku slik iz 90. let prejšnjega stoletja, se preprosto prikaže prvi okvir, ne da bi program sesul.

Pogosta tehnična vprašanja

Zakaj je APNG boljši od GIF-a?

APNG podpira 16,7 milijona barv in 256 stopenj gladke prosojnosti alfa, medtem ko je GIF omejen na 256 barv in ostro 1-bitno prosojnost.

Ali vsak brskalnik podpira APNG?

Da. Vsak sodoben brskalnik (Chrome, Safari, Firefox, Edge) privzeto podpira APNG že od leta 2017.

Ali lahko pretvorim APNG v standardni GIF ali MP4?

Da. File2File.app lahko pretvori animacije APNG v lahke datoteke GIF, MP4 ali WebM neposredno v vašem spletnem brskalniku.