Adobe Media Server(AMS)は、
アドビが開発・提供するデータ&
マルチメディアサーバーです。元々はマクロメディアの製品であり、
Adobe Flash Playerと密接に連携して、メディアコンテンツの作成や、複数ユーザーが同時参加する
リッチインターネットアプリケーション(RIA)の構築を支援します。
サーバーサイドのプログラミングには
ActionScriptを使用します。
歴史
AMSは、その歴史の中で何度か名称変更を行っています。初期にはFlash Communication Serverとして登場し、その後Flash Media Serverを経て、現在のAdobe Media Serverに至ります。
2002年3月15日:マクロメディアがFlash Player 6をリリース。このバージョンには、後に登場するFlash Communication Server MXの機能が含まれていました。
2002年7月9日:Flash Communication Serverバージョン1.0がリリース。NetConnection、SharedObject、NetStreamオブジェクトといった基本的な機能が搭載されました。
2003年3月27日:バージョン1.5がリリース。HTTPトンネリングとLinuxサポートが追加され、無償の開発者版も提供されました。
2005年11月15日:バージョン2.0がリリース。このバージョンからFlash Media Serverに名称変更されました。Flash Player 8の新しいビデオコーデックVP6のサポートが開始されました。ただし、Flash Player(バージョン10.1時点)ではSparkエンコードのみ対応しています。また、エンタープライズ向けのedge-origin
サーバーが導入され、ロードバランシングが容易になりました。
2007年12月4日:バージョン3.0がリリース。Flash Player 9 update 3に対応し、H.264やAACの利用が可能になりました。
2009年1月13日:バージョン3.5がリリース。RTMPでのダイナミック
ストリーミングやライブ
ストリーミングのポーズ・シーク機能が追加されました。
2010年9月13日:バージョン4.0がリリース。64bit完全対応、セキュアなマルチプロトコルストリーミング、RTMFP(IPマルチキャストブロードキャスト、マルチキャストの融合、ピアアシストネットワーク)、バッファ機能の強化、絶対的タイムコード、RTMP QoSの改善、プレーヤー開発の簡素化、高速なRTMPダイナミックストリーミングサーバーとHTTPサーバーとの切り替え、HTTP Dynamic Streamingがサポートされました。
2011年9月8日:バージョン4.5を発表。iOS向けのHTTP Live Streamingに対応。
2012年10月8日:バージョン5.0を発表。Adobe Media Serverに名称変更。Protected HTTP Live Streaming (PHLS) に対応。
主な用途
AMSは、主に以下の2つの用途で利用されています。
ビデオオンデマンド:
サーバーに保存されたビデオをFlashクライアントへ
ストリーミング配信します。
リアルタイムコミュニケーション: チャットルームやマルチプレイヤーゲームなど、複数のクライアントが連携するアプリケーションを構築します。
機能
AMSは、FlashベースのアプリケーションがReal Time Messaging Protocol(RTMP)やReal Time Media Flow Protocol(RTMFP)を用いて接続するハブとして機能します。サーバーは接続されたクライアントとライブFLVを含むデータの送受信を行い、クライアントからサーバーへのリモートプロシージャコール(RPC)や、サーバーから特定のクライアントへの機能呼び出しが可能です。SharedObjectは複雑なデータ構造の同期に利用され、加入している複数のクライアントのリモートメソッドを呼び出すこともできます。標準的なActionScriptのオブジェクトは、Action Message Format (AMF) を用いて、NetConnectionを通してクライアントとサーバー間で透過的に転送されます。
また、AMSはユーザーによるネットストリームの送受信を許可します。ユーザーはネットストリームを閲覧する際、自身のFLVをリモートに保存するか、ビデオを再生するかを選択できます。後者の場合、参加している全てのユーザーが同時に同じビデオストリームを閲覧できます。
対応プロトコル
AMSは、ライブ配信とオンデマンド配信の両方に対応した多様なプロトコルをサポートしています。
HTTP
HTTP Dynamic Streaming (Flash Player 10.1 以降)
HTTP Live Streaming, Protected HTTP Live Streaming (iOS, macOS)
Real Time Messaging Protocol (RTMP, TCP)
Real Time Media Flow Protocol (RTMFP, UDP) - Flash Player 10.0 以降
IP マルチキャスト
P2P マルチキャスト
フュージョンマルチキャスト (IP + P2P)
HTTP Dynamic Streaming は、一般的なHTTPプログレッシブダウンロードとは異なり、以下の機能に対応しています。
ライブ
ストリーミング
シーク
帯域幅制御、マルチビットレート
エディション
AMSには、様々なニーズに対応するため、複数のエディションが用意されています。
Adobe Media Server Extended: 全機能を搭載した最上位エディション。
Adobe Media Server Professional: ExtendedからRTMFPの同時接続数を500に制限したエディション。
Adobe Media Server Standard: サーバーサイドアプリケーションの実行が不可で、動画配信に特化したエディション。
Adobe Media Server Starter: 無償の開発者向けエディション。
Adobe Media Server on Amazon Web Services: Amazon EC2向けの従量課金制エディション。Adobe Media Server Extendedをベースにしています。
関連項目
Real Time Messaging Protocol
Real Time Media Flow Protocol
Wowza Media Server
脚注
公式ウェブサイト
ドキュメント
Adobe Media Server 技術概要
Adobe Media Server デベロッパーズガイド
Adobe Media Server デベロッパーセンター
Red5: オープンソースのFlashサーバー。
FluorineFX: オープンソースの.NETベースのFlex/Flash Remoting。
Helix Universal Streaming Server
Wowza Media Server
* C++ RTMP Server