最終更新: 2013年11月24日 (日) 05:19

Adobe Media Server概要

Adobe Media Serverとはメディアの配信や、アプリケーション動作基盤として使用されるミドルウェアのことである。
主にFlash Media PlayerやiOSなどへの動画配信、音楽、映像の中継などに使用される。
ここでいうメディアとは、音声、映像のことを指す。


本レポートの狙いは、下記の3つを知ってもらうことである。

  • メディア配信を可能にする技術
  • Adobe Media Serverで実現できる事柄
  • Adobe Media Serverのもつ機能

この3つを知ってもらうことで、今後の営業活動や提案、開発、運用に役立てて欲しいと、筆者は考えている。

なお、本レポートはAdobe Media Serverの概要のみの解説に留めている。
インストール・導入に関しては別にレポートを記述する予定であるので、そちらを参照してほしい。



背景

2013年3月現在、Webコンテンツ上で動画コンテンツを配信するサービスが、広く浸透していると、筆者は思っている。
今回、仕事で動画コンテンツの配信サーバを構築する機会を得た。
筆者は、この機会にメディア配信を可能にする技術と、メディア配信ミドルウェアであるAdobe Media Serverについて調査することにした。
調査の目的は、下記の通りである。

  • メディア配信で使用されている技術を知る
  • Adobe Media Serverを調査することで、今後の仕事でサーバ設計をするための、必要な知識を身につける
  • 他のメディア配信ミドルウェアについても調査することで、提案の幅を広げる


メディア配信技術

メディアをダウンロードしながら再生する技術を、一般的にストリーミングという。
ストリーミングの方式には、プログレッシブダウンロード方式とストリーミング方式があり、
これら2つの違いは、メディアデータをキャッシュするか否か、途中からの再生が可能か否かである。

  • プログレッシブダウンロード方式
    プログレッシブダウンロードとはストリーミング技術の一種である。オンデマンド配信(録画したメディアの配信)に用いられることが多い。
    この方式を使ったメディア配信は次のような方法でストリーミングを実現している。
    1. 通常のHTTPダウンロードを用い、キャッシュを貯める。
    2. そのキャッシュからメディアを再生する
    この技術の利点は、専用のソフトウェアを用いないため、後述するストリーミング方式と比べると、構築が簡単でかつ、費用が抑えられる点である。
    欠点としてあげられるのが、下記の3つである。
    • メディアを途中から再生するといったことが困難である。(メディアデータを、一度、ダウンロードしてしまえば可能)
    (後述するHTTP Dynamic StreamingやHTTP Live Streamingは、メディアデータを分割することで、途中からの再生も可能としているようである)
    • ダウンロードを待ってからの再生のため、スムーズに動画が再生されない
    • メディアデータをキャッシュするため、著作権上の問題がでる可能性がある(著作権保護機能に対応できないため)
    この技術を採用している、代表的な動画配信サービスは「ニコニコ動画」や「FC2動画」などである。初期の「Youtube」でもこの方式を採用していた。
  • ストリーミング方式
    ストリーミングは、リアルタイム性を重視したメディア中継などに使用されることが多い。
    プログレッシブダウンロードとは以下の点が異なる。
    • オンデマンド配信の場合、途中からの再生が可能
    • ダウンロード待たず、スムーズにメディアを再生することが可能
    • メディアデータをキャッシュしない
    欠点は、この技術をサポートするソフトウェアの値段が高いことである。(オープンソースの実装も存在する)
    この方式を採用している、代表的な動画配信サービスは「Youtube」「Hulu」「日テレオンデマンド」や「ニコニコ生放送」「UStream」等があげられる。


代表的なメディアストリーミングサーバ

メディア配信にストリーミング方式を用いる場合、専用のソフトウェアが必要である。
動画ストリーミングを行うソフトウェアのことを動画ストリーミングサーバという。

ここでは、動画ストリーミングサーバをいくつかあげ、簡単な紹介を行う。

  • Adobe Media Server
    米Adobe社が開発している商用のストリーミングサーバである。
    主にAdobe Flash Playerに動画を配信するのに使用される。
    著作権保護機能や、アプリケーション動作基盤を提供する。負荷分散機能にも対応しているため、大規模なサービスの構築に向いている。
    動画ストリーミングサーバの中で知名度が高く、商用動画コンテンツ配信サービス等にも採用されているようである。
  • Microsoft Smooth Streaming
    米Micorosoft社が開発している商用のストリーミングサーバである。
    主にSilverlightにメディアを配信するのに使用される。
    Adobe Media Serverと同様、著作権保護機能やAdaptive Bitrateに対応している。
    IIS 7.0 の IIS Media Servicesの拡張機能という扱いのようである。
  • Red5
    Adobe Media Serverのオープンソース実装
    Javaで実装されており、Adobe Media Server Professionalと同等の機能が無料で手に入る。
    Adobe Media Serverと比べると、下記の点で見劣りする部分がある。
    • 著作権保護機能には対応していない。
    • オープンソースなので技術的なサポートが受けられない(技術力に不安がある場合は、採用するべきではない)。
  • Wowza Media Server
    米Wowza社によって開発されたストリーミングサーバである。
    Adobe Media Serverとの互換性が高く、著作権保護機能にも対応している。
    価格がAdobe Media Serverと比較すると安い。
    ライセンス体系がユニークで、1日$5でサーバを使用できるdailyライセンス、1ヶ月$55でサーバを使用できるmonthlyライセンス、
    永久に使用できるPerpetualライセンス(メージャーアップグレードは有償)の3つがある。
    価格の詳細ついてはこちらを参照のこと


Adobe Media Serverとは

Adobe Media Sererとはリアルタイムにメディアを配信できるサーバプログラムである。
オンデマンド配信や中継映像を配信することができる。
また、メディア配信だけではなく、アプリケーション動作基盤としても使用でき、 メディアコンテンツを使ったアプリケーションの開発を行うこともできる。

メディアコンテンツ保護にも対応しており、下記の2つを機能としてもっている。

  • 盗聴防止
  • 不正使用(複製)対策機能

不正使用対策については別途ソフトウェアの購入が必要である。不正使用対策についてはAdobe Accessの使用したDRM機能を参照のこと

メディアの配信方式としては、ストリーミング方式とプログレッシブダウンロード方式の2つをサポートしている。

対応クライアント

対応クライアントは下記のようになっている。

  • Adobe Flash Player
  • Adobe AIR
  • Adobee Flash Lite
  • Apple iOS
  • Mac OS(Safari)

なお、Adobe Media ServerではMicrosoft Silverlightにメディアの配信はできない。
クライアントにSilverlightを使用し、ストリーミング配信を行いたい場合はMicrosoft Smooth Streamingを使用しなければならないので注意が必要である。

エディション別の機能対応

Adobe Media Serverはエディション別の比較、価格などについては、Adobe Media Serverの購入ガイド : 比較を参照してください。

ストリーミング配信技術

Adobe Media Serverは以下のストリーミング配信方式をサポートしている。

ストリーミング方式

前述したストリーミング方式を採用しているプロトコル一覧である。

  • RTMP(Real-Time Message Protocol)
    Adobeが開発した動画配信プロトコルである。Adobe Flash Playerとメディア配信サーバ間でメディア配信をするために使用される。
    RTMPには、再生までにかかる時間が短いという特長がある。
    メディアを途中から再生することもできる。
    通信にはTCPを使用いるため、後述するRTMFPと比べると配信の速度が遅い。
    遅い理由は下記の2つである。
    • RTMFPはUDPを使っており、RTMPと比べると少ない情報量で配信できる
    • TCPにはパケット損失時に再送するという仕組みがあり、再送時にオーバーヘッドがかかる
    詳しい情報については、Real Time Messaging Protocolを参照してください。
  • RTMP/E(Real-Time Message Protocol Encrypt)
    RTMPの暗号化版である。
    暗号化することで、クライアント・サーバ間のやりとりしているネットワーク通信の盗聴の恐れを軽減する。
    暗号化のアルゴリズムについては非公開になっているため、詳細については不明である。
    動画コンテンツそのものを暗号化しているわけではないので、不正使用対策にはならない。
  • RTMFP(Real-Time Media Flow Protocol)
    RTMP同様にAdobeが開発した動画配信プロトコルである。主に映像中継で使用されることが多い。
    メディア配信サーバからをメディアを配信したり、クライアントとなるFlash Player間でP2P通信を行う時に使用される。
    UDPによるストリーミングをサポートしている。前述したRTMPと比べると、信頼性はやや劣るが、早くメディアの配信できる。
    無線LANなどパケット損失が起こりやすい環境を想定する場合は、RTMFPを使用するほうが、高速にメディアを配信できる。(ただし、品質の保証はできない)
    Adobe Flash Player 10.1以降には、RTMFPの通信を高信頼するための仕組みがあるようです。(未確認)
    詳しい情報についてはReal Time Media Flow Protocolを参照してください。
  • RTMPT(RTMP Tunneled)
    RTMPをHTTPプロトコルでトンネリングしたものである。
  • RTMPS(RTMP SSL?)
    RTMPにHTTPSを加えSSLで暗号化したプロトコル


プログレッシブダウンロード方式

前述したプログレッシブダウンロード方式を採用しているプロトコル一覧である。

  • HDS(HTTP Dynamic Streaming)
    RTMP同様、Adobeが開発している。
    HTTPを使用し、メディアのストリーミング配信を行う。
    プログレッシブダウンロード方式を採用しているが、メディアを途中から再生することもできる。
    これは動画データを分割することで、実現しているようである。
    また、未確認ながら帯域制限にも対応しているようである。
  • HLS(HTTP Live Streaming)
    Appleが策定したビデオ配信プロトコルである。技術的にはHTTP Dynamic Streamingと同様である。
    他の規格とは異なり、HTML5のビデオ機能をつかうため、Adobe Flash Playerが必要ない。
    iOS向けにストリーミング配信したい場合は、HTTP Live Streamingを使用する。


その他

  • Adaptive Bitrate
    ストリーミング配信の際に問題となるのが、クライアント側や回線の通信帯域である。
    ビデオのビットレートを上げると高品質なビデオが配信できるが、相手側の回線環境や端末の性能によっては、再生が途中で止まってしまう可能性もある。
    この問題を解決するのがAdaptive Bitrateである。
    プレイヤーがコンテンツの再生状態を常に監視し、状態に応じて最適なビットレートへ動的に自動で切り替える。
    Adaptive Bitrateに関しては、下記のHPが詳しいので、下記のURLを参照のこと
    http://www.dpsj.co.jp/abr


管理機能

サーバ管理者がAdobe Media Serverを運用していくうちに、トラブルが起こった場合、 その原因を調査するために便利な機能を簡単に解説します。</br>

Administration Console

Adobe Media Serverを管理する機能として、管理コンソールを備えています。
管理コンソールでは、管理者の管理、サーバの監視、サーバ上で動作しているアプリケーションに関する詳細情報を閲覧を行うためのインタフェースが用意されている。

コマンドコンソール

Adobe Meadia Serverには、amscheckとflvcheckという2つのコマンドが用意されている。
amscheckはサーバの実行状態監視、flvcheckはビデオファイルがAdobe Media Serverで正しく配信されることを検証することができる。

ログファイル

ログファイルでは、トラフィック全般やサーバー負荷などの状況、サーバーにアクセスしているユーザー、クライアントの動作とやり取りおよび全般的な診断が追跡できる。

セキュリティとコンテンツ保護機能

Adobe Media Serverはセキュリティ機能とコンテンツ保護機能として、下記の機能を備えています。

  • Administration Consoleへのアクセス制限
  • 外部からの盗聴防止する機能(前述したRTMP/EとRTMPSとRTMFPを参照のこと)
  • Adobe Accessと連帯し、DRMで保護された動画を配信させる機能


セキュリティ機能

Administration Consoleへのアクセス制限

前述したAdministration Consoleへのアクセスを制限することができる。実施できる制限は下記の二点である。

  • IPアドレス制限
  • ログイン試行回数による制限


ストリーミングコンテンツ保護機能

クライアント検証機能

  • SWF検証機能
    Adobe Media Serverに接続できるSWF(フラッシュプログラム)を制限することができる機能である。
    この機能を使用することで、不正なSWFを使ったコンテンツの受信を防ぐことができる。
    デフォルトでは、すべてのSWFに対して接続が許可されている。
  • 指定したドメインからの接続を許可または拒否する機能
    必要に応じて、接続を許可するドメインを制限できる。デフォルトでは、すべてのドメインに対して接続が許可される。
  • ストリーミングコンテンツの暗号化
    前述したRTMP/EとRTMPSとRTMFPに対応することで外部からの盗聴を防ぐことができる。


Adobe Accessの使用したDRM機能

Adobe Accessはデジタル著作権管理(DRM)サーバである。メディアコンテンツの使用権管理、メディアコンテンツの暗号化などをサポートしている。
Adobe Accessは、主に不正使用対策(海賊版対策)を行いたい場合に使用される。

Adobe Media ServerはAdobe Accessにより暗号化されたメディアコンテンツを配信することができる。

Adobe AccessとRTMP/Eの違いは、Adobe Accessがメディアコンテンツを配信前に暗号化できるのに対して、
RTMP/Eはネットワーク間での間のみメディアコンテンツを暗号化することができる。

参考

Adobe Media Server Technical Overview(訳:技術概要)