SWF

Small Web Format (SWF)
Flash Player 34 SWF icon.png
Filnamnstillägg
.swf
Internet mediatyp
application/vnd.adobe.flash.movie, application/x-shockwave-flash
Magiskt nummer CWS , FWS eller ZWS
Utvecklad av

FutureWave Software , senare övertagen av Macromedia och Adobe Systems
Typ av format Vektorgrafisk animation
Behållare för Adobe Flash (tidigare Macromedia Flash och FutureSplash), ibland märkt Shockwave Flash Object .

SWF ( / ˈ s w ɪ f / ) är ett Adobe Flash - filformat som används för multimedia , vektorgrafik och ActionScript . SWF-filer , som har sitt ursprung i FutureWave-programvaran , överförs sedan till Macromedia och kommer sedan under kontroll av Adobe , och kan innehålla animationer eller appletar med varierande grad av interaktivitet och funktion. De kan också förekomma i program, vanligtvis webbläsarspel , som använder ActionScript .

Programmerare kan generera SWF-filer från flera Adobe-produkter, inklusive Flash , Flash Builder (en IDE ), Adobe Animate (ersättningen för Adobe Flash från och med februari 2016) och After Effects , samt genom MXMLC, en kommandorad applikationskompilator som är en del av den fritt tillgängliga Flex SDK . Även om Adobe Illustrator kan generera filer i SWF-format genom sin "export"-funktion, kan den inte öppna eller redigera dem. Förutom att använda Adobe-produkter kan man bygga SWF:er med Motion-Twin ActionScript 2 Compiler (MTASC) med öppen källkod, Ming-biblioteket med öppen källkod och gratisprogramsviten SWFTools . Olika andra tredjepartsprogram kan också producera filer i detta format, som Multimedia Fusion 2 , Captivate och SWiSH Max .

Termen "SWF" har sitt ursprung som en förkortning för ShockWave Flash . Denna användning ändrades till baknamnet Small Web Format för att eliminera förvirring med en annan teknik, Shockwave , som SWF härrör från. Det finns ingen officiell lösning på initialismen "SWF" av Adobe.

Historia

Det lilla företaget FutureWave Software definierade ursprungligen filformatet med ett primärt mål: att skapa små filer för att visa underhållande animationer. Idén innebar ett format som spelarprogramvara kunde köra på vilket system som helst och som skulle fungera med långsammare nätverksanslutningar. FutureWave släppte FutureSplash Animator i maj 1996. I december 1996 förvärvade Macromedia FutureWave och FutureSplash Animator blev Macromedia Flash 1.0.

Det ursprungliga namnet på SWF kom från Macromedias önskan att dra nytta av det välkända Macromedia Shockwave- varumärket; Macromedia Director producerade Shockwave-filer för slutanvändaren, så filerna som skapades av deras nyare Flash-produkt försökte dra nytta av det redan etablerade varumärket. När Flash blev mer populärt än Shockwave själv, blev detta varumärkesbeslut mer av ett ansvar, så formatet började hänvisas till som helt enkelt SWF.

Adobe förvärvade Macromedia 2005.

Den 1 maj 2008 släppte Adobe sina licensbegränsningar för SWF-formatspecifikationerna, som en del av Open Screen Project . Rob Savoye , en medlem av Gnashs utvecklingsteam, har dock pekat på vissa delar av Flash-formatet som förblir stängda. Den 1 juli 2008 släppte Adobe kod till Google och Yahoo, vilket gjorde det möjligt för deras sökmotorer att genomsöka och indexera SWF-filer.

Beskrivning

Den huvudsakliga grafiska primitiva i SWF är banan, som är en kedja av segment av primitiva typer, som sträcker sig från linjer till splines eller bezier-kurvor . Ytterligare primitiver som rektanglar, ellipser och till och med text kan byggas från dessa. De grafiska elementen i SWF är alltså ganska lika SVG och MPEG-4 BIFS . SWF använder också visningslistor och tillåter namngivning och återanvändning av tidigare definierade komponenter.

Det binära strömformatet som SWF använder är ganska likt QuickTime- atomer, med en tagg, längd och nyttolast – en organisation som gör det väldigt enkelt för (äldre) spelare att hoppa över innehåll som de inte stöder.

Ursprungligen begränsat till att presentera vektorbaserade objekt och bilder på ett enkelt sekventiellt sätt, tillåter formatet i dess senare versioner ljud (sedan Flash 3) och video (sedan Flash 6).

Adobe introducerade ett nytt 3D API på låg nivå i version 11 av Flash Player. Ursprungligen kodnamnet Molehill, det officiella namnet som gavs till detta API var slutligen Stage3D . Det var tänkt att vara en motsvarighet till OpenGL eller Direct3D . I Stage3D shaders i ett lågnivåspråk som kallas Adobe Graphics Assembly Language (AGAL).

Adoption

Adobe tillhandahåller plugins , som Adobe Flash Player och Adobe Integrated Runtime , för att spela SWF-filer i webbläsare på många datoroperativsystem, inklusive Microsoft Windows , Mac OS X och Linux x86-arkitekturen och ARM-arkitekturen ( endast ChromeOS ).

GNU har börjat utveckla en gratis SWF-spelare som heter Gnash under GNU General Public License (GPL). Trots att det var ett deklarerat högprioriterat GNU-projekt var finansieringen av Gnash ganska begränsad. En annan aktör är den LGPL -licensierade Swfdec . Lightspark är en fortsättning på Gnash som stöder nyare SWF-versioner.

Adobe har införlivat SWF-uppspelning och redigering i andra deras produkter och teknologier, inklusive i Adobe Shockwave , som återger mer komplexa dokument. SWF kan också bäddas in i PDF- filer; dessa kan visas med Adobe Reader 9 eller senare. InDesign CS6 kan också producera vissa begränsade former av SWF-animationer direkt.

Sony PlayStation Portable- konsoler kan spela upp begränsade SWF-filer i Sonys webbläsare, från och med firmwareversion 2.71. Både Nintendo Wii och Sony PS3- konsolerna kan köra SWF-filer via sina webbläsare.

Scaleform GFx är en kommersiell alternativ SWF-spelare som har full hårdvaruacceleration med GPU och har hög överensstämmelse upp till Flash 8 och AS2. Scaleform GFx är licensierad som en spelmellanprogramlösning och används av många PC- och konsol-3D-spel för användargränssnitt, HUDs , minispel och videouppspelning. [ citat behövs ]

De nyare 3D-funktionerna i SWF har setts som ett alternativ till WebGL , med en mängd 3D-motorer som Papervision3D , Away3D , Sandy 3D och Alternativa 3D som riktar in sig på 3D SWF. Även om vissa av dessa projekt startade runt 2005, fram till Flash Player 10 hade de dock inget stöd för GPU- acceleration, och även i den versionen av Flash Player kunde skuggningar användas för samma material, men vertexinformation måste fortfarande bearbetas på CPU (med BSP-träd etc.) Efter att version 11 av Flash Player lade till det nya lågnivå-API:et Stage3D, migrerade några men inte alla av dessa projekt till det nya API:et. En som migrerade var Away3D, version 4.

Baserat på en oberoende studie utförd av Millward Brown och publicerad av Adobe, 2010, över 99 % av stationära webbläsare på de "mogna marknaderna" (definierade som USA, Kanada, Storbritannien, Frankrike, Tyskland, Japan, Australien och Nya Zeeland) hade ett SWF-plugin installerat, där cirka 90 % hade den senaste versionen av Flash Player.

På grund av HTML5s ökande popularitet för spel och animationer, såväl som de många säkerhetshålen som hade plågat Adobes SWF-spelare, deklarerade Adobe sin Flash-spelare EOL den 31 december 2020. Den 12 januari 2021 skickade den en uppdatering till sin Flash-spelare som blockerade allt Flash-innehåll från att köras.

Publicerade specifikationer

Adobe tillhandahåller en partiell specifikation av SWF, senast uppdaterad i januari 2013 för att återspegla ändringar i SWF-version 19. SWF-versioner har frikopplats från Flash-spelarversioner efter Flash 10. Därefter utvecklades versionsnumret för SWF snabbt; SWF version 19 motsvarar de nya funktionerna som lagts till i Flash Player 11.6. Flash Player 14 använder SWF version 25.

2008 kritiserades specifikationsdokumentet av Rob Savoye , huvudutvecklaren av Gnash -projektet, för att det saknade "stora mängder" information som behövs för att fullständigt implementera SWF, och utelämnade specifikationer för RTMP och Sorenson Spark . RTMP - specifikationen släpptes offentligt i juni 2009. [ citat behövs ] Sorenson Spark-codec är inte Adobes egendom.

Licensiering

Fram till 1 maj 2008 var det inte tillåtet att implementera programvara som spelar SWF av specifikationens licens. På det datumet, som en del av sitt Open Screen Project, släppte Adobe alla sådana begränsningar för SWF- och FLV -formaten.

Implementering av programvara som skapar SWF-filer har alltid varit tillåten, under förutsättning att de resulterande filerna blir "felfria i den senaste allmänt tillgängliga versionen av Adobe Flash Player."

Relaterade filformat och tillägg

Andra format relaterade till SWF-skapande i Adobes verktygskedja kvarstår utan en offentlig specifikation. Ett exempel är FLA, som är den redigerbara versionen av SWF som används av Adobes Flash, men inte av andra Adobe-verktyg som också kan mata ut SWF, om än med färre funktioner.

Förlängning Förklaring
. abc Actionscript-bytekod som används av Actionscript Virtual Machine AVM (Flash 8 och tidigare), och AVM2 (Flash 9 eller senare).
. amf Åtgärd Meddelandekommandon för transaktioner med ett FMS .
. som ActionScript- källkod i enkla källfiler. FLA-filer kan också innehålla Actionscript-kod direkt, men separata externa .as-filer dyker ofta upp av strukturella skäl eller för att exponera koden för versionsapplikationer.
.asc Server-Side ActionScript, som används för att utveckla effektiva och flexibla klient-server Macromedia Flash Communication Server MX-applikationer.
.aso Cachefiler som används under Flash-utveckling och innehåller kompilerad ActionScript-bytekod. En ASO-fil återskapas när en ändring i dess motsvarande klassfiler upptäcks. Ibland känner inte Flash IDE igen att en omkompilering är nödvändig, och dessa cachefiler måste raderas manuellt. De finns i %USERPROFILE%\Local Settings\Application Data\Macromedia\Flash8\en\Configuration\Classes\aso på Win32 / Flash8.
.f4a Adobe-suffix för iTunes M4A-filer som endast innehåller ljudströmmar.
.f4b Adobe-suffix för iTunes M4B- ljudboksfiler .
.f4f MP4-atomiserade fragmenterade filer. Innehåller FLV-paket .
.f4m XML-manifestfiler. Innehåller base64 FLV onMetaData-rubriker för en Adobe-version av bithastighetskontroll HTTP Live Streaming .
.f4p Adobes suffix för media krypterade med Adobe Access- systemet för hantering av digitala rättigheter som är baserat på samma skyddsschema som deras RTMP-protokoll använder.
.f4v Liknar iTunes M4V-filer som är baserade på MP4 och kan spelas upp av Flash Player 9 Update 3 och högre. F4V-filformatet är det andra behållarformatet för Flash-video och det skiljer sig från FLV-filformatet. Den är baserad på ISO-basmediafilformatet .
. fla Källmaterial för Flash-applikationen. Flash-författarprogram kan redigera FLA-filer och kompilera dem till .swf-filer. Flash-källfilformatet är för närvarande ett binärt filformat baserat på Microsofts sammansatta filformat . I Flash Pro CS5 är fla-filformatet en zip-behållare med en XML-baserad projektstruktur.
.flp XML-filer som används för att referera till alla dokumentfiler som finns i ett Flash-projekt. Flash-projekt tillåter användaren att gruppera flera relaterade filer tillsammans för att hjälpa till med Flash-projektorganisering, kompilering och byggande.
. flv Flash-videofiler , skapade av Adobe Flash, ffmpeg , Sorenson Squeeze eller On2 Flix . Ljud- och videodata i FLV-filer är kodade på samma sätt som de är i SWF-filer.
. fxg Unified xml-filformat utvecklas av Adobe för Flex , Flash, Photoshop och andra applikationer.
.jsfl Lägger till funktionalitet i Flash Authoring-miljön; de innehåller JavaScript-kod och får åtkomst till Flash JavaScript API.
.mxml Används i kombination med ActionScript-filer (och .css-filer) och erbjuder en syntax i märkspråksstil (som HTML) för att utforma GUI i Flex. Varje MXML-fil skapar en ny klass som utökar klassen för rottaggen och lägger till de kapslade taggarna som barn (om de är avkomlingar till UIComponent) eller medlemmar av klassen.
.sol Adobe Flash Player- behållare för lokala delade objekt (data lagrade på systemet som kör Flash-spelaren).
.spl FutureSplash Animator- dokument.
. swc Behållare för distribution av komponenter; de innehåller ett kompilerat klipp, komponentens ActionScript-klassfil och andra filer som beskriver komponenten.
.swd Tillfälliga felsökningsfiler som används under Flash-utveckling. När du är klar med att utveckla ett Flash-projekt behövs dessa filer inte och kan tas bort.
.swf Färdigställda, kompilerade och publicerade filer som inte kan redigeras med Adobe Flash. Det finns dock flera icke-Adobe '.swf- dekompilatorer ' (som Sothinks) för att konvertera SWF tillbaka till FLA-formatet eller till det nyare Apache Flex -formatet. Genom att försöka importera .swf-filer med Flash kan den hämta vissa tillgångar från .swf-filen, men inte alla.
.swt "Malliserade" former av .swf-filer, som används av Macromedia Generator. Det är också Adobe Dreamweavers Flash-mallfiltillägg.
.xfl XML-baserade projektfiler som motsvarar det binära .fla-formatet. Flash-författarprogram använder XFL som utbytesformat i Flash CS4. Den importerar XFL-filer som exporteras från InDesign och AfterEffects. I Flash Pro CS5 är xfl-filen en nyckelfil som öppnar den "okomprimerade FLA"-filen, som är en hierarki av mappar som innehåller XML och binära filer.

Se även

Adobe Flash
Övrig

externa länkar