マルチメディア

注:

製品名の変更についてはこちらをご覧ください。

HDX技術スタックは、マルチメディアアプリケーションの配信を次の2つの相補的なアプローチでサポートします。

  • サーバー側でレンダリングするマルチメディア配信
  • クライアント側でレンダリングするマルチメディアリダイレクト

これにより、良好なユーザーエクスペリエンスを保ちながら、サーバースケーラビリティを向上させ、ユーザーごとのコストを削減するあらゆる種類のマルチメディアフォーマットを配信できます。

サーバー側でレンダリングするマルチメディア配信で、オーディオとビデオコンテンツは、アプリケーションによってCitrix Virtual AppsおよびDesktopsサーバー上でデコードおよびレンダリングされます。コンテンツは圧縮され、ICAプロトコルでユーザーデバイス上のCitrix Workspaceアプリに配信されます。この方法は、さまざまなアプリケーションとメディア形式に対して、最大レートの互換性を提供します。ビデオ処理は数値計算であるため、サーバー側でレンダリングされたマルチメディア配信はオンボードのハードウェアアクセラレーションの利点を大幅に活かすことがきます。たとえば、DirectX Video Acceleration(DXVA)のサポートは 、H.264デコーディングを別のハードウェアで実行することで、CPUをオフロードします。Intel Quick SyncとNVIDIA NVENCの機能により、ハードウェアアクセラレーション用のH.264エンコーディングが利用できるようになりました。

ほとんどのサーバーにビデオ圧縮用のハードウェアアクセラレーションがないため、すべてのビデオ処理をサーバーのCPUで実行する場合は、サーバースケーラビリティに悪影響を及ぼします。高サーバースケーラビリティを維持するために、多くのマルチメディア形式をユーザーデバイスにリダイレクトして、ローカル側でレンダリングできます。Windows Mediaリダイレクトは、一般的にWindows Media Playerに関連した、さまざまな種類のメディア形式に対してサーバーをオフロードします。

Flashリダイレクトは、ユーザーデバイス上でローカルに実行されるFlash PlayerにAdobe Flashビデオコンテンツをリダイレクトします。 HTML5ビデオが一般的になり、Citrixではこの種類のコンテンツに対するリダイレクト機能が導入されています。 また、一般的なアドレス帳リダイレクト機能である、ホストからクライアントへのリダイレクトとローカルアプリケーションアクセスを、マルチメディアコンテンツに適用できます。

これらの機能を含めて、リダイレクトを構成しない場合は、HDXはサーバー側でのレンダリングを実行します。 リダイレクトを構成する場合、HDXはサーバー側でフェッチし、クライアント側でレンダリング、またはクライアント側でフェッチし、クライアント側でレンダリングのいずれかを実行します。これらの方法が失敗した場合、HDXは必要に応じてサーバー側でのレンダリングにフォールバックし、フォールバック防止ポリシーの対象になります。

サンプルシナリオ

ローカライズされた画像

シナリオ1. (サーバー側でフェッチし、サーバー側でレンダリング):

  1. サーバーはメディアファイルをソースからフェッチし、デコードし、コンテンツをオーディオデバイスまたはディスプレイデバイスに対して再生します。
  2. サーバーは再生されたイメージまたはサウンドをディスプレイデバイスまたはオーディオデバイスからそれぞれ抽出します。
  3. オプションとしてサーバーが抽出されたファイルを圧縮し、クライアントに送信します。

このアプローチでは、(抽出されたイメージやサウンドが効率的に圧縮されていない場合は)高CPUコストと高帯域幅コストを負担することになり、サーバースケーラビリティは低くなります。

Thinwireとオーディオの仮想チャネルがこのアプローチを処理します。このアプローチの利点により、クライアントのハードウェアとソフトウェアの要件が削減されます。このアプローチでは、デコーディングはサーバーで実行され、より多くの種類のデバイスとフォーマットに対応します。

シナリオ2. (サーバー側でフェッチし、クライアント側でレンダリング):

このアプローチは、オーディオまたはディスプレイデバイスに対してデコードおよび再生される前に、メディアコンテンツをインターセプトできることを前提としています。圧縮されたオーディオ/ビデオコンテンツは、クライアントに送信され、ローカルでデコードおよび再生されます。このアプローチの利点により、デコーディングとプレゼンテーションはクライアントデバイスにオフロードされ、サーバーのCPUサイクルが節約されます。

ただし、このアプローチでは、クライアントにハードウェアとソフトウェアの要件が一部追加されます。クライアントは、受信する可能性のあるそれぞれのフォーマットをデコードできる必要があります。

シナリオ3. (クライアント側でフェッチし、クライアント側でレンダリング):

このアプローチは、ソースからフェッチされる前に、メディアコンテンツのURLをインターセプトできることを前提としています。URLは、メディアコンテンツがローカルでフェッチ、デコード、および再生されたクライアントに送信されます。このアプローチは概念的に単純です。この利点により、制御コマンドのみがサーバーから送信されるため、サーバーのCPUサイクルと帯域幅の両方が節約されます。ただし、メディアコンテンツは、クライアントに常にアクセスできるわけではありません。

フレームワークとプラットフォーム:

デスクトップオペレーティングシステム(Windows、Mac OS X、およびLinux)は、マルチメディアアプリケーションのよりすばやい開発を可能にする、マルチメディアフレームワークを提供します。次の表に、より一般的なマルチメディアフレームワークの一部を示します。各フレームワークはメディア処理を複数の段階に分割して、パイプラインベースのアーキテクチャを使用します。

フレームワーク プラットフォーム
DirectShow Windows(98以降)
Media Foundation Windows(Vista以降)
Gstreamer Linux
Quicktime Mac OS X

メディアリダイレクト機能によるダブルホップのサポート

   
HDX Flashリダイレクト いいえ
Windows Mediaリダイレクト はい
HTML5ビデオリダイレクト はい
オーディオリダイレクト いいえ