Animuotas PNG (.apng)

W3C Standartinis

Animuotas PNG (APNG) išplečia standartinį PNG formatą, kad palaikytų kelių kadrų animacijas su pilna 24 bitų „Truecolor" ir 8 bitų alfa skaidrumu bei išlaikytų atgalinį suderinamumą su standartiniais PNG dekoderiais.

Konvertuoti APNG į GIF

Nemokamas APNG į GIF konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.

Tikrinti ir metaduomenys

Operacinės sistemos ir failų analizatoriai atpažįsta APNG failus tikrindami pradinę dvejetainę baitų seką:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

Baitų lygio antraštės parašas (magiškieji baitai)

Operacinės sistemos ir failų analizatoriai atpažįsta APNG failus tikrindami pradinę dvejetainę baitų seką:

ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 0):

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

ASCII ATVAIZDAVIMAS: ‰PNG....

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

Techninės specifikacijos

Konteinerio architektūraPNG chunk stream with acTL (animation control), fcTL (frame control), and fdAT (frame data) chunks
GlaudinimasDeflate (zlib) sliding-window LZ77 with 2D adaptive filtering applied per-frame
Baitų seka (Endianness)Big-Endian (network byte order)
Spalvų erdvėssRGB, Display P3, Embedded ICC Profile (iCCP)
Kanalai ir struktūraRGBA (8-bit or 16-bit per channel Truecolor + 8-bit alpha)
Maksimalūs matmenys2,147,483,647 x 2,147,483,647 pixels (PNG 31-bit limit)
SkaidrumasFull 8-bit alpha channel transparency (256 levels of smooth translucency)
Srautas ir progresyvusis įkėlimasProgressive chunk streaming; renders first frame immediately on legacy non-animated PNG parsers

Techninė palyginimo matrica: APNG vs konkurentai

Techninis atributasAPNG (Dabartinis)GIFWEBPAVIF
Spalvų gylis24 bitų RGB (16,7 mln. spalvų)8 bitų indeksuotos (256 spalvos)24 bitų RGB (16,7 mln. spalvų)10 bitų / 12 bitų HDR
Alfa skaidrumas8 bitų sklandus alfa (256 lygiai)1 bito įjungimo / išjungimo dvejetainė kaukė8 bitų sklandus alfa8 bitų / 10 bitų sklandus alfa
Atgalinis suderinamumasSenesnėse žiūryklėse rodomas kaip statinis PNGUniversalus senas GIFSenesnėse žiūryklėse nėraSenesnėse žiūryklėse nėra
Glaudinimo efektyvumas„Deflate" (vidutinis)„LZW" (prastas)VP8 pagrindiniai / skirtumų kadrai (didelis)AV1 tarpkadrinis (ypač didelis)

Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas

Animacija rodo tik pirmąjį kadrą ir niekada nesikartoja ar nejudina kadrų į priekį.

Pirminė priežastis: Trūksta arba sugadintas „acTL" (animacijos valdymo) blokas, esantis prieš pirmąjį IDAT bloką.

Atkūrimas: Iš naujo sugrupuokite kadrus naudodami „apngasm" arba „File2File Animation Converter", kad atkurtumėte tinkamus animacijos valdymo blokus.

Saugumo analizė ir analizatoriaus atakos vektoriai

APNG analizatoriai apdoroja pasikartojančius kadro valdymo blokus, kur netinkamai suformuoti matmenys gali sukelti sveikųjų skaičių perpildymą arba atminties srities išsekimą.

Žinomi atakos vektoriai

  • Sveikųjų skaičių perpildymas apskaičiuojant kadro poslinkį (x_offset / y_offset), lemiantis kadro sudarymą už ribų.
  • Nesutampantis kadro plotis / aukštis, sukeliantis buferio nuskaitymo perteklių suliejant kadrus.
  • Begaliniai animacijos dekompresijos ciklai, eikvojantys procesorių serverio pusės miniatiūrų generavimo paslaugose.

Geriausia apsaugos praktika:

Istorinė kilmė ir svarbiausi etapai

2021W3C oficialiai įregistruoja APNG specifikaciją kaip pripažintą bendruomenės standartą.
2017„Google Chrome" (v59) prideda gimtąjį APNG palaikymą, taip užbaigdama visuotinį diegimą darbalaukio ir mobiliosiose naršyklėse.
2008„Apple" pritaiko APNG animuotiems „iOS" lipdukams ir „Safari" naršyklės grafikai.
2004Stuartas Parmenteris ir Vladimiras Vukicevičius sukuria APNG specifikaciją „Mozilla Firefox" tinklo būsenos animacijoms.

Pagrindiniai privalumai

  • Pilna 24 bitų RGB spalvų gama ir 8 bitų alfa skaidrumas, visiškai pašalinant 1 bito GIF skaidrumo dantytų kraštų artefaktus.
  • 100 % atgalinis suderinamumas su senstelėjusiais PNG dekoderiais (kurie sklandžiai rodo pagrindinį atsarginį kadrą).
  • Visuotinis gimtasis aparatinio pagreitio atkūrimas visose moderniose darbalaukio, „iOS" ir „Android" naršyklėse.

Techniniai apribojimai ir trūkumai

  • Didesni failų dydžiai nei modernių vaizdo įrašų pagrindu sukurtų animacijos formatų, tokių kaip „WebM" arba „MP4".
  • Didesnis kodavimo sudėtingumas ir procesoriaus apkrovimas generavimo metu, lyginant su pasenusiu GIF.
  • Specializuotuose vaizdo kodekuose esančių tarpkadrinių judesio vektorių prognozavimo trūkumas.

Įdomūs techniniai faktai

  • Oficiali PNG kūrimo grupė 2007 m. atmetė APNG, pirmenybę teikdama atskiram MNG formatui, kuriam galiausiai nepavyko išpopuliarėti.
  • „Apple" naudojo APNG animuotiems lipdukams „iOS 10" programėlėje „Messages App Store", kas paskatino milžinišką mobilųjį pritaikymą.
  • Jei atidarysite APNG failą senovinėje 1990-ųjų vaizdų peržiūros programoje, ji tiesiog parodys pirmąjį kadrą be jokių trikčių.

Dažniausiai užduodami techniniai klausimai

Kuo APNG yra geresnis už GIF?

APNG palaiko 16,7 milijono spalvų ir 256 tolygaus alfa skaidrumo lygius, o GIF yra apribotas iki 256 spalvų ir griežto 1 bito skaidrumo.

Ar kiekviena naršyklė palaiko APNG?

Taip. Kiekviena šiuolaikinė naršyklė („Chrome“, „Safari“, „Firefox“, „Edge“) natūraliai palaiko APNG nuo 2017 metų.

Ar galiu konvertuoti APNG į standartinį GIF arba MP4?

Taip. „File2File.app“ gali konvertuoti APNG animacijas į lengvus GIF, MP4 arba WebM failus tiesiai jūsų interneto naršyklėje.