このプロジェクトについて
Ruffleは、Rustで実装されたAdobe Flash Playerのオープンソースエミュレータです。デスクトップアプリケーションとしても、WebAssemblyを介したブラウザ内でも動作し、公式Flash Playerが廃止された後もレガシーなFlashコンテンツ(SWFファイル)を再生可能にすることを目的としています。
提供内容:
- ActionScript 1、2、3のサポート。プロジェクトによるとかなり完全ですが、まだ開発中です。
- ユーザーがブラウザでローカルSWFファイルを直接読み込めるWebデモ。
- デスクトップおよびWebプラットフォーム向けのナイトリービルド。
- FirefoxとChrome用のブラウザ拡張機能、Flathubパッケージ、npmパッケージ、AURパッケージ。
- wgpu-rs上に構築されたデスクトップクライアント。オプションのプロファイリング機能(Tracy)とレンダーデバッグラベルを備えています。
- SWFファイルのコレクションを一括解析し、解析成功を報告するスキャナーユーティリティ。
- SWFのPNGスクリーンショットをレンダリングするエクスポーターユーティリティ。オプションで複数フレームにわたってレンダリングし、ヘッドレスで実行できます。
READMEからのアーキテクチャのハイライト:
- core: コアエミュレータと共通コード
- swf: SWFおよびActionScriptパーサー
- desktop: デスクトップクライアント
- web: Webクライアントとブラウザ拡張機能
- render: デスクトップとWeb用のレンダリングバックエンド
- video: ビデオデコードバックエンド
- flv: Flash Videoデコーダー
- wstr: Flash互換の文字列実装
- scannerとexporter: コマンドラインユーティリティ
ソースからビルドするには、最新の安定版Rustツールチェーンと、PATHにJava(組み込みのActionScript 3クラス用)が必要です。Linuxユーザーは、ALSA、udev、fontconfig、freetype、OpenSSLヘッダーなどの一般的な開発パッケージが必要です。デスクトップビルドはcargoで実行され、特定のSWFを引数として渡すことができます。macOSユーザーは、プロジェクトのHomebrew tapからHEADビルドをインストールできます。Webおよび拡張機能のビルドは、webディレクトリの指示に従います。Androidアプリは別のruffle-androidリポジトリにあります。
ライセンスはデュアルApache-2.0 / MITであり、貢献は同じ条件で受け入れられます。プロジェクトは行動規範を公開しており、コミュニティからの貢献を歓迎しています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.