メディア サーバは、ビデオおよびオーディオ コンテンツを、要求したクライアントに配信します。この用語は、この機能を実行するソフトウェア アプリケーションと、メディア サーバ ソフトウェアを実行しているホストの両方を指す場合に使用されます。

メディア サーバの最も一般的な用途は、おそらくビデオ オン デマンド(VOD)の配信です。メディア サーバは、事前に録画されたビデオ コンテンツをストレージから取得し、インターネット経由で配信します。最もシンプルなケースでは、ビデオ ファイルはWebページに埋め込まれ、ページの他のコンポーネントと同じホストに保存されます。しかし、VODの最も一般的なユース ケースは、Netflix、Amazon、Huluなどのサブスクリプション サービスです。これらのサービスでは、世界中に配置されたメディア サーバがコンテンツ デリバリ ネットワーク(CDN)から何百万もの顧客にビデオを配信します。以下でさらに説明するように、VODにはいくつかの手法があり、メディア サーバはサポートするビデオ プレーヤーの種類に応じて、それらの手法の一部またはすべてをサポートする必要があります。

ライブ ストリーミングは、メディア ストリーミング サーバのもう1つの広く使用されている用途です。この場合、メディア サーバは、生成されているコンテンツをリアルタイムで(またはわずかに遅れて)配信します。ペイパービューのスポーツ イベントがライブ ストリーミングの良い例です。VODとは異なり、ライブ ストリーミングではコンテンツ プロバイダによってユーザーがビデオを視聴するタイミングが決定されます(テレビ放送と同様)。ライブ ストリームは、後でVODとしてアクセスできるように録画することもできます。

複数のVOD手法のサポート

ビデオ配信の手法は、プレーヤーが再生をどの程度制御できるかによって大きく異なります。ここでは、単純なものから順に挙げていきます。

  • ファイルのダウンロード – ビデオは1つのファイルで構成されており、ファイル全体がメディア サーバからプレーヤーにダウンロードされるまで視聴を開始できません。
  • プログレッシブ ダウンロード – ビデオは1つのファイルで構成されていますが、ファイルの先頭にあるメタデータにより、メタデータとビデオ データの一部分がダウンロードされるとすぐに再生を開始できます。ビデオの再生中も、ダウンロードはバックグラウンドで続行されます。
  • 疑似ストリーミング – プレーヤーはビデオ データをストレージにダウンロードするのではなく、バッファリングして再生します。プレーヤーは要求されているビデオ部分の開始時間と終了時間を指定でき、メディア サーバ(現在はストリーミング メディア サーバと呼ばれることが多い)は、メディア ファイルの対応する部分を取得して配信(「ストリーミング」)します。これにより、ユーザーはストリーミング中にビデオを早送り/巻き戻ししたり、スキップしたりすることができます。FlashとMP4は疑似ストリーミングの一般的な形式です。
  • アダプティブ ビットレート ストリーミング – メディア ファイルは多数の小さなファイルに分割され、セグメントの目次としてプレイリストが作成されるため、ユーザーはビデオ内をさらに簡単にスキップできます。さらに、コンテンツ プロバイダは、異なるビットレートでエンコードされたビデオの複数のバージョンを作成し、さまざまなレベルのサウンドと画質を提供できます。適切なビットレートでエンコードされたセグメントを要求することで、プレーヤーはネットワーク状態の変化に応じてバージョンをシームレスに切り替えることができます。アダプティブ ビットレート ストリーミングの一般的なエンコードには、AppleのHTTP Live Streaming(HLS)やAdobeのHTTP Dynamic Streaming(HDS)などがあります。
NGINX Plusがお手伝いできること

NGINX PlusNGINXは、クラス最高レベルのロード バランシング ソリューションであり、Dropbox、Netflix、Zyngaなどの高トラフィックのWebサイトで使用されています。世界中で3億5,000万以上のWebサイトが、NGINX PlusとNGINX Open Sourceを利用してコンテンツを迅速に、確実に、そして安全に提供しています。

NGINX Plusは、VOD用のFlash、MP4、HLS、HDSなど、この記事で説明されているすべての手法、フォーマット、エンコーディングをサポートしています。HLSについては、セグメントとプレイリストがまだ存在しない場合は、動的に作成することもできます。ライブ ストリーミングの場合、NGINX PlusはAdobeのReal Time Messaging Protocol(RTMP)、HLS、およびDynamic Adaptive Streaming over HTTP(DASH)をサポートしています。

NGINX Plusは、用途をメディア配信に限定した他のメディア サーバとは異なり、リバース プロキシ高度なロード バランシングキャッシュWebサービングに加えて、ストリーミング メディアに特化した機能も提供する包括的なアプリケーション デリバリ プラットフォームです。

NGINX Plusのメディア ストリーミング機能(およびその設定方法)の詳細については、当社のホワイトペーパー「NGINX Plusを使用したメディアの提供」をご覧ください。