SWF

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Links)
(See also)
(18 intermediate revisions by 6 users not shown)
Line 3: Line 3:
 
|subcat=Graphics
 
|subcat=Graphics
 
|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
 
|locfdd={{LoCFDD|fdd000248}}, others
 
|pronom={{PRONOM|fmt/507}}, others
 
|pronom={{PRONOM|fmt/507}}, others
 +
|kaitai struct=swf
 +
|wikidata={{wikidata|Q594447}}, or lots of others for specific versions
 
|released=1996
 
|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 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. This format is famously not supported by Apple's iOS devices, leading Web developers to support alternative means of accomplishing such things as video playing, such as those provided in [[HTML]] 5.
+
  
 
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.
 
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 AI]R 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 [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)]].
  
 
In personal ads, SWF means "Single White Female", while the airport code SWF refers to the Stewart airport in Newburgh, New York. Neither of these has any particular relevance to file formats, however.
 
In personal ads, SWF means "Single White Female", while the airport code SWF refers to the Stewart airport in Newburgh, New York. Neither of these has any particular relevance to file formats, however.
Line 24: Line 30:
 
! PRONOM
 
! PRONOM
 
! LoCFDD
 
! LoCFDD
 +
! Wikidata
 
|-
 
|-
|SWF 1 (Macromedia) || {{PRONOM|fmt/104}}
+
|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 2 || {{PRONOM|fmt/105}}
+
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}} || {{wikidata|Q29011358}}
 
|-
 
|-
|SWF 3 || {{PRONOM|fmt/106}}
+
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}} || {{wikidata|Q29011361}}
 
|-
 
|-
|SWF 4 || {{PRONOM|fmt/107}}
+
|SWF 9–10 || {{PRONOM|fmt/506}}, {{PRONOM|fmt/507}} || - || {{wikidata|Q29011363}}, {{wikidata|Q29011365}}
 
|-
 
|-
|SWF 5 || {{PRONOM|fmt/108}}
+
|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 6 || {{PRONOM|fmt/109}}
+
|SWF 31-36 || - || - || {{wikidata|Q29017304}}, {{wikidata|Q29017306}}, {{wikidata|Q29017309}}, {{wikidata|Q29017311}}, {{wikidata|Q29017312}}, {{wikidata|Q29017314}}
|-
+
|SWF 7 || {{PRONOM|fmt/110}} || {{LoCFDD|fdd000130}}
+
|-
+
|SWF 8 (Adobe) || {{PRONOM|fmt/505}} || {{LoCFDD|fdd000248}}
+
|-
+
|SWF 9 || {{PRONOM|fmt/506}}
+
|-
+
|SWF 10 || {{PRONOM|fmt/507}}
+
 
|}
 
|}
  
Line 53: Line 52:
  
 
== See also ==
 
== See also ==
 +
* [[ActionScript]]
 +
* [[F4V]]
 +
* [[FLA]]
 
* [[FLV]]
 
* [[FLV]]
 +
* [[FXG]]
  
 
== Specifications ==
 
== Specifications ==
Line 61: Line 64:
  
 
== Software ==
 
== Software ==
 +
==== Editing Software ====
 +
* [https://www.adobe.com/products/animate.html Adobe Animate] - Creates SWF files from FLA files
 +
* [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.kindi.com/ secureSWF] - SWF code obfuscator (code security)
 +
 +
==== Viewer Software ====
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
 
* [http://get.adobe.com/flashplayer/ Adobe Flash Player]
* [http://gnashdev.org/ Gnash]
+
** [https://helpx.adobe.com/flash-player/kb/archived-flash-player-versions.html Old versions]
* [http://lightspark.github.io/ Lightspark]
+
* [https://www.gnu.org/software/gnash/ GNU Gnash] (apparently inactive)
* [https://github.com/mozilla/shumway Shumway] (Flash VM / runtime in JavaScript)
+
* [http://lightspark.github.io/ Lightspark] (alpha state)
 +
* [https://github.com/mozilla/shumway Shumway] (inactive)
 
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.
 
* [[7-Zip]] can convert compressed SWF to uncompressed SWF.
 +
 +
== 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
  
 
== Links ==
 
== Links ==
Line 72: Line 96:
 
* [[Wikipedia:FutureSplash Animator|Wikipedia: FutureSplash Animator]]
 
* [[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://www.adobe.com/devnet/articles/flashplayer-air-feature-list.html Flash Player and Adobe AIR feature list]
* [http://imgur.com/a/MtQZv#12 SWF format mini-poster]
+
* [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]
  
 
[[Category:Video]]
 
[[Category:Video]]
 
[[Category:Web]]
 
[[Category:Web]]
 
[[Category:Adobe]]
 
[[Category:Adobe]]

Revision as of 19:30, 9 June 2019

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

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).

In personal ads, SWF means "Single White Female", while the airport code SWF refers to the Stewart airport in Newburgh, New York. Neither of these has any particular relevance to file formats, however.

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

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.

See also

Specifications

Software

Editing Software

Viewer Software

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

Links

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox