SWF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Category->Animation)
 
(38 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
{{FormatInfo
 
{{FormatInfo
 
|formattype=electronic
 
|formattype=electronic
|subcat=Graphics
+
|subcat=Animation
 
|extensions={{ext|swf}}, {{ext|spl}}
 
|extensions={{ext|swf}}, {{ext|spl}}
|mimetypes={{mimetype|application/x-shockwave-flash}}, {{mimetype|application/futuresplash}}
+
|mimetypes={{mimetype|application/vnd.adobe.flash.movie}}, {{mimetype|application/x-shockwave-flash}}, {{mimetype|application/futuresplash}}
 +
|locfdd={{LoCFDD|fdd000248}}, others
 +
|pronom={{PRONOM|fmt/507}}, others
 +
|kaitai struct=swf
 +
|wikidata={{wikidata|Q594447}}, or lots of others for specific versions
 +
|released=1996
 
}}
 
}}
'''SWF''' is a multipurpose multimedia format widely used on the web. It is also known by many other names (often conflated with the names of SWF players), such as '''Flash''', '''Adobe Flash''', '''Macromedia Flash''', '''Shockwave Flash''', and '''FutureSplash'''.
+
'''Adobe Flash''' (or '''Macromedia Flash''', '''Shockwave Flash''', '''FutureSplash''') is a platform for multimedia applications. '''SWF''' ('''Small Web Format''', or '''Shockwave Flash''') is its format for Flash applications that can be run in the browser. Fundamentally it is an animated vector graphics format, but it has many other features, and can contain complete computer programs written in [[ActionScript]]. Among its common uses are advertisements, web site user interfaces, video games and other applets, and video playback.
  
Fundamentally it is an animated vector graphics format, but it has many other features and is fully programmable. Among its common uses are web site user interfaces, video games and other applets, and video playback. The native programming language for SWF development is [[ActionScript]].
+
SWF is not designed to be editable. Instead, SWF files are usually compiled from a source (project) format called [[FLA]]. The [[ActionScript]] programming language is also used.
 +
 
 +
Flash was at the height of popularity for interactive browser applications in the 2000's, but notoriously suffered from security vulnerabilities (and continues to do so as of this writing). It was also dealt a serious blow when Apple decided not to support it in iOS devices, and Web developers have generally turned to [[HTML]] 5 as a replacement. In July 2017, in perhaps the first Flash update anyone has cared for, Adobe [https://blogs.adobe.com/conversations/2017/07/adobe-flash-update.html announced] that Flash will reach its end-of-life in 2020.
 +
 
 +
The SWF format is only currently useful for building [https://www.adobe.com/products/air.html Adobe AIR] applications and games. [[Adobe Air|Adobe AIR]] is a somewhat popular (although lesser known) framework for developing cross-platform apps/games. It is used to build Angry Birds and a couple of other games.
 +
 
 +
The Adobe Animate program is one of the programs from Adobe which works with this format, but it is also one of the programs which Adobe has pushed people into using via their Creative Cloud subscription service, where you only have access to it as long as you keep paying your fees, and don't have access to it at all if they [https://twitter.com/KupoGames/status/1126905276693667841 decide to withdraw access to the version you need].
  
 
== Disambiguation ==
 
== Disambiguation ==
'''SWF''' is not the same format as the one known as '''Shockwave''', '''Adobe Shockwave''', '''Macromedia Shockwave''', or '''Shockwave for Director'''.
+
'''SWF''' is not the same format as the one known as '''Shockwave''', '''Adobe Shockwave''', '''Macromedia Shockwave''', or '''Shockwave for Director'''. For that format, see [[Shockwave (Director)]].
 +
 
 +
== Identifiers ==
 +
{| class="wikitable"
 +
! Format
 +
! PRONOM
 +
! LoCFDD
 +
! Wikidata
 +
|-
 +
|SWF 1–6 (Macromedia) || {{PRONOM|fmt/104}}, {{PRONOM|fmt/105}}, {{PRONOM|fmt/106}}, {{PRONOM|fmt/107}}, {{PRONOM|fmt/108}}, {{PRONOM|fmt/109}} || - || {{wikidata|Q29011079}}, {{wikidata|Q29011223}}, {{wikidata|Q29011271}}, {{wikidata|Q29011315}}, {{wikidata|Q29011347}}, {{wikidata|Q29011357}}
 +
|-
 +
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}} || {{wikidata|Q29011358}}
 +
|-
 +
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}} || {{wikidata|Q29011361}}
 +
|-
 +
|SWF 9–10 || {{PRONOM|fmt/506}}, {{PRONOM|fmt/507}} || - || {{wikidata|Q29011363}}, {{wikidata|Q29011365}}
 +
|-
 +
|SWF 11–30 || {{PRONOM|fmt/757}}, {{PRONOM|fmt/758}}, {{PRONOM|fmt/759}}, {{PRONOM|fmt/760}}, {{PRONOM|fmt/761}}, {{PRONOM|fmt/762}}, {{PRONOM|fmt/763}}, {{PRONOM|fmt/764}}, {{PRONOM|fmt/765}}, {{PRONOM|fmt/766}}, {{PRONOM|fmt/767}}, {{PRONOM|fmt/768}}, {{PRONOM|fmt/769}}, {{PRONOM|fmt/770}}, {{PRONOM|fmt/701}}, {{PRONOM|fmt/772}}, {{PRONOM|fmt/773}}, {{PRONOM|fmt/774}}, {{PRONOM|fmt/775}}, {{PRONOM|fmt/776}} || - || {{wikidata|Q29011484}}, {{wikidata|Q29011514}}, {{wikidata|Q29011538}}, {{wikidata|Q29011549}}, {{wikidata|Q29011566}}, {{wikidata|Q29011569}}, {{wikidata|Q29011579}}, {{wikidata|Q29011646}}, {{wikidata|Q29011710}} ,{{wikidata|Q29011774}}, {{wikidata|Q29011824}}, {{wikidata|Q29011892}}, {{wikidata|Q29011977}}, {{wikidata|Q29012054}}, {{wikidata|Q29012120}}, {{wikidata|Q29012190}}, {{wikidata|Q29012206)}}, {{wikidata|Q29012224}} ,{{wikidata|Q29012285}}, {{wikidata|Q29012350}}
 +
|-
 +
|SWF 31-36 || - || - || {{wikidata|Q29017304}}, {{wikidata|Q29017306}}, {{wikidata|Q29017309}}, {{wikidata|Q29017311}}, {{wikidata|Q29017312}}, {{wikidata|Q29017314}}
 +
|}
  
 
== Identification ==
 
== Identification ==
Line 17: Line 48:
 
* "<code>CWS</code>" is for files that use [[zlib]] compression.
 
* "<code>CWS</code>" is for files that use [[zlib]] compression.
 
* "<code>ZWS</code>" is for files that use [[LZMA]] compression.
 
* "<code>ZWS</code>" is for files that use [[LZMA]] compression.
 +
 +
== See also ==
 +
* [[ActionScript]]
 +
* [[F4V]]
 +
* [[FLA]]
 +
* [[FLV]]
 +
* [[FXG]]
  
 
== Specifications ==
 
== Specifications ==
 
* [http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec.pdf SWF File Format Specification, Version 19]
 
* [http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec.pdf SWF File Format Specification, Version 19]
 +
* [http://wwwimages.adobe.com/www.adobe.com/content/dam/Adobe/en/devnet/swf/pdf/swf-file-format-spec-v10.pdf SWF File Format Specification, Version 10]
 +
* [http://web.archive.org/web/20090206171649/http://www.adobe.com/devnet/swf/pdf/swf_file_format_spec_v9.pdf SWF File Format Specification, Version 9] (from archive.org)
  
 
== Software ==
 
== Software ==
 +
==== Authoring Software ====
 +
* [https://www.adobe.com/products/animate.html Adobe Animate] - Creates SWF files from FLA files
 +
* [https://www.adobe.com/products/flash-builder-family.html Adobe Flash Builder] - IDE for Flash application development
 +
* [http://www.kindi.com/ secureSWF] - SWF code obfuscator (code security)
 +
 +
==== Inspection and Decompilation Software ====
 +
* [https://github.com/jindrapetrik/jpexs-decompiler JPEXS Free Flash Decompiler (FFDEC)]
 +
* [http://www.sothink.com/product/flashdecompiler/ Sothink SWF Decompiler] - Decompiles code and assets of SWF files
 +
* [http://www.as3sorcerer.com/ AS3Sorcerer] - Decompiles AS3 code inside SWF files
 +
* [https://github.com/magicalhobo/SWFWire SWFWire] - Inspects SWF files
 +
* [http://www.swftools.org/ swftools]
 +
* [http://www.nowrap.de/flasm.html Flasm] - ActionScript assembler and disassembler
 +
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.
 +
 +
==== Viewer Software ====
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
 +
** [https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html Old versions]
 +
* [https://www.gnu.org/software/gnash/ GNU Gnash] (apparently inactive)
 +
* [http://lightspark.github.io/ Lightspark] (alpha state)
 +
* [https://github.com/mozilla/shumway Shumway] (inactive)
 +
* [https://ruffle.rs/ Ruffle]
 +
* [https://awayfl.org/ AwayFL]
 +
 +
== Libraries ==
 +
* AS3: [https://github.com/claus/as3swf AS3swf] - Low level library to parse, create, modify and publish SWF files.
 +
* AS3: [https://github.com/imcj/as3abc AS3abc] - Low level library to parse, create, modify and publish ABC (Actionscript Block Code) files.
 +
* AS3: [https://github.com/magicalhobo/SWFWire SWFWire] - SWF Decompiler and Inspector Tools.
 +
* AS3: [https://github.com/krilnon/abc-abstraction Abc-abstraction] - Allows ABC to be analyzed, manipulated, packaged back into an SWF, and run.
 +
* C#: [https://sourceforge.net/projects/swfdotnet/ SwfDotNet] - Low level library to parse, create, modify and publish SWF files.
 +
* C/C++: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
* C++: [http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt gameswf] - Library for parsing and rendering SWF movies
 +
* C++ [http://sswf.sourceforge.net/libsswf/ libsswf] - A complete library to generate Flash animations
 +
* PHP: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
* Python: [https://sourceforge.net/projects/ming/ Ming] - SWF generation library
 +
 +
== Sample files ==
 +
* {{DexvertSamples|archive/swf}}
  
 
== Links ==
 
== Links ==
 
* [[Wikipedia:SWF|Wikipedia: SWF]]
 
* [[Wikipedia:SWF|Wikipedia: SWF]]
 
* [[Wikipedia:Adobe Flash|Wikipedia: Adobe Flash]]
 
* [[Wikipedia:Adobe Flash|Wikipedia: Adobe Flash]]
 +
* [[Wikipedia:FutureSplash Animator|Wikipedia: FutureSplash Animator]]
 +
* [http://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html Flash Player and Adobe AIR feature list]
 +
* [http://imgur.com/ZXESihi SWF format mini-poster]
 +
* [http://motherboard.vice.com/read/gone-in-a-flash-the-race-to-save-the-internets-least-favorite-tool Gone in a Flash: The Race to Save the Internet's Least Favorite Tool]
 +
* [https://www.vice.com/en/article/wx8y5y/tracing-the-sprawling-roots-of-flash-preservation Tracing the Sprawling Roots of Flash Preservation]
  
 
[[Category:Video]]
 
[[Category:Video]]
 
[[Category:Web]]
 
[[Category:Web]]
 +
[[Category:Adobe]]
 +
[[Category:Macromedia]]

Latest revision as of 15:42, 28 April 2024

File Format
Name SWF
Ontology
Extension(s) .swf, .spl
MIME Type(s) application/vnd.adobe.flash.movie, application/x-shockwave-flash, application/futuresplash
LoCFDD fdd000248, others
PRONOM fmt/507, others
Wikidata ID Q594447, or lots of others for specific versions
Kaitai Struct Spec swf.ksy
Released 1996

Adobe Flash (or Macromedia Flash, Shockwave Flash, FutureSplash) is a platform for multimedia applications. SWF (Small Web Format, or Shockwave Flash) is its format for Flash applications that can be run in the browser. Fundamentally it is an animated vector graphics format, but it has many other features, and can contain complete computer programs written in ActionScript. Among its common uses are advertisements, web site user interfaces, video games and other applets, and video playback.

SWF is not designed to be editable. Instead, SWF files are usually compiled from a source (project) format called FLA. The ActionScript programming language is also used.

Flash was at the height of popularity for interactive browser applications in the 2000's, but notoriously suffered from security vulnerabilities (and continues to do so as of this writing). It was also dealt a serious blow when Apple decided not to support it in iOS devices, and Web developers have generally turned to HTML 5 as a replacement. In July 2017, in perhaps the first Flash update anyone has cared for, Adobe announced that Flash will reach its end-of-life in 2020.

The SWF format is only currently useful for building Adobe AIR applications and games. Adobe AIR is a somewhat popular (although lesser known) framework for developing cross-platform apps/games. It is used to build Angry Birds and a couple of other games.

The Adobe Animate program is one of the programs from Adobe which works with this format, but it is also one of the programs which Adobe has pushed people into using via their Creative Cloud subscription service, where you only have access to it as long as you keep paying your fees, and don't have access to it at all if they decide to withdraw access to the version you need.

Contents

[edit] Disambiguation

SWF is not the same format as the one known as Shockwave, Adobe Shockwave, Macromedia Shockwave, or Shockwave for Director. For that format, see Shockwave (Director).

[edit] Identifiers

Format PRONOM LoCFDD Wikidata
SWF 1–6 (Macromedia) fmt/104, fmt/105, fmt/106, fmt/107, fmt/108, fmt/109 - Q29011079, Q29011223, Q29011271, Q29011315, Q29011347, Q29011357
SWF 7 fmt/110 fdd000130 Q29011358
SWF 8 (Adobe) fmt/505 fdd000248 Q29011361
SWF 9–10 fmt/506, fmt/507 - Q29011363, Q29011365
SWF 11–30 fmt/757, fmt/758, fmt/759, fmt/760, fmt/761, fmt/762, fmt/763, fmt/764, fmt/765, fmt/766, fmt/767, fmt/768, fmt/769, fmt/770, fmt/701, fmt/772, fmt/773, fmt/774, fmt/775, fmt/776 - Q29011484, Q29011514, Q29011538, Q29011549, Q29011566, Q29011569, Q29011579, Q29011646, Q29011710 ,Q29011774, Q29011824, Q29011892, Q29011977, Q29012054, Q29012120, Q29012190, Q29012206), Q29012224 ,Q29012285, Q29012350
SWF 31-36 - - Q29017304, Q29017306, Q29017309, Q29017311, Q29017312, Q29017314

[edit] Identification

SWF files begin with a 3-byte ASCII signature:

  • "FWS" is for uncompressed files.
  • "CWS" is for files that use zlib compression.
  • "ZWS" is for files that use LZMA compression.

[edit] See also

[edit] Specifications

[edit] Software

[edit] Authoring Software

[edit] Inspection and Decompilation Software

[edit] Viewer Software

[edit] Libraries

  • AS3: AS3swf - Low level library to parse, create, modify and publish SWF files.
  • AS3: AS3abc - Low level library to parse, create, modify and publish ABC (Actionscript Block Code) files.
  • AS3: SWFWire - SWF Decompiler and Inspector Tools.
  • AS3: Abc-abstraction - Allows ABC to be analyzed, manipulated, packaged back into an SWF, and run.
  • C#: SwfDotNet - Low level library to parse, create, modify and publish SWF files.
  • C/C++: Ming - SWF generation library
  • C++: gameswf - Library for parsing and rendering SWF movies
  • C++ libsswf - A complete library to generate Flash animations
  • PHP: Ming - SWF generation library
  • Python: Ming - SWF generation library

[edit] Sample files

[edit] Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox