Epicでは、GoogleがWebRTCのバージョンにおける脆弱性を公開 (詳細はこちら)したことを認識しており、EOS SDKに対する影響および次のステップを調査しています。
Pixel Streaming インフラストラクチャには、Pixel Streaming プラグインのサーバー コンポーネントとフロントエンド コンポーネントが含まれています。コンポーネントには Pixel Streaming の実行に必要なスクリプト (シグナリング サーバー、Matchmaker、SFU) が含まれており、簡単にアクセスして、変更できるように設計されています。 さらに、デベロッパーがPixel Streaming のエクスペリエンスのニーズに合わせて変更・拡張できる基礎を含んでいます。 以前は、これらのスクリプトはプロジェクトおよびエンジンの「Samples/PixelStreaming」ディレクトリに格納されていました。Pixel Streaming を今後も引き続き使用する場合は、新しいインフラストラクチャを使用することが推奨されます。Pixel Streaming に対する最新のフロントエンドの更新はすべてこのインフラストラクチャに対して行われるからです。
新しいインフラストラクチャを推奨する理由
Pixel Streaming のフロントエンドを独自のリポジトリに移行したのには、次の理由からです。
-
Pixel Streaming のリリース頻度を改善するため。インフラストラクチャが独自のリポジトリに存在するため、Unreal Engine への更新に拘束されません。
-
Unreal Engine のライセンシーおよびユーザーの関与を促進し、簡単に関与できるようにするため。
インフラストラクチャを取得する
Pixel Streaming インフラストラクチャにアクセスするには、3 通りの方法 があります。 以下の 3 つのメソッドがもっともよく使用され、ほとんどのユースケースに当てはまります。
Zip ファイルをダウンロードする
https://github.com/EpicGames/PixelStreamingInfrastructure から ZIP 形式のインフラを直接ダウンロードすることができます。 必要なインフラストラクチャのブランチに移動し、緑色のコード ボタンを押します。ZIP をダウンロードするオプションが表示されます。
Git のコマンドを使用する
ローカルに Git がインストールされている場合は、コマンドラインなどでインフラを取得することができます。
例えば、任意の端末で git clone --branch UE5.1 https://github.com/EpicGames/PixelStreamingInfrastructure.git
コマンド (git がインストールされていることを確認してください)。
上記の git コマンドは、インフラストラクチャの 5.1 ブランチをプルします。別のブランチが必要な場合は、git コマンドを適宜修正してください。
指定されたスクリプトを使用する
Pixel Streaming プラグインを有効にすると、インフラストラクチャの必要なブランチを自動的にプルするためのスクリプトが表示されます。
\Engine\Plugins\Media\PixelStreaming\Resources\WebServers
に移動し、get_ps_servers
コマンドを実行します (適宜、Windows 用の .bat
スクリプトまたは Linux 用の .sh
スクリプトを使用してください)。これにより、Pixel Streaming インフラストラクチャの関連ブランチが自動的にそのフォルダに取り込まれます。
ダウンロードしたインフラが自動的に Pixel Streaming 対応プロジェクトにパッケージされるため、推奨される方法です。この方法を使用しない場合でも、インフラストラクチャを上記の場所に手動で配置することで、プロジェクトと一緒にインフラストラクチャのパッケージを確保することができます。
インフラストラクチャのレイアウト
上記のいずれかの方法でインフラストラクチャをプルした後、以下に示すようにローカル ファイルのセットアップが完了します。GitHub で直接インフラストラクチャを参照することもできます。

Pixel Streaming コンポーネントの格納場所は次のとおりです。
-
Frontend: このディレクトリには、Web ブラウザで実行され、Unreal Engine Pixel Streaming アプリケーションに接続して対話するための HTML、CSS、画像、および JavaScript / TypeScript コードと、これらの対話を実装する方法に関するドキュメントが含まれています。
-
Matchmaker:このディレクトリには、Matchmaker の設定と実行に必要なすべてのスクリプトが含まれています。
-
SFU:このディレクトリには、Selective Forwarding Unit の設定と実行に必要なすべての要素が含まれています。
-
SignallingWebServer:シグナリング サーバー、Web サーバー、フロントエンドなど、Pixel Streaming の必須要素が格納されているディレクトリです。
「platform_scripts
」ディレクトリは、各 Pixel Streaming 要素を起動するために使用するすべてのスクリプトが格納されている場所です。Windows 用のスクリプトは「cmd
」、Linux 用のスクリプトは「bash
」にそれぞれ格納されています。
Matchmaker と Selective Forwarding Unit の使用については、「ホスティングおよびネットワーキングの操作ガイド」を参照してください。
基本的な Pixel Stream の設定方法については、「Pixel Streaming の概要」を参照してください。
フロントエンドをカスタマイズする方法については、Frontend/Docs/ ディレクトリを参照してください。
エンジンのバージョン
Pixel Streaming インフラストラクチャには、エンジンのバージョンごとに異なるブランチがあります。Pixel Streaming プラグインはエンジンのバージョンごとに異なるため、互換性のあるバージョンの Pixel Streaming インフラストラクチャ (Unreal Engine 5.0 用のブランチ 5.0 など) を使用する必要があります。アクティブ開発に使用するマスター ブランチも使用することができます。また、Epic Games での開発作業に使用されているマスター ブランチもあります。このブランチは最新の機能を備えているものの、実験段階であり、動作の安定は保証されていません。
現在サポートされている Unreal Engine バージョンのリストのフロントエンド レポのバージョン セクションを参照してください。