| 小型ウェブ形式 (.SWF) | |
|---|---|
| ファイル名拡張子 | .swf |
| インターネットメディアの種類 | |
| 魔法の数字 | CWS、FWS[ 4 ]またはZWS[ 5 ] |
| 開発者 | FutureWave Software(後にMacromediaとAdobe Systemsに買収) |
| フォーマットの種類 | ベクターグラフィックアニメーション |
| コンテナ用 | Adobe Flash (旧称 Macromedia Flash および FutureSplash)。Shockwave Flash Objectと呼ばれることもあります。 |
SWF(/ ˈswɪf /)[ 6 ]は、マルチメディア、ベクターグラフィックス、ActionScriptに使用される廃止されたAdobe Flashファイル形式です。[ 7 ]
SWFファイルはFutureWave Software社で開発され、その後Macromedia社に移管され、その後Adobe社が管理するようになりました。SWFファイルには、様々なレベルのインタラクティブ性と機能を備えたアニメーションやアプレットを含めることができます。また、 ActionScriptを使用したプログラム(一般的にはブラウザゲーム)にも使用されることがあります。
プログラマーは、Flash、Flash Builder(IDE)、Adobe Animate(2016年からAdobe Flashから改名)、After EffectsなどのAdobe製品内から、また無料で入手できるFlex SDKの一部であるコマンドラインアプリケーションコンパイラーのMXMLCを通じて、 SWFファイルを生成できます。Adobe Illustratorは「エクスポート」機能を使用してSWF形式のファイルを生成できますが、それを開いたり編集したりすることはできません。Adobe製品を使用する以外に、オープンソースのMotion-Twin ActionScript 2 Compiler(MTASC)、オープンソースのMingライブラリ、フリーソフトウェアスイートのSWFToolsを使用してSWFを構築できます。Multimedia Fusion 2、Captivate、SWiSH Maxなど、その他のさまざまなサードパーティプログラムでも、この形式のファイルを生成できます。
「SWF」という用語は、もともとShockWave Flashの略称でした。[ 8 ]この用法は、SWFの派生元であるShockwaveという別の技術との混同を避けるため、Small Web Formatという頭字語に変更されました。 [ 9 ] [ 10 ] Adobeによる「SWF」という頭字語の正式な解決はありません。[ 11 ]
Adobeは2020年12月31日にFlash Playerのサポート終了を宣言しました。2021年1月12日には、Flash Playerのアップデートをリリースし、すべてのFlashコンテンツの実行をブロックしました。[ 12 ]
小さな会社であるFutureWave Softwareは、当初、娯楽的なアニメーションを表示するための小さなファイルを作成することを主な目的としてファイル形式を定義しました。[ 13 ] このアイデアは、あらゆるシステムで実行可能なプレーヤーソフトウェアと、低速ネットワーク接続でも動作する形式を念頭に置いていました。FutureWaveは1996年5月にFutureSplash Animatorをリリースしました。 1996年12月、MacromediaがFutureWaveを買収し、FutureSplash AnimatorはMacromedia Flash 1.0となりました。
SWFという名称は、マクロメディアが広く知られたMacromedia Shockwaveブランドを活用したいという思いから生まれました。Macromedia Directorはエンドユーザー向けにShockwaveファイルを生成していたため、同社の新しいFlash製品で作成されたファイルは、既に確立されたブランドを活用しようとしていました。しかし、FlashがShockwave自体よりも人気が高まったため、このブランド化は大きな問題となり、このフォーマットは単にSWFと呼ばれるようになりました。[ 8 ]
アドビは2005年にマクロメディアを買収した。[ 14 ]
2008年5月1日、AdobeはOpen Screen Projectの一環として、SWFフォーマット仕様に対するライセンス制限を解除しました。しかし、Gnash開発チームのメンバーであるRob Savoyeは、Flashフォーマットの一部が依然として非公開であると指摘しています。[ 15 ] 2008年7月1日、AdobeはGoogleとYahoo!に対し、両社の検索エンジンがSWFファイルをクロールし、インデックス化できるようにするコードを公開しました。[ 16 ]
SWFにおける主要なグラフィカルプリミティブはパスであり、これは直線からスプライン、ベジェ曲線に至るまでのプリミティブタイプのセグメントの連鎖です。これらから、長方形、楕円、さらにはテキストなどの追加のプリミティブを構築できます。したがって、SWFのグラフィカル要素はSVGやMPEG-4 BIFSと非常に似ています。SWFはディスプレイリストも使用し、以前に定義されたコンポーネントに名前を付けて再利用することもできます。[ 17 ]
SWFが使用するバイナリストリーム形式は、タグ、長さ、ペイロードで構成されており、 QuickTimeアトムと非常によく似ています。この構成により、(古い)プレーヤーがサポートしていないコンテンツをスキップすることが非常に簡単になります。[ 17 ]
この形式はもともと、ベクターベースのオブジェクトと画像を単純な連続形式で表示することに限定されていましたが、後のバージョンではオーディオ (Flash 3 以降) とビデオ (Flash 6 以降) も表示できるようになりました。
AdobeはFlash Playerバージョン11で、新しい低レベル3D APIを導入しました。当初はMolehillというコードネームで呼ばれていましたが、最終的に正式名称はStage3Dとなりました。これはOpenGLやDirect3Dと同等のものとなることが意図されていました。[ 18 ] : 9 Stage3Dでは、シェーダーはAdobe Graphics Assembly Language (AGAL)と呼ばれる低レベル言語で表現されます。[ 18 ] : 57 [ 19 ]
Adobe は、x86 アーキテクチャおよびARM アーキテクチャ( ChromeOSのみ)上のMicrosoft Windows、Mac OS X、Linuxなど、多くのデスクトップ オペレーティング システム上のWeb ブラウザーで SWF ファイルを再生するための、Adobe Flash PlayerやAdobe Integrated Runtimeなどのプラグインを提供しています。
GNUは、GNU一般公衆利用許諾書(GPL)に基づき、Gnashと呼ばれるフリーソフトウェアSWFプレイヤーの開発を開始しました。優先度の高いGNUプロジェクトとして宣言されているにもかかわらず、Gnashへの資金提供は非常に限られていました。[ 20 ]もう一つのプレイヤーは、 LGPLライセンスのSwfdecです。Lightsparkは、より新しいSWFバージョンをサポートするGnashの続編です。[ 20 ]
Adobeは、より複雑な文書をレンダリングするAdobe Shockwaveを含む他の製品や技術にSWFの再生とオーサリングを組み込んでいます。 [ 17 ] SWFはPDFファイルに埋め込むこともでき、 Adobe Reader 9以降で表示できます。 [ 21 ] InDesign CS6では、いくつかの限定された形式のSWFアニメーションを直接作成することもできます。[ 22 ]
ソニーのプレイステーション・ポータブルは、ファームウェアバージョン2.71以降、ソニーのウェブブラウザで一部のSWFファイルを再生できます。任天堂のWii [ 23 ]とソニーのPS3 [ 24 ]もウェブブラウザでSWFファイルを再生できます。
Scaleform GFxは、 GPUを使用した完全なハードウェアアクセラレーションを備え、Flash 8およびAS2までの高い準拠性を備えた商用代替SWFプレーヤーです。Scaleform GFxはゲームミドルウェアソリューションとしてライセンスされており、多くのPCおよびコンソール3Dゲームでユーザーインターフェース、HUD、ミニゲーム、ビデオ再生に使用されています。
SWF の新しい 3D 機能はWebGLの代替として見られており、Papervision3D [ 25 ] [ 26 ] [ 27 ] Away3D [ 25 ] [ 28 ] [ 29 ] Sandy 3D [ 25 ] [ 30 ] Alternativa 3D など、3D SWF をターゲットにした 3D エンジンが急増しています。 [ 31 ]これらのプロジェクトのいくつかは2005 年頃に始まりましたが、Flash Player 10 までは GPU アクセラレーションをサポートしていませんでした。また、 Flash Player のそのバージョンでも、シェーダーは同じマテリアルに使用できますが、頂点情報は CPU で処理する必要がありました ( BSP ツリーなどを使用) 。 [ 31 ] Flash Player バージョン 11 で新しい Stage3D 低レベル API が追加された移行したのはAway3Dバージョン4でした。[ 32 ]
2010年にミルワード・ブラウンが実施しアドビが発表した独自の調査によると、「成熟市場」(米国、カナダ、英国、フランス、ドイツ、日本、オーストラリア、ニュージーランドと定義)のデスクトップウェブブラウザの99%以上にSWFプラグインがインストールされており、約90%に最新バージョンのFlash Playerが搭載されていた。[ 33 ]
ゲームやアニメーションにおける HTML5 の人気の高まりと、Adobe の SWF プレーヤーを悩ませてきた多数のセキュリティホールにより、Adobe は 2020 年 12 月 31 日に Flash プレーヤーのサポート終了を宣言しました。2021 年 1 月 12 日には、すべての Flash コンテンツの実行をブロックする Flash プレーヤーのアップデートをリリースしました。
AdobeはSWFの部分的な仕様を公開しており[ 34 ] 、最近では2013年1月にSWFバージョン19の変更を反映するように更新されました。[ 35 ] Flash 10以降、SWFバージョンはFlash Playerのバージョンから切り離されました。その後、SWFのバージョン番号は急速に進化し、SWFバージョン19はFlash Player 11.6で追加された新機能に対応しています。[ 36 ] Flash Player 14はSWFバージョン25を使用します。[ 37 ]
2008年、 Gnashプロジェクトの主任開発者であるRob Savoyeは、この仕様書にはSWFを完全に実装するために必要な「膨大な量」の情報が欠けており、RTMPとSorenson Sparkの仕様が省略されていると批判した。[ 15 ] RTMP仕様[ 38 ]は2009年6月に公開された。Sorenson SparkコーデックはAdobeの所有物ではない。
2008年5月1日まで、SWFを再生するソフトウェアの実装は仕様のライセンスによって禁止されていました。[ 39 ]その日、AdobeはOpen Screen Projectの一環として、SWFとFLV形式に対するそのような制限をすべて撤廃しました。[ 40 ]
SWFファイルを作成するソフトウェアの導入は、生成されたファイルが「Adobe Flash Playerの最新の公開バージョンでエラーなく表示される」という条件で、常に許可されてきました。 [ 41 ]
AdobeツールチェーンにおけるSWFオーサリング関連の他のフォーマットは、公開仕様が未だ策定されていません。例えばFLAは、Adobe Flashで使用されるSWFの編集可能なバージョンですが、機能は少ないものの、SWFを出力できる他のAdobeツールでは使用されていません。[ 42 ]
| 拡大 | 説明 |
|---|---|
| .abc | Actionscript 仮想マシン AVM (Flash 8 以前) および AVM2 (Flash 9 以降) で使用される Actionscript バイトコード。 |
| .amf | FMSと取引するためのアクション メッセージ コマンド。 |
| 。として | シンプルなソースファイル内のActionScriptソースコード。FLA ファイルには ActionScript コードを直接含めることもできますが、構造上の理由や、バージョン管理アプリケーションにコードを公開するために、別個の外部 .as ファイルが必要になることがよくあります。 |
| .asc | 効率的で柔軟なクライアント サーバー Macromedia Flash Communication Server MX アプリケーションを開発するために使用されるサーバー サイド ActionScript。 |
| .aso | Flash開発中に使用されるキャッシュファイルで、コンパイル済みのActionScriptバイトコードが含まれています。ASOファイルは、対応するクラスファイルの変更が検出されると再作成されます。Flash IDEが再コンパイルの必要性を認識しない場合があり、その場合はこれらのキャッシュファイルを手動で削除する必要があります。これらのファイルは、Win32 / Flash8では%USERPROFILE%\Local Settings\Application Data\Macromedia\Flash8\en\Configuration\Classes\asoに保存されています。 |
| .f4a | オーディオストリームのみを含むiTunes M4AファイルのAdobeサフィックス。[ 43 ] |
| .f4b | iTunes M4BオーディオブックファイルのAdobeサフィックス。[ 43 ] |
| .f4f | MP4アトミック化された断片化されたファイル。FLVパケットを含みます。 |
| .f4m | XMLマニフェストファイル。Adobe版のビットレート制御HTTPライブストリーミング用のbase64 FLV onMetaDataヘッダーが含まれています。 |
| .f4p | Adobeは、RTMPプロトコルが使用するのと同じ保護方式に基づいたAdobe Accessデジタル著作権管理方式で暗号化されたメディアの接尾辞です。 [ 43 ] |
| .f4v | iTunesのM4Vファイルに類似しており、 MP4をベースとしており、Flash Player 9 Update 3以降で再生可能です。F4Vファイル形式はFlashビデオ用の第2のコンテナ形式で、FLVファイル形式とは異なります。ISOベースのメディアファイル形式に基づいています。[ 44 ] [ 43 ] |
| .fla | Flashアプリケーションのソースマテリアルです。FlashオーサリングソフトウェアはFLAファイルを編集し、.swfファイルにコンパイルできます。Flashソースファイル形式は現在、Microsoft Compound File Format(複合ファイル形式)に基づくバイナリファイル形式です。Flash Pro CS5では、FLAファイル形式はXMLベースのプロジェクト構造のzipコンテナです。 |
| .flp | Flashプロジェクトに含まれるすべてのドキュメントファイルを参照するために使用されるXMLファイル。Flashプロジェクトを使用すると、複数の関連ファイルをグループ化して、Flashプロジェクトの整理、コンパイル、ビルドを容易に行うことができます。 |
| .flv | Adobe Flash、 ffmpeg、Sorenson Squeeze、またはOn2 Flixによって作成されたFlashビデオファイル。FLVファイル内のオーディオデータとビデオデータは、SWFファイルと同じ方法でエンコードされます。 |
| .fxg | AdobeがFlex、Flash、Photoshopなどのアプリケーション 向けに開発している統合 XML ファイル形式。 |
| .jsfl | Flash オーサリング環境に機能を追加します。JavaScript コードが含まれており、Flash JavaScript API にアクセスします。 |
| .mxml | ActionScriptファイル(および.cssファイル)と組み合わせて使用され、FlexのGUIを設計するためのマークアップ言語スタイルの構文(HTMLなど)を提供します。各MXMLファイルは、ルートタグのクラスを拡張する新しいクラスを作成し、ネストされたタグを子(UIComponentの子孫の場合)またはクラスのメンバーとして追加します。 |
| 。ソル | ローカル共有オブジェクト(Flash プレーヤーを実行しているシステムに保存されるデータ) を保持するためのAdobe Flash Playerコンテナー。 |
| .spl | FutureSplash Animatorドキュメント。 |
| .swc | コンポーネントを配布するためのコンテナ。コンパイルされたクリップ、コンポーネントの ActionScript クラス ファイル、およびコンポーネントを説明するその他のファイルが含まれます。 |
| .swd | Flash開発中に使用される一時的なデバッグファイルです。Flashプロジェクトの開発が完了したら、これらのファイルは不要になるため、削除できます。 |
| .swf | Adobe Flashで編集できない、完成・コンパイル・公開済みのファイル。ただし、Adobe製以外の「.swfデコンパイラ」(Sothink製など)がいくつか存在し、SWFをFLA形式[ 45 ]、またはより新しいApache Flex形式[ 46 ]に変換できます。Flashを使用して.swfファイルをインポートしようとすると、一部のアセットは取得できますが、すべてを取得できるわけではありません。[ 47 ] |
| .swt | Macromedia Generatorで使用される、テンプレート化された.swfファイル。Adobe DreamweaverのFlashテンプレートファイル拡張子でもある。[ 48 ] |
| .xfl | バイナリ .fla 形式に相当する XML ベースのプロジェクトファイルです。Flash オーサリングソフトウェアは、Flash CS4 で XFL を交換形式として使用します。InDesign および AfterEffects から書き出された XFL ファイルをインポートします。Flash Pro CS5 では、xfl ファイルは「非圧縮 FLA」ファイルを開くためのキーファイルです。非圧縮 FLA ファイルは、XML ファイルとバイナリファイルを含むフォルダー階層構造です。 |
本仕様は、SWFファイルの読み取りまたはレンダリングを行うランタイム、クライアント、プレーヤー、実行可能ファイル、その他のプログラムの作成または開発にいかなる形でも使用することはできません。