Was ist das SWF-Dateiformat?
Dateien mit der Erweiterung .swf enthalten Animationen - die interaktiv sein können - in einem binären Multimediaformat, das ursprünglich 1996 von FutureWave Software erstellt wurde. Der Name steht für Small Web Format und spiegelt das ursprüngliche Ziel wider, kompakte, bandbreitenfreundliche Animationen im Internet zu liefern.
Das Format wurde von Macromedia und später von Adobe übernommen und dient zur Erstellung und Speicherung von:
- Multimediainhalten einschließlich Audio und Video,
- Vektorgrafiken und Bitmaps,
- ActionScript-Bytecode und interaktiven Applets.
Anwendungen, die historisch zur Erstellung von .swf-Dateien verwendet wurden, sind Adobe Flash und Adobe Animate, das dessen Nachfolger ist; auch Open-Source-Werkzeuge wie SWFTools waren verfügbar. Im Jahr 2008 öffnete Adobe die Formatspezifikation teilweise, sodass Suchmaschinen wie Google und Yahoo Inhalte in Animationen indizieren konnten. Das Format entwickelte sich über viele Jahre: Frühe Versionen ermöglichten nur die Animation von Vektorgrafiken, und spätere Versionen erweiterten die Möglichkeiten um Streaming-Audio und -Video sowie grundlegende 3D-Animation.
Adobe Flash Player - das Browser-Plugin zum Abspielen von .swf-Dateien - erreichte am 31. Dezember 2020 das Ende seiner Lebensdauer. Dateien können weiterhin außerhalb eines Browsers mit dem eigenständigen Ruffle-Emulator oder über den Flash-Preservation-Player des Internet Archive abgespielt werden. Quellprojekte wurden typischerweise als .FLA-Dateien gespeichert und zur Verbreitung zu .swf kompiliert; verwandte Formate sind .FLV für Flash-Videostreams und .SWC für wiederverwendbare Flash-Komponentenbibliotheken.
Sicherheit
RISIKO: MEDIUMSWF war ein berühchtigter Schadsoftwarevektor - Flash Player hatte eine lange Geschichte kritischer Remote-Code-Execution-Sicherheitslücken, was ein Hauptgrund für seine Abschaltung war. Das veraltete Plugin ist verschwunden, daher sind Drive-by-SWF-Exploits in Browsern keine akute Bedrohung mehr. Verbleibende Risiken: (1) Eine SWF-Datei enthält ActionScript, das Netzwerkaufrufe durchführen oder URLs öffnen kann, daher nicht vertrauenswürdige Dateien lieber im sandboxed Ruffle (bevorzugt) als im Offline-Debug-Projector ausführen; (2) Schädliche .exe-„Projector“-Dateien, die sich als harmlose Animation ausgeben; (3) Niemals das eingestellte Flash Player von Drittanbieter-„Codec“-Seiten neu installieren - diese Installer sind selbst eine häufige Schadsoftware-Falle.
Formatdetails
kurz gefasstProgramme zum Öffnen von SWF-Dateien
Technische Details
technische Spezifikation| Magic Bytes | FWS (46 57 53) = unkomprimiert; CWS (43 57 53) = zlib-komprimiert; ZWS (5A 57 53) = LZMA-komprimiert - alle an Byte-Position 0 |
| Versions- und Längenfelder | Byte 3 kodiert die SWF-Versionsnummer (1-46); Bytes 4-7 speichern die vollständige unkomprimierte Dateigröße als Little-Endian-uint32 |
| MIME-Typ | application/x-shockwave-flash |
| Komprimierung | Keine (SWF 1-5); zlib nach dem 8-Byte-Header (SWF 6+, CWS-Signatur); LZMA nach dem 8-Byte-Header (SWF 13+, ZWS-Signatur) - die ersten 8 Bytes werden nie komprimiert |
| Koordinateneinheit | Twip (1/20 eines Pixels); alle Raumwerte werden als Twip-Ganzzahlen in variablen SWF-Bitfeldern gespeichert |
| Tag-basierte Struktur | Inhalte als markierte Datensätze kodiert: 2-Byte-Kurz-Header (10-Bit-Datensatztyp + 6-Bit-Länge) oder 6-Byte-Langer-Header für Nutzlasten ≥ 63 Bytes |
| Vektorgrafiken | Formen definiert über SHAPE-Datensätze mit quadratischen Bézier-Kurven; Fülltypen umfassen Vollfarbe, linearen/radialen Farbverlauf und Bitmap |
| Skript-Engine | ActionScript 1 & 2 läuft auf AVM1 (stapelbasierte interpretierte VM); ActionScript 3 (SWF 9+) läuft auf AVM2 (registerbasiert, mit JIT in einigen Laufzeitumgebungen) |
| Video-Codecs | Sorenson Spark (SWF 6+), Screen Video (SWF 7+), On2 VP6 und VP6 mit Alphakanal (SWF 8+) |
| Audio-Codecs | Unkomprimiertes PCM, ADPCM, MP3, Nellymoser (SWF 6+), Speex (SWF 10+) |
| Schrifteinbettung | TrueType-Konturen in SWF-Shape-Datensätze konvertiert; DefineFont2- und DefineFont3-Tags enthalten vollständige Unicode-Zeichentabellen |
| 3D-Transformationen | PlaceObject3-Tag (SWF 11+) fügt eine 4×4-Perspektivmatrix hinzu, die 3D-Rotation und -Projektion von Display-List-Objekten ermöglicht |
| Binärdateneinbettung | DefineBinaryData-Tag (SWF 9+) erlaubt das Speichern beliebiger roher Binärnutzdaten im .swf-Container |
| Timeline-Modell | Frame-basierte Display-Liste; jeder Frame ist ein Diff von PlaceObject- und RemoveObject-Tags, die auf den Szenegraphen angewendet werden - kein vollständiger Keyframe-Snapshot |
| Veröffentlicht | 1996 (FutureSplash Animator); Adobe published the SWF File Format Specification, now withdrawn after Flash EOL |
| Offener Standard | Ja · lizenzgebührenfrei |
| Spezifikation | web.archive.org |
SWF-Konvertierungen
Community Q&A
von Nutzern gefragtNoch keine Fragen - stellen Sie die erste Frage zu SWF-Dateien.