2023年08月29日

AWS AppStream/Pixel Streaming/Tencent Cloud CARの活用

Pixel StreamingやTencent Cloud CARの活用

最近のゲームや、メタバース等ではハイエンドなゲーミングPCが必要なものもあります。手元にある普通のノートPCやスマホ、タブレットでこのようなアプリを扱うには、クラウド上のハイスペックなPCで動作させ、リモートで操作する技術で実現できます。このような概念はシンクライアントとも呼ばれます。SaaSとしてはNvidiaが提供するGeForce Nowが有名です。

この記事ではアプリ開発者向けに前述のような機能を実装できる

AWS AppStream/Pixel Streaming/Tencent Cloud CARについて解説します。

お役立ち資料ダウンロード

オンライン体験におけるブイキューブの技術サポートのご案内

【図解】システム開発のお手伝い

ブイキューブのソリューションアーキテクトが、寄り添います!
各種ライブ配信システムのアーキテクチャについて わかりやすい構成図にてご紹介!

無料ダウンロード

AWS AppStreamの概要

AppStreamは AWS エンドユーザーコンピューティングサービスで、SaaS アプリケーションのストリーミングや、選択的な永続性を持つ仮想デスクトップのコントロールが可能です。AppStreamを仮想デスクトップに使用した場合、保存されたファイルやアプリケーションの設定はユーザーセッション間で持続され、ユーザーがログオンするたびに新しい仮想デスクトップが割り当てられます。

公式ドキュメントから引用

Pixel Streamingの概要

Pixel Streamingのアーキテクチャは2つのコンポーネントで構成されています。 1つはPixel Streamingプラグインで、Unreal Engine内部で実行されます。レンダリングされたフレームをエンコードしWebRTC Proxyサーバーにストリームを送信します。 もう1つはSignaling and Web サーバーで、ブラウザとWebRTC Proxy サーバー間で接続のネゴシエーションを行い、メディア ストリームを再生する HTML および JavaScript 環境をブラウザに提供します。尚、OSやネットワーク等のインフラは別途手配する必要があります。

詳細な内容は公式の概要をご覧ください。

Tencent Cloud CARの概要

Tencent Cloud CARはPaaSで提供され、少ないステップでシステムを構築できます。Tencent Cloudの高いGPU演算能力とオーディオビデオストリーミング技術をベースにしたCloud Application Rendering (CAR)を利用して、お客様は自分のアプリケーションをクラウド側でリアルタイムでレンダリングしてストリーミングを実行することができます。超低遅延と超高画質を提供し、クラウドゲーミング、仮想会議/展示会、仮想営業拠点、仮想都市などのシーンで数多くの成功事例があります。

詳細な内容は公式の概要をご覧ください。

AWS AppStreamの構築方法

AWS AppStreamはコンソール上で作業していきます。

  1. Image Builderの作成
    a. AppStreamの画面からマシンイメージを選択してImage Builderを作成
    b. Image Builderに接続
    C.アプリケーションをインストール
  2. Image Assistantの設定
    a. ストリーミングで利用するアプリケーションを定義
    b. imageの作成
  3. Fleetの作成
    a. Fleetを作成
  4. Stackの作成
    a. アクセス制御するためのスタック設定
    b. Streaming URLの作成
    c. ブラウザで動作確認

Pixel Streamingの構築方法


Pixel Streamingの構築はプラグインの導入とサーバーの準備が主な作業です。

  1. Unreal Engineアプリケーションの実装
    a. Unreal Editorでプロジェクトを開き、Pixel Streamingのプラグインを有効化
    b. アプリケーションのパッケージ化
  2. サーバーの準備
    a. 特定のタイプの GPU ハードウェアが搭載されたWindowsを準備
    b. node.jsのインストール ネットワークポートの解放
  3. サーバーの起動 Signaling
    a. サーバーを起動
  4. 接続
    a. Unreal Engine アプリケーションが動作しているコンピュータ上で、Alt + Tab キーを使用してフォーカスを Unreal Engine アプリケーションから切り替え
    b. ブラウザでコンピューターのIPアドレスを入力して接続

     

各手順の詳細は公式のガイドをご覧ください。


Tencent Cloud CARの構築方法

Tencent Cloud CARはアプリケーションをアップロードすればすぐに利用できます。

1. Windows/Androidアプリケーションの実装
2. Tencent Cloud Consoleにアプリケーションをアップロード

各手順の詳細は公式のガイドをご覧ください。

AWS AppStreamの課題

  1. 構築の学習コスト
    コンソール上で構築が完了するものの、多くの設定項目があり初期の学習コストがかかります。
  2. インスタンスの起動完了までの時間
    オンデマンドタイプのフリートを選択すると起動完了まで1〜2分間待たされます。
  3. ユーザー毎にAWS上にユーザー情報の登録が必要
    AppStreamを利用するユーザー情報の登録が都度必要になります。追加や削除といったメンテナンスを考慮する必要があります。
  4. コスト最適化の設計が必要
    ImageやFleetやユーザー等、いくつかのコンポーネントにそれぞれの料金計算が発生するので提供サービスにマッチするコスト最適化の設計が必要になります。
  5. 利用シーン
    ユーザー認証が必要であったり、クライアントアプリがAWS提供のものになるので、想定される利用シーンは社内の業務システム色が強いように感じられます。エンタメ系などのSaaSとしてのサービス提供には少し不向きかもしれません。

Pixel Streamingの課題

  1. サーバーの確保
    Pixel Streamingを稼働するサーバーは以下のハードウェアを要求されます。

    Pixel Streaming プラグインを使う Unreal Engine アプリケーションを実行するコンピュータでは、ハードウェアアクセラレート ビデオ エンコーディング (NVENC) をサポートする NVIDIA GPU ハードウェアを使用する必要があります。 公式リファレンスから引用)

    現状、サーバーはIaaSでの準備が大半を占めているかと思います。サービスを開発・運用していく上で、正常に動作するインスタンスと、要求される同時接続数(インスタンスの稼働数)を確保する必要がでてきます。
    仮に特定リージョンでインスタンスが枯渇した場合、他のリージョンで起動できたとしても、ユーザーとのラストワンマイルにギャップが生じて遅延につながる可能性もあります。最適なリージョンでのインスタンスの確保は課題としてしばらくは潜在していくと思われます。 
  2. クライアント側SDKの課題(対応プラットフォームについて)
    クライアント側のプレイヤーを実装するにあたって、UnrealEngineから提供されているSDKはJavascriptのみになります。iOSアプリやAndroidアプリとしてプレイヤーを提供する事はできません。
  3. クライアント側SDKの課題(対応するインプットについて)
    マイクやカメラのインプットには正式対応していません。メタバースによく用いられるボイスチャットは、別途クライアントサイドで追加実装が必要になってきます。
    (クライアントサイドのWebアプリケーションに直接ボイスチャットを実装)
  4. サーバー側アプリの課題 サーバー側で実行するアプリはUnrealEngineで開発されたアプリに限定されます。
    UnrealEngineに対応していないモジュールや技術を活用したアプリは対応できません。

Tencent Cloud CARの優位性

  1. ワンストップの製品として提供されています。IaaSからPaaSの機能まで全てが完備しており、追加開発が不要になります。
  2. 機能が非常に充実しており、業務管理の利便性を高める各種の機能を取り揃えています。コストを削減し、ユーザー体験を向上させることが可能です。
    ・IPアドレスに基づいて最寄りのリソースを自動スケジューリング
    ・低遅延・高画質の映像最適化
    ・クラウド上でのアプリケーションの事前起動によりロード時間を短縮
    ・ユーザーの待ち行列の管理 アプリケーションの自動更新と自動配布
     ・クラウドベースのストリーミングサービス(Tencent Cloud CSSへの配信)
    ・音声とカメラのサーバーへの伝送
    ・解像度の自動調整機能
  3. Windows、Android、AR/VR/MRアプリに対応しています。
  4. 導入にあたって開発コストを下げれます。又、サーバーレスの為、メンテナンスフリーで運用コストを下げられます。

ユースケース

CARのユースケースについて課題と共に紹介します。

オンラインマーケティング

課題:自動車のモデル、新築物件のモデル、展示会場など、細部まで細かく表現する高画質を提供するアプリケーションは、コンピューターの性能を厳しく要求します。
ソリューション:CARを導入すれば、クラウドレンダリング環境で販売あるいは展示するコンテンツを3Dの形で見せることができます。また、展示物閲覧のハードルが大幅に下がり、販売促進によるリーチ対象の拡大とコンテンツ配信対象の拡大が図られます。

カンファレンス/展示会

課題:オンラインカンファレンスの複雑化に伴い、端末の処理に対する要求が厳しくなります。一部の高性能なエンジンで開発されたアプリケーションは、モバイル端末ではインストール出来なかったり、正常に動作しない場合もあります。又、アプリケーション自体も頻繁に更新され、ユーザビリティに大きな影響を及ぼします。そもそも業務用端末ではアプリケーションのインストールが禁止されていたり、更新も情シスの対応を待つ場合もあります。
ソリューション:CARを使用すれば、アプリケーションのクライアントをクラウドで動作させることができます。安定したネットワーク環境を確保するだけで、アプリケーションをインストールせずに、任意の端末でビデオストリーミングを通してアプリケーションにアクセスできます。又、コンソールでアプリケーションの更新やバージョン管理を実施できます。アプリケーションの更新が完了次第、クラウド上でバージョンが反映されるため、ユーザーは最新のアプリケーションをダウンロードする必要がなくなります。

博物館

課題:完成度の高い観光地再現、デジタル博物館などのシーンは端末の処理を高く要求しています。標準スペックのPCやモバイルデバイスでは対応できないため、一般ユーザーはデジタルツインコンテンツを閲覧できません。

ソリューション:デジタルツインアプリケーションをCARにデプロイした後、ブラウザでユーザーにアプローチすることが可能になり、コンテンツを閲覧するハードルを大きく下げ、デジタルツインコンテンツの配信範囲と配信効率を上げることができます。

藤本 諭志

執筆者藤本 諭志

株式会社ブイキューブ 技術本部 Agora担当。 2007年ブイキューブ入社。 自社開発サービスであるV-CUBE セミナーの開発に携わる。現在はAgoraとTencent Cloudのプロダクト担当SEをしている。 スキル:Docker/AWS/Linux/DB/Ruby/PHP/JavaScript

関連記事

先頭へ戻る