マルチメディア
HDX™テクノロジースタックは、2つの補完的なアプローチを通じてマルチメディアアプリケーションの配信をサポートします。
- サーバー側レンダリングによるマルチメディア配信
- クライアント側レンダリングによるマルチメディアリダイレクト
この戦略により、優れたユーザーエクスペリエンスであらゆるマルチメディア形式を配信できると同時に、サーバーのスケーラビリティを最大化してユーザーあたりのコストを削減できます。
サーバーレンダリングによるマルチメディア配信では、オーディオおよびビデオコンテンツは、アプリケーションによってCitrix Virtual Apps and Desktopsサーバーでデコードおよびレンダリングされます。その後、コンテンツは圧縮され、ICAプロトコルを使用してユーザーデバイス上のCitrix Workspaceアプリに配信されます。この方法は、さまざまなアプリケーションおよびメディア形式との互換性を最高レベルで提供します。ビデオ処理は計算負荷が高いため、サーバーレンダリングによるマルチメディア配信は、オンボードのハードウェアアクセラレーションから大きな恩恵を受けます。たとえば、DirectX Video Acceleration (DXVA) のサポートにより、H.264デコードを個別のハードウェアで実行することでCPUの負荷を軽減します。Intel Quick Sync、AMD RapidFire、およびNVIDIA NVENCテクノロジーは、ハードウェアアクセラレーションによるH.264エンコーディングを提供します。
ほとんどのサーバーはビデオ圧縮のためのハードウェアアクセラレーションを提供しないため、すべてのビデオ処理がサーバーCPUで行われる場合、サーバーのスケーラビリティは悪影響を受けます。多くのマルチメディア形式をローカルレンダリングのためにユーザーデバイスにリダイレクトすることで、高いサーバーのスケーラビリティを維持できます。
- Windows Mediaリダイレクトは、通常Windows Media Playerに関連付けられているさまざまなメディア形式について、サーバーの負荷を軽減します。
- HTML5ビデオは普及しており、Citrix®はこの種のコンテンツ向けにリダイレクトテクノロジーを導入しました。HTML5、HLS、DASH、またはWebRTCを使用するWebサイトには、ブラウザコンテンツリダイレクトをお勧めします。
- 一般的なコンテンツリダイレクトテクノロジーであるホストからクライアントへのリダイレクトとローカルアプリアクセスを、マルチメディアコンテンツに適用できます。
これらのテクノロジーを組み合わせると、リダイレクトを設定しない場合、HDXはサーバー側レンダリングを実行します。 リダイレクトを設定すると、HDXはサーバーフェッチとクライアントレンダリング、またはクライアントフェッチとクライアントレンダリングのいずれかを使用します。これらの方法が失敗した場合、HDXは必要に応じてサーバー側レンダリングにフォールバックし、フォールバック防止ポリシーの対象となります。
シナリオ例

シナリオ1。(サーバーフェッチとサーバーレンダリング):
- サーバーはソースからメディアファイルを取得し、デコードし、その後、コンテンツをオーディオデバイスまたはディスプレイデバイスに提示します。
- サーバーは、表示デバイスまたはオーディオデバイスから、それぞれ提示された画像またはサウンドを抽出します。
- サーバーは、必要に応じてそれを圧縮し、クライアントに送信します。
このアプローチでは、高いCPUコスト、高い帯域幅コスト(抽出された画像/サウンドが効率的に圧縮されていない場合)、および低いサーバー拡張性が発生します。
Thinwireおよびオーディオ仮想チャネルがこのアプローチを処理します。このアプローチの利点は、クライアントのハードウェアおよびソフトウェア要件を削減できることです。このアプローチを使用すると、デコードはサーバー側で行われ、より幅広い種類のデバイスとフォーマットで動作します。
シナリオ2。(サーバーフェッチとクライアントレンダリング):
このアプローチは、メディアコンテンツがデコードされてオーディオまたはディスプレイデバイスに提示される前に、それを傍受できることに依存しています。圧縮されたオーディオ/ビデオコンテンツは、代わりにクライアントに送信され、そこでデコードされてローカルで提示されます。このアプローチの利点は、処理がクライアントデバイスにオフロードされ、サーバーのCPUサイクルを節約できることです。
ただし、クライアントにはいくつかの追加のハードウェアおよびソフトウェア要件も発生します。クライアントは、受信する可能性のある各フォーマットをデコードできる必要があります。
シナリオ3。(クライアントフェッチとクライアントレンダリング):
このアプローチは、メディアコンテンツのURLがソースからフェッチされる前に、それを傍受できることに依存しています。URLはクライアントに送信され、そこでメディアコンテンツがフェッチ、デコード、およびローカルで提示されます。このアプローチは概念的にシンプルです。その利点は、サーバーが制御コマンドのみを送信するため、サーバーのCPUサイクルと帯域幅の両方を節約できることです。ただし、メディアコンテンツが常にクライアントからアクセスできるとは限りません。
フレームワークとプラットフォーム:
シングルセッションオペレーティングシステム(Windows、Mac OS X、Linux)は、マルチメディアアプリケーションのより迅速な開発を可能にするマルチメディアフレームワークを提供します。この表は、より一般的なマルチメディアフレームワークの一部をリストしています。各フレームワークは、メディア処理をいくつかの段階に分割し、パイプラインベースのアーキテクチャを使用します。
| フレームワーク | プラットフォーム |
|---|---|
| ダイレクトショー | ウィンドウズ (98以降) |
| メディアファンデーション | ウィンドウズ (Vista以降) |
| ジーストリーマー | リナックス |
| クイックタイム | Mac OS X |
メディアリダイレクトテクノロジーによるダブルホップサポート
| オーディオリダイレクト | いいえ | |
| ブラウザコンテンツリダイレクト | いいえ | |
| HDXウェブカメラリダイレクト | はい | |
| HTML5ビデオのリダイレクト | はい | |
| Windows Mediaリダイレクト | はい | |