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

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

ライブストリーミングも、メディアストリーミングサーバーの用途としてますます普及しています。この場合、メディアサーバーは、コンテンツが生成されると同時にリアルタイムで(またはわずかな遅延のみで)配信します。ペイパービュー方式のスポーツイベントは、ライブストリーミングの一例です。VODとは異なり、ライブストリーミングでは、放送テレビと同様に、コンテンツプロバイダーがユーザーの動画視聴時刻を決定します。ライブストリームを録画し、後からVODとして視聴できるようにすることも可能です。

複数のVOD方式のサポート

動画配信の手法によって、プレーヤーが再生を制御できる範囲は大きく異なります。以下に、高度な順に示します。

  • ファイルダウンロード – 動画は1つのファイルに格納されており、ファイル全体がメディアサーバーからプレーヤーにダウンロードされるまで視聴を開始できません。
  • プログレッシブダウンロード – 動画は1つのファイルに格納されていますが、ファイルの先頭にあるメタデータにより、メタデータと少量の動画データのダウンロードが完了するとすぐに再生を開始できます。動画の再生中も、バックグラウンドでダウンロードが続行されます。
  • 疑似ストリーミング – プレーヤーは、動画データをストレージにダウンロードする代わりに、バッファリングしながら再生します。プレーヤーは、要求する動画部分の開始時刻と終了時刻を指定できます。メディアサーバー(現在ではストリーミングメディアサーバーとも呼ばれます)は、メディアファイルの該当部分を取得して配信(「ストリーミング」)します。これにより、ストリーミング再生中に早送りや巻き戻しを行ったり、動画内の任意の位置に移動したりできます。FlashとMP4は、疑似ストリーミングで広く使用されている形式です。
  • アダプティブビットレートストリーミング – メディアファイルを多数の小さなファイルに分割し、各セグメントの目次となるプレイリストを作成することで、ユーザーは動画内の任意の位置へさらに簡単に移動できます。また、コンテンツプロバイダーは、音声と映像の品質を複数のレベルで提供できるよう、異なるビットレートでエンコードした複数の動画バージョンを作成できます。プレーヤーは、適切なビットレートでエンコードされたセグメントをリクエストすることで、変化するネットワーク状況に応じて各バージョンをシームレスに切り替えられます。アダプティブビットレートストリーミングで広く使用されているエンコード方式には、AppleのHTTP Live Streaming(HLS)やAdobeのHTTP Dynamic Streaming(HDS)があります。

NGINX Plusはどのように役立つのか

NGINX PlusとNGINXは、Dropbox、Netflix、Zyngaなど、トラフィック量の多いWebサイトで利用されている最高クラスのメディアサーバーソリューションです。世界中で3億5,000万以上のWebサイトが、コンテンツを迅速かつ確実、安全に配信するために、NGINX PlusとNGINX Open Sourceを利用しています。

NGINX Plusは、VOD向けのFlash、MP4、HLS、HDSをはじめ、この記事で説明するすべての技術、形式、エンコーディングをサポートしています。HLSでは、セグメントやプレイリストがまだ存在しない場合に、それらを動的に作成することもできます。ライブストリーミングでは、Adobe Real Time Messaging Protocol(RTMP)、HLS、Dynamic Adaptive Streaming over HTTP(DASH)をサポートしています。

メディア配信に特化し、機能を限定している一部のメディアサーバーとは異なり、NGINX Plusは、ストリーミングメディア専用に設計された機能に加えて、リバースプロキシ、高度な負荷分散、キャッシュ、Web配信を提供する包括的なアプリケーションデリバリープラットフォームです。

NGINX Plusのメディアストリーミング機能の詳細(および設定方法)については、ホワイトペーパー「Serving Media with NGINX Plus」をご覧ください。