Was ist das APNG-Dateiformat?

Animated PNG, kurz APNG, erweitert PNG um mehrere Frames, Frame-Zeitsteuerung und Schleifenwiedergabe. Es behält Vollfarbpixel und Alphatransparenz bei, statt das eingeschränkte Palettenmodell von GIF zu verwenden.

So funktioniert das APNG-Dateiformat

Animated PNG begann als Mozilla-Erweiterung und wurde mit der dritten Ausgabe Teil der offiziellen PNG-Spezifikation, die seit Juni 2025 eine W3C-Empfehlung ist. Ein APNG-Stream ist ein normaler PNG-Stream mit drei zusätzlichen Chunk-Typen: acTL deklariert die Animation und gibt die Frame-Anzahl und die Anzahl der Wiedergaben an (0 bedeutet endlose Wiederholung), fcTL beschreibt einen Frame, und fdAT enthält Frame-Daten in derselben Form wie IDAT, mit einer vorangestellten Sequenznummer. Jeder Frame wird verlustfrei komprimiert und verwendet dieselbe Bittiefe, denselben Farbtyp und dieselbe Palette wie das statische Bild. Ein APNG kann daher Truecolor mit vollständigem Alphakanal oder palettenbasiert sein. Ein Frame kann nur einen Teil der Zeichenfläche abdecken: Sein Chunk vom Typ fcTL gibt Breite, Höhe und Versatz innerhalb der Bildabmessungen an.

Wichtige Fakten

  1. Ein APNG lässt sich weder an seiner Signatur noch in der Praxis an seinem Namen von einem PNG unterscheiden. Beide beginnen mit denselben acht Bytes. Obwohl image/apng und .apng registriert sind, führt MDN auch .png als APNG-Dateiendung auf. Ein Chunk vom Typ acTL vor dem ersten Chunk vom Typ IDAT kennzeichnet eine Datei als animiert. Um ihn zu finden, durchlaufen Sie die Chunks nach der Signatur: Jeder beginnt mit einer Datenlänge von vier Bytes und einem Typ von vier Bytes, gefolgt von den Daten und einer CRC von vier Bytes.
  2. Ein Decoder ohne APNG-Unterstützung ignoriert die Animations-Chunks und zeigt das statische Bild an. Dieses Bild ist nur dann der erste Animations-Frame, wenn ein Chunk vom Typ fcTL vor IDAT steht; andernfalls ist es überhaupt kein Teil der Animation. Die PNG-Spezifikation warnt, dass eine Datei ein nicht zugehöriges statisches Bild mit ihrer Animation kombinieren kann und dies zur Umgehung der Moderation genutzt werden könnte. Prüfen Sie daher die Animations-Frames oder erstellen Sie Thumbnails davon, statt nur das statische Bild zu berücksichtigen.
  3. Frames sind Anweisungen zur Aktualisierung einer Zeichenfläche, nicht immer vollständige Bilder. Jeder Chunk vom Typ fcTL legt dispose_op fest (Bereich beibehalten, auf transparentes Schwarz zurücksetzen oder vorherigen Inhalt wiederherstellen) sowie blend_op (Bereich ersetzen oder mittels Alpha-Compositing darüberlegen). Ein Tool, das die Daten eines Frames als eigenständiges Bild kopiert oder Frames neu codiert, ohne diese Regeln anzuwenden, kann unvollständige oder falsch zusammengesetzte Bilder ausgeben. Verzögerungen sind Sekundenbruchteile (delay_num geteilt durch delay_den, wobei ein Nenner von null als 100 gelesen wird). Ein Zähler von null fordert den nächsten Frame so schnell wie möglich an; Anzeigeprogramme können eine Untergrenze vorgeben.
  4. Das Lesen aller Frames muss oft ausdrücklich aktiviert werden. Laut der Formatliste von ImageMagick muss ein APNG mit dem expliziten Präfix apng: gelesen werden. Andernfalls „geht es von einem PNG-Bild aus und liest nur den ersten Frame“. Außerdem muss ffmpeg im Suchpfad liegen. Wird die Datei als gewöhnliches PNG gelesen, liefert sie gemäß der PNG-Spezifikation ihr statisches Bild. Dieser „erste Frame“ ist daher nicht unbedingt Teil der Animation. Für sharp gibt es einen offenen Funktionswunsch für APNG sowie einen Nutzerbericht, laut dem nur die Größe des ersten Frames geändert wurde. Der APNG-Demuxer von FFmpeg ignoriert standardmäßig die Wiederholungsanzahl der Datei (-ignore_loop). Sein Muxer legt die Wiederholung mit -plays fest, wobei 0 eine endlose Wiederholung bedeutet.

Wann das APNG-Dateiformat wichtig ist

Verwenden Sie APNG für kurze Oberflächenanimationen, Sticker und Ladeanzeigen, die eine Farbtiefe von 24 Bit oder einen Alphakanal mit 8 Bit benötigen. Die indizierte Farbtiefe von 8 Bit und der einzelne transparente Farbindex von GIF können das nicht bieten. APNG ist ausschließlich verlustfrei. Rechnen Sie daher bei fotografischen oder langen Animationen mit großen Dateien. Der Formatleitfaden von MDN bewertet AVIF und WebP als leistungsfähiger, aber weniger breit unterstützt. Aktuelle Versionen von Chrome, Edge, Firefox, Opera und Safari zeigen APNG an. Software ohne APNG-Unterstützung zeigt stattdessen das statische Bild der Datei.

So hilft Transloadit beim APNG-Dateiformat

Transloadits Bildformattabelle führt APNG als Format auf, das seine ImageMagick-basierten Robots, darunter /image/resize, lesen und schreiben können. Seine Audio-/Videoformattabelle führt zudem das Format apng auf, das FFmpeg-basierte Robots wie /video/encode lesen und schreiben können.

Die Tabellen geben an, was jeder Stack lesen und schreiben kann, nicht, ob eine Animation einen bestimmten Step übersteht. Die Dokumentation zu /image/resize beschreibt die Parameter frame und flatten nur für animierte GIF und sagt nicht, wie ein APNG mit dem Namen .png behandelt wird. Für diesen Eintrag wurde keine Assembly ausgeführt. Verarbeiten Sie daher ein repräsentatives APNG mit Ihrer Assembly und prüfen Sie die Frame-Anzahl des Ergebnisses.

Entdecken Sie Transloadits Möglichkeiten für Dateiformate & Komprimierung

Quellen

Machen Sie aus Medienwissen eine funktionierende Pipeline

Verbinden Sie Uploads, Verarbeitung, KI, Storage und Auslieferung über eine deklarative API – um Encoding-Stack, Skalierung und ständig wechselnde Formate müssen Sie sich nicht selbst kümmern.

Transloadit kostenlos ausprobieren