SWF(/ ˈswɪf /)[ 6 ]は、マルチメディア、ベクターグラフィックス、アクションスクリプトに使用される、廃止されたAdobe Flashファイル形式です。[ 7 ]
FutureWave Softwareが開発し、その後Macromediaに移管され、最終的にAdobeの管理下に入ったSWFファイルには、インタラクティブ性や機能の異なるアニメーションやアプレットを含めることができます。また、 ActionScriptを使用するプログラム、特にブラウザゲームなどでよく見られます。
プログラマーは、Flash、Flash Builder(IDE)、Adobe Animate(2016年以降Adobe Flashの名称変更)、After Effectsなど、複数のAdobe製品内からSWFファイルを生成できます。また、無料で利用できるFlex SDKの一部であるコマンドラインアプリケーションコンパイラMXMLCからも生成できます。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コンテンツの実行をブロックするFlash Playerのアップデートを配信しました。[ 12 ]
小規模企業のFutureWave Softwareは、当初、楽しいアニメーションを表示するための小さなファイルを作成するという1つの主要な目的でファイル形式を定義しました。[ 13 ] このアイデアは、プレーヤーソフトウェアがどのシステムでも実行でき、低速なネットワーク接続でも動作する形式でした。FutureWaveは1996年5月にFutureSplash Animatorをリリースしました。 1996年12月にMacromediaがFutureWaveを買収し、FutureSplash AnimatorはMacromedia Flash 1.0になりました。
SWF という名称は、マクロメディアが有名なMacromedia Shockwaveブランドを活用したいという願望から生まれました。マクロメディア Director はエンドユーザー向けに Shockwave ファイルを作成していたため、同社の新しい Flash 製品で作成されたファイルは、既に確立されたブランドを活用しようとしたのです。Flash が Shockwave 自体よりも人気になるにつれて、このブランディングの決定はむしろ不利になり、このフォーマットは単に SWF と呼ばれるようになりました。[ 8 ]
Adobeは2005年にMacromediaを買収した。[ 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 というコードネームでしたが、この API の正式名称は最終的にStage3Dとなりました。これはOpenGLまたはDirect3Dと同等のものとなることを意図していました。[ 18 ] : 9 Stage3D では、シェーダーはAdobe Graphics Assembly Language (AGAL)と呼ばれる低レベル言語で表現されます。[ 18 ] : 57 [ 19 ]
Adobeは、Microsoft Windows、Mac OS X、x86アーキテクチャおよびARMアーキテクチャ(ChromeOSのみ)上のLinuxなど、多くのデスクトップオペレーティングシステム上のWebブラウザでSWFファイルを再生するためのプラグイン(Adobe Flash PlayerやAdobe Integrated Runtimeなど)を提供しています。
GNU は、GNU General Public License (GPL)の下でGnashと呼ばれるフリーソフトウェアのSWF プレーヤーの開発を開始しました。Gnash は優先度の高い GNU プロジェクトであると宣言されているにもかかわらず、資金はかなり限られていました。[ 20 ]もう 1 つのプレーヤーはLGPLライセンスのSwfdecです。Lightsparkは、より新しい SWF バージョンをサポートする Gnash の後継です。[ 20 ]
Adobe は、より複雑なドキュメントをレンダリングするAdobe Shockwaveなど、他の製品やテクノロジーに SWF の再生と作成機能を組み込んでいます。 [ 17 ] SWF はPDFファイルに埋め込むこともでき、 Adobe Reader 9 以降で表示できます。 [ 21 ] InDesign CS6 では、限定的な形式の SWF アニメーションを直接作成することもできます。[ 22 ]
ソニーのPlayStation Portableコンソールは、ファームウェアバージョン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 が追加された後、これらのプロジェクトの一部は新しい API に移行しましたが、すべてではありません。移行したソフトウェアの1つはAway3Dバージョン4でした。[ 32 ]
Millward Brown が実施し Adobe が発表した独立調査によると、2010 年に、「成熟市場」(米国、カナダ、英国、フランス、ドイツ、日本、オーストラリア、ニュージーランドと定義)のデスクトップ Web ブラウザの 99% 以上で SWF プラグインがインストールされており、約 90% で最新バージョンの Flash Player がインストールされていた。[ 33 ]
ゲームやアニメーションにおけるHTML5の人気上昇、そしてAdobeのSWFプレーヤーに蔓延していた数々のセキュリティ上の脆弱性を理由に、Adobeは2020年12月31日にFlashプレーヤーのサポート終了(EOL)を発表しました。さらに2021年1月12日には、Flashコンテンツの実行を一切禁止するFlashプレーヤーのアップデートを配信しました。
Adobe は SWF の部分的な仕様を公開しており、[ 34 ]最新版は SWF バージョン 19 の変更を反映するために 2013 年 1 月に更新されました。[ 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 ]
ファイルを読み込んだりレンダリングしたりするランタイム、クライアント、プレーヤー、実行可能ファイル、またはその他のプログラムを作成または開発するために、仕様をいかなる方法でも使用することはできません。
{{cite web}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)