Adobe Flash Media Server 技術概要

ADOBE FLASH MEDIA
SERVER
®
技術概要
®
© 2007 Adobe Systems Incorporated. All rights reserved.
Adobe® Flash® Media Server 技術概要
本マニュアルがエンドユーザ使用許諾契約を含むソフトウェアと共に提供される場合、本マニュアルおよびその中に記載されているソフトウェアは、エンドユーザ使用許諾契約にも
とづいて提供されるものであり、当該エンドユーザ使用許諾契約の契約条件に従ってのみ使用または複製することが可能となるものです。当該エンドユーザ使用許諾契約により許可
されている場合を除き、本マニュアルのいかなる部分といえども、Adobe Systems Incorporated(アドビ システムズ社)の書面による事前の許可なしに、電子的、機械的、録音、
その他いかなる形式・手段であれ、複製、検索システムへの保存、または伝送を行うことはできません。本マニュアルの内容は、エンドユーザ使用許諾契約を含むソフトウェアと共
に提供されていない場合であっても、著作権法により保護されていることにご留意ください。
本マニュアルに記載される内容は、あくまでも参照用としてのみ使用されること、また、なんら予告なしに変更されることを条件として、提供されるものであり、従って、当該情報
が、アドビ システムズ社による確約として解釈されてはなりません。アドビ システムズ社は、本マニュアルにおけるいかなる誤りまたは不正確な記述に対しても、いかなる義務や
責任を負うものではありません。
新しいアートワークを創作するためにテンプレートとして取り込もうとする既存のアートワークまたは画像は、著作権法により保護されている可能性のあるものであることをご留意
ください。保護されているアートワークまたは画像を新しいアートワークに許可なく取り込んだ場合、著作権者の権利を侵害することがあります。従って、著作権者から必要なすべ
ての許可を必ず取得してください。
例として使用されている会社名は、実在の会社・組織を示すものではありません。
Adobe、Adobe ロゴ、Adobe AIR、Adobe Premiere、Acrobat Connect、ActionScript、After Effects、ColdFusion、Flash、Flash Lite および Flex は、アドビ システムズ社
の米国ならびにその他の国における登録商標または商標です。All other trademarks are the property of their respective owners.
Portions include software under the following terms:
Sorenson™ Spark™ ビデオ圧縮および圧縮解除テクノロジーは、Sorenson Media, Inc. のラ イセンス供与によって提供されます。
Licensee shall not use the MP3 compressed audio within the Software for real time broadcasting (terrestrial, satellite, cable or other media), or broadcasting via Internet or
other networks, such as but not limited to intranets, etc., or in pay-audio or audio on demand applications to any non-PC device (i.e., mobile phones or set-top boxes).
Licensee acknowledges that use of the Software for non-PC devices, as described herein, may require the payment of licensing royalties or other amounts to third parties
who may hold intellectual property rights related to the MP3 technology and that Adobe has not paid any royalties or other amounts on account of third party intellectual
property rights for such use. If Licensee requires an MP3 decoder for such non-PC use, Licensee is responsible for obtaining the necessary MP3 technology license.
Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.
Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2.101, consisting of “Commercial
Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable.Consistent
with 48 C.F.R. §12.212 or 48 C.F.R. §§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software
Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant
to the terms and conditions herein.Unpublished-rights reserved under the copyright laws of the United States.Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA
95110-2704, USA.For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive
Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973,
as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence
shall be incorporated by reference.
iii
目次
第 1 章:はじめに
サーバーのエディション
必要システム構成
新機能
......................................................................1
............................................................................3
......................................................................................3
サーバーの一般的な使用法
....................................................................6
第 2 章:アーキテクチャ
コアサーバーアーキテクチャ
言語ライブラリ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
サーバーの規模の調整
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
サーバーの設定と管理
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
第 3 章:セキュリティ
コンテンツのセキュアなストリーミング
コンテンツの保護
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
サーバーのセキュアな設定
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
サーバーサイドスクリプトのセキュリティ
セキュアなアプリケーションシナリオ
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1
第 1 章:はじめに
Adobe® Flash® Media Server は、ビデオオンデマンド、ライブビデオ、ストリーミングミュージック、ビデオのブログ、
ビデオメッセージング、マルチメディアチャット環境、リアルタイムデータキャストおよびマルチユーザーのゲームを
提供できるリアルタイムメディアサーバーです。Flash Media Server クライアントアプリケーションは Adobe Flash
Player、Adobe AIR および Adobe Flash Lite で実行され、複数のプラットフォームとブラウザで一貫して動作します。
Flash Media Server 3 には、Adobe Flash Media Streaming Server、Adobe Flash Media Interactive Server および
Adobe Flash Media Development Server という 3 つのエディションがあります。
サーバーのエディション
Flash Media Streaming Server
Flash Media Streaming Server は、Flash Player、AIR および Flash Lite 向けの強力でセキュアなビデオおよびオー
ディオのストリーミングソリューションです。これは、Flash Player にライブビデオとビデオオンデマンドを配信するた
めのサーバーです。このサーバーには、ライブのコンテンツまたは記録されたコンテンツをクライアントに配信できる、
ライブとビデオオンデマンド(VOD)の 2 つのビルトインストリーミングサービスが含まれています。Flash Media
Streaming Server には、ライブサービスと VOD サービスを使用する Flash Player、AIR または Flash Lite のソリュー
ションを開発できるクライアント API が用意されています。このサーバーエディションは、パフォーマンスやスケーラ
ビリティの高い、またはカスタムのビデオソリューションを対象としていません。
Flash Media Streaming Server は、ライブストリーミングメディアとビデオオンデマンドストリーミングメディアの 2
種類のストリーミングサービスを提供します。これらのサービスを使用するクライアントを作成し、クライアント数を
限定せずにライブビデオをストリーミングすることができます。ライブストリームは、短いイベントのように時間で区切
ることも、テレビ局やラジオ局のように常にオンにすることもできます。記録されたビデオには、短いコマーシャル、映
画の予告編、ミュージックビデオからテレビ番組やノーカットの映画まで、様々な種類があります。
Flash Media Interactive Server
Flash Media Interactive Server は、Flash Player、AIR および Flash Lite に向けて、ビデオレコーダやマルチプレー
ヤーゲームなどのストリーミングメディアおよびソーシャルメディアアプリケーションを配信するための、強力でセキュ
アな、拡張性とスケーラビリティに富むソリューションです。このサーバーには、サーバーサイド ActionScript とクラ
イアントサイド ActionScript でメディアアプリケーションを開発するための SDK が用意されています。また、サーバー
のビルトイン機能を拡張するプラグインを C++ で開発することができます。Flash Media Interactive Server は、接続と
帯域幅を管理し、クライアントのより近くでコンテンツをキャッシュするエッジサーバーとして動作するように設定する
こともできるため、デプロイメントの規模を簡単に調整できます。
Flash Media Interactive Server は Flash Media Streaming Server と同じストリーミングサービスを提供します。さら
に、Flash Media Interactive Server を使用すると、サーバーサイドとクライアントサイドの ActionScript を使用して新
しいビデオサービスやソーシャルメディアアプリケーションを開発することができます。これらのソーシャルメディアア
プリケーションはビデオのブログおよびメッセージングや個人のビデオブロードキャストサイトなど、ユーザーが生成す
るオーディオおよびビデオをストリーミングします。このエディションのサーバーは、多くのユーザーがリアルタイムで
チャットやコラボレーションを行うリアルタイムメディアアプリケーションも対象にして設計されています。Flash
Media Interactive Server は Flash Media Streaming Server からのアップグレードです。
ADOBE FLASH MEDIA SERVER 2
技術概要
また、Flash Media Interactive Server は、オンラインゲームなどで規模の大きなユーザーのグループに対してデータを
ブロードキャストできるようにも設計されています。このサーバーを使用すると、ライブビデオを備えたインタラクティ
ブアプリケーションや、Adobe® Acrobat® Connect のようなコラボレーションアプリケーションを作成することもでき
ます。
Flash Media Development Server
Flash Media Development Server は Flash Media Interactive Server の無料バージョンで制限がありますが、Flash
Media Interactive Server 用の新しいアプリケーションを開発したり、データ量の少ない基本的なストリーミングやソー
シャルメディアのソリューションを本番環境に実装したりするために使用できます。本番環境でこのサーバーを使用する
と、新しいマルチポイントパブリッシュ機能を利用できます。この機能では、ネットワーク上にライブパブリッシュポイ
ントを作成し、ストリームにデータメッセージを組み込み、ストリームをコンテンツ配信ネットワークにプッシュ送信す
ることができます。Flash Media Development Server に機能面の制限はありませんが、同時接続数が 10 に制限されて
います。
サーバーのエディションの比較
次の表では、各サーバーエディションの機能を比較しています(すべてのサーバーエディションがサポートしている機能
は記載されていません)
。
機能
Flash Media Interactive
Server
Flash Media Streaming
Server
Flash Media Development
Server
クライアントとサーバー間の同時接続数
無制限
無制限
10
帯域幅
無制限
無制限
無制限
プロセッサの制限
8 ウェイ SMP
4 ウェイ SMP
8 ウェイ SMP
ストリーミングサービス(ライブおよび
VOD)
あり
あり
あり
複数のアプリケーションとパブリッシュポイ
ント
無制限
無制限(このサーバーエディ
ションで実行されるのは VOD
アプリケーションとライブアプ
リケーションのみです)
無制限
サーバー上でのビデオアーカイブ(記録)
あり
なし
あり
サーバーサイドプログラミング
あり
なし
あり
マルチポイントパブリッシュ
あり
なし
あり
エッジサーバーの設定
あり
なし
あり
カスタムの C++ プラグインのサポート
あり
なし
あり
コアサーバープロセス
無制限
1
無制限
暗号化されたストリーミング(RTMP)
あり
あり
あり
簡単なアクセスコントロール(SWF の検証) あり
あり
あり
Adobe Media Player トラッキングサービス あり
なし
なし
ADOBE FLASH MEDIA SERVER 3
技術概要
必要システム構成
最新の必要システム構成については、www.adobe.com/go/learn_fms_sysreqs_jp を参照してください。
新機能
ビルトインストリーミングサービス
ビデオオンデマンドサービス
ビデオを RootInstall/applications/vod/media フォルダに置くと、ただちにビデオをストリーミングできます。コード
を記述しないでビデオを Flash Player 8 および Flash Player 9 にストリーミングするには、Adobe Flash CS3
Professional と Flash 8 FLVPlayback コンポーネントを VOD サービスと共に使用します。VOD サービス用の独自のク
ライアントアプリケーションを、ActionScript 2.0 または ActionScript 3.0 で記述することもできます。アプリケーショ
ンは、ユーザーに提供するために、サーバー上で何度でも名前を変更して複製することができます。詳細については、
『Adobe Flash Media Server 開発者ガイド』の「VOD サービス」を参照してください。
ライブパブリッシュポイント
コードを記述しないで Flash Player 8 と Flash Player 9 に向けたライブビデオのキャプチャとストリーミングを行うに
は、Adobe® Flash® Media Encoder とライブサービスを使用します。ライブサービス用の独自のクライアントアプリ
ケーションを、ActionScript 2.0 または ActionScript 3.0 で記述することもできます。複数のパブリッシュポイントを作
成するには、サーバー上で何度でもアプリケーションの名前を変更して複製することができます。詳細については、
『Adobe Flash Media Server 開発者ガイド』の「ライブサービス」を参照してください。
ライブパブリッシュの強化
データキーフレーム
パブリッシュする側はメタデータをライブストリームにエンコードできます。すべての受信者はライブストリームをサブ
スクライブするときにメタデータを受信します。これにより、遅れて参加したユーザーにもビデオやイベントに関する重
要な情報が渡るようにしています。詳細については、
『Adobe Flash Media Server 開発者ガイド』の「ライブストリーム
へのメタデータの追加」を参照してください。
マルチポイントパブリッシュ
ユーザーにストリームを配信する別のオリジンサーバーにライブストリームをプッシュ送信するには、Flash Media
Interactive Server または Flash Media Development Server を使用します。これは、何百万ものユーザーにストリーム
を配信できるコンテンツ配信ネットワークにデータをストリーミングする場合に便利です。詳細については、『Adobe
Flash Media Server 開発者ガイド』の「サーバーからサーバーへのパブリッシュ」を参照してください。
セキュリティ機能の強化
暗号化された RTMP(RTMPE)
RTMP(Real-Time Messaging Protocol)の 128 ビット暗号化バージョンです。このプロトコルは SSL より軽量です
が、高レベルのセキュリティを提供します。詳細については、「RTMP(Real-Time Messaging Protocol)」を参照して
ください。
ADOBE FLASH MEDIA SERVER 4
技術概要
SWF ファイルの検証
SWF ファイルがサーバーリソースに接続する前に、それらが信頼できることを確認します。これにより、アプリケー
ションまたはサービスに接続するクライアントは、作成したクライアントまたは許可したクライアントだけであることが
保証されます。詳細については、『Adobe Flash Media Server 設定および管理ガイド』の 22 ページの「SWF ファイル
の検証」を参照してください。
ストリームデータへのアクセス
読み取りと書き込みの ACL(アクセスコントロールリスト)が拡張され、ストリーム内のオーディオとビデオのデータ
へのアクセスを制御する新しい権限が 2 種類追加されました。アプリケーションは、サーバーに許可された場合、ビデオ
フレームをビットマップとして抽出できます。サーバーサイド ActionScript API と Authorization プラグイン API がこ
の機能をサポートするように更新されました。詳細については、
『Adobe Flash Media Server 開発者ガイド』を参照して
ください。
パフォーマンスの向上
公開されたパフォーマンスベンチマーク
負荷テストの統計が http://www.adobe.com/go/fms_jp で公開されています。統計は入念なテストによって得られたも
のであり、ランダムな接続やストリーミングのパターンを含め、実世界のシナリオが反映されています。
インテリジェントな一時停止
Flash Player 9 Update 3 では、ストリームが一時停止されたときにバッファが消去されなくなりました。これにより、視
聴者が間を空けずに再生を再開できるようになりました。また、開発者は、コードに NetStream.pause() を使用して、
視聴者がコマーシャルを見ている間などにデータをバッファに格納することができます。これにより視聴者は、例えばメ
インのビデオが開始されたときにストリームの一時停止を解除することができます。詳細については、『Adobe Flash
Media Server ActionScript 2.0 Language Reference』または『ActionScript 3.0 コンポーネントリファレンスガイド』
の「NetStream.pause()」の項目を参照してください。
複数のプロセスにわたるアプリケーションの分散
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でのみ使用できます。
アプリケーションインスタンスがサーバープロセスに割り当てられるスコープを指定し、それらのインスタンスを分散さ
せる対象となるサーバープロセスの数を選択します。指定できるスコープには、アダプタ、仮想ホスト、アプリケーショ
ン、インスタンスおよび接続が含まれます。プロセスの分散を微調整する機能によって、様々な種類のアプリケーション
のサーバーで最大限のパフォーマンスを実現することができます。詳細については、
『Adobe Flash Media Server 設定お
よび管理ガイド』の 19 ページの「アプリケーションをサーバープロセスに割り当てる方法の設定」を参照してください。
接続要求の制限
サーバーのパフォーマンスを維持するには、外部からの接続が急増した場合に制限を加えるようにサーバーを設定しま
す。これにより、アクセスが集中する新しいニュース記事などの大きなイベントが突然発生した場合に、既に接続されて
いるユーザーによるビデオの再生が中断されないようにします。詳細については、
『Adobe Flash Media Server 設定およ
び管理ガイド』の 16 ページの「接続要求の制限」を参照してください。
アイドル状態の接続の切断
アイドル状態が長く続いている接続を切断してコアプロセスを解放するようサーバーを設定して、追加のアプリケーショ
ンを実行できるようにします。詳細については、『Adobe Flash Media Server 設定および管理ガイド』の 17 ページの
「アイドル状態の接続の終了」を参照してください。
ADOBE FLASH MEDIA SERVER 5
技術概要
ネイティブな帯域幅検出機能
サーバーからクライアントへの帯域幅の検出は、サーバーサイド ActionScript スクリプト内ではなく、ネイティブの
サーバーコードで行われるようになりました。この検出方法では、メモリと CPU の使用率が低下するので、パフォーマ
ンスとスケーラビリティが向上します。さらに帯域幅は、クライアントとオリジンサーバーの間ではなく、エッジサー
バーとクライアントの間で測定されるようになりました。これは、クライアントが接続するのはエッジサーバー経由であ
るためです。詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 32 ページの「ネイティブな帯域
幅検出の設定または無効化」を参照してください。
記録済みメディアのキャッシュに最適なメモリ使用の設定
記録済みメディアのキャッシュが使用するメモリ量に制限を設定します。最も多く要求されるデータセグメントがキャッ
シュ内に保持される確率を高める、新しい置き換えポリシーも採用されています。詳細については、『Adobe Flash
Media Server 設定および管理ガイド』の 14 ページの「記録済みメディアのキャッシュの設定」を参照してください。
プラグインのサポート
File プラグイン
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でのみ使用できます。
File プラグイン C++ API を使用すると、サーバーがファイルアクセスを処理する方法をカスタマイズできます。例えば、
ビデオをストリーミングするために必要なバイトにアクセスする HTTP 要求を発行する、リモートコンテンツの管理ソ
リューションを作成できます。詳細については、「プラグイン API」を参照してください。
Authorization プラグイン
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でのみ使用できます。
Authorization プラグイン C++ API を使用すると、サーバーイベントにアクセスできます。また、ファイルの再生や
シークなどの特定のイベントを許可したり不許可にしたりすることができます。クライアントを切断し、任意のメッセー
ジをサーバーサイドスクリプトに送信することもできます。これにより、他のプラグインと、Authorization プラグイン
を拡張可能にするサーバーサイド ActionScript API の間が緊密に結び付けられています。詳細については、
「プラグイン API」を参照してください。
Access プラグイン
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でのみ使用できます。
Access プラグイン C++ API を使用すると、サーバーへのアクセスを制御できます。Access プラグインによって、セ
キュリティの層がもう 1 つサーバーに追加されます。この層では接続要求をインターセプトし、要求がサーバーのスクリ
プト層に到達する前にクライアントとサーバーを検査して、要求の受諾、拒否またはリダイレクトのいずれの処理を行う
かを決定します。詳細については、「プラグイン API」を参照してください。
管理ツール
FMSCheck ツール
詳細なチェックを行い、ストリーミングが正常に機能しているかどうかを確認します。例えば、ストリームの再生が可能
か、ストリームのパブリッシュが可能か、アプリケーションレベルの接続が受諾されているかなどを確認できます。詳細
については、『Adobe Flash Media Server 設定および管理ガイド』の 65 ページの「サーバーステータスの確認」を参照
してください。
ADOBE FLASH MEDIA SERVER 6
技術概要
FLVCheck ツール
アドビ システムズ社以外のサードパーティのテクノロジでエンコードされたファイルを、サーバーでエラーなしにスト
リーミングできることを確認します。詳細については、『Adobe Flash Media Server 設定および管理ガイド』の 67 ペー
ジの「ビデオファイルの確認」を参照してください。
設定の簡略化
最もよく使用される設定パラメータが XML ファイルから fms.ini ファイルに移動されました。これにより、1 つの
場所からサーバーを設定できます。詳細については、「サーバーの設定」を参照してください。
プラットフォームと標準への準拠
H.264 ビデオと HE-AAC オーディオのサポート
Flash Player 9 Update 3 と AIR は、MPEG-4 標準ファイル形式で定義されている H.264 および HE-AAC でエンコー
ドされたビデオとオーディオをサポートしています。これらの形式は、より低いビットレートで高品質のビデオをスト
リーミングします。開発者は、Adobe Premiere Pro や Adobe After Effects を含む業界標準のツールを利用して、魅力
的なビデオコンテンツを作成し、配信することができます。すべてのエディションの Flash Media Server 3 で、H.264
と HE-AAC のコンテンツを Flash Player 9 Update 3 と AIR にストリーミングできます。詳細については、「ストリー
ミングメディア」を参照してください。
302 リダイレクト接続
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でのみ使用できます。
リダイレクト情報を標準形式で伝達するように、NetConnection.Connect.Reject ステータスコードが拡張されました。
Access プラグイン API、Authorization プラグイン API およびサーバーサイド ActionScript API が、リダイレクトをサ
ポートするように更新されました。詳細については、
『Adobe Flash Media Interactive Server Plug-in API Reference』
と『Server-Side ActionScript Language Reference』を参照してください。
AMF3 のサポート
すべてのサーバーエディションが、Flash Player 9 および ActionScript 3.0 で導入されたデータのシリアライズについて
Action Message Format(AMF)3 をサポートしています。詳細については、『Adobe Flash Media Server 開発者ガイ
ド』の「Action Message Format(AMF)について」を参照してください。
IPv6 への準拠
すべてのエディションの Flash Media Server 3 は IPv6 標準に準拠しています。これは、インターネットプロトコルのア
ドレス指定機能を拡張する次世代の標準です。詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の
30 ページの「IPv6 の設定」を参照してください。
サーバーの一般的な使用法
ビデオプレーヤー
ビデオプレーヤーは、Flash Media Server からユーザーに対し、ライブビデオまたは記録されたビデオのストリーミン
グを行います。記録されたビデオはビデオオンデマンドと呼ばれます。キャプチャされてライブでストリーミングされる
ビデオは、ライブビデオと呼ばれます。記録されたビデオをオンデマンドで配信するために、FLVPlayback コンポーネ
ントというビデオプレーヤーが用意されており、ActionScript を使用すると、独自のクライアントビデオプレーヤーを
ADOBE FLASH MEDIA SERVER 7
技術概要
開発することもできます。Adobe Flash Media Encoder では、オーディオとビデオを Flash Media Server にストリーミ
ングするのと同時にキャプチャできます。ActionScript を使用して、オーディオとビデオをキャプチャするカスタム
Flash Player アプリケーションを構築することもできます。
以下に、ストリーミングできるコンテンツの種類の例を示します。
•
•
•
•
コマーシャルなど、30 秒までの短いビデオクリップ
ユーザーが作成したビデオなど、最大 30 分までの長いクリップ(一般に「ロングテール」コンテンツと呼ばれます)
録画されたテレビ番組や映画など、数時間までの非常に長いクリップ
ビデオ再生リストでは、ストリームの種類がライブストリーム、記録されたストリームまたはそれらの組み合わせの
どれであっても、リストにあるストリームを順番に再生できます。再生リストはクライアントサイドスクリプトでも、
Flash Media Interactive Server 上のサーバーサイドスクリプトでも作成できます。
RTMP
A
B
D
C
A. Flash Media Encoder(またはカスタム構築された Flash Player や AIR ソリューション)は、ライブのオーディオやビデオをキャプチャして、
サーバーにパブリッシュします。B. Flash Media Server はライブメディアおよび記録済みメディアをクライアントにストリーミングします。C. イ
ンターネット(RTMP)D.Flash Player、AIR または Flash Lite でビデオプレーヤーが実行されます。
広告付きビデオ
ストリーミングビデオアプリケーションは、録画されたテレビ番組やライブビデオの前に再生される短いコマーシャルな
ど、様々なポイントに広告を挿入できます。多くの場合、1 つのサーバーから広告がストリーミングされ、別のサーバー
またはコンテンツ配信ネットワークからコンテンツがストリーミングされます。広告付きビデオのアプリケーションは通
常、広告サーバーに接続し、広告をストリーミングしてから広告サーバーとの接続を閉じます。次にコンテンツサーバー
に接続し、コンテンツをストリーミングしてからその接続を閉じます。ビデオがストリーミングされるたびにこの処理の
流れを繰り返します。
A
B
C
D
A. ライブビデオ B. Flash Media Server(記録されたコンテンツおよびライブコンテンツを提供)C. Flash Player、AIR または Flash Lite
クライアント D.Flash Media Server(広告を提供)
ADOBE FLASH MEDIA SERVER 8
技術概要
マルチポイントパブリッシュを使用するライブビデオ
注意 : この機能は Flash Media Interactive Server と Flash Media Development Server でサポートされます。
ライブオーディオとライブビデオは、PC カメラでキャプチャされたものでも、高度な機能を使用した企業のビデオ撮影
グループによってキャプチャされたものでも、http://www.adobe.com/go/learn_fms_fme_jp から入手できる Adobe
Flash Media Encoder を使用して、ビデオやストリーミングされるライブに変換することができます。
注意 : 独自の Flash Player ソリューションまたは AIR ソリューションを作成し、ライブビデオのキャプチャとストリー
ミングを行うこともできます。
多くの視聴者にメディアをブロードキャストする必要がある場合、ライブビデオを、マルチポイントパブリッシュを使用
してカメラからパブリッシュサーバーにストリーミングしてから、ブロードキャストサーバー(コンテンツ配信ネット
ワークである場合も多い)にストリーミングすることができます。
A
B
C
D
E
A. ライブビデオ B. Flash Media Encorder(またはカスタム構築された Flash Player または AIR ソリューション)C.Flash Media Server(パブリッ
シュ)D. Flash Media Server(ブロードキャスト)E.Flash Player、AIR または Flash Lite クライアント
マルチポイントパブリッシュを使用すると、大規模なライブビデオアプリケーションを構築したり、ライブストリームに
メタデータを組み込んだりすることができます。例えば、インターネットテレビ局を作成し、Flash Media
Development Server にストリームをパブリッシュできます。このサーバーでは、何百万ものユーザーにストリームを
プッシュ配信できる CDN などのより大規模な Flash Media Interactive Server デプロイメントに、ストリームをパブ
リッシュします。
ADOBE FLASH MEDIA SERVER 9
技術概要
ソーシャルメディアアプリケーション
Flash Media Interactive Server アプリケーションは、ビデオ共有、オンラインチャット、Web 会議およびその他のコ
ミュニティ構築機能を通じて、ユーザーを引きつけることができます。ユーザーは、テキストメッセージはもちろんオー
ディオやビデオもサーバーに送信することができます。サーバーはそれらのデータを、接続されているすべてのユーザー
にストリーミングします。サーバーは、ビデオメッセージングアプリケーション使用時のように、後で再生するためにメ
ディアを記録することもできます。
A
A
A
B
A
A
A. クライアントはオーディオ、ビデオおよびテキストメッセージを送受信できます。B. Flash Media Interactive Server は接続しているすべての
ユーザーにメディアとデータをブロードキャストします。
10
第 2 章:アーキテクチャ
コアサーバーアーキテクチャ
クライアントサーバーアーキテクチャ
Adobe Flash Media Server アプリケーションはクライアントサーバーアーキテクチャを採用しています。クライアント
コードは ActionScript で記述され、Adobe Flash Player、Adobe AIR または Adobe Flash Lite で実行されます。サー
バーコードはサーバーサイド ActionScript で記述されます。これは、ActionScript 1.0 に類似しています。
サーバーとクライアントは永続的な接続を介して、RTMP(Real-Time Messaging Protocol)を使用して通信します。
RTMP は、ストリーミングとデータサービスのための、信頼性が高い TCP/IP プロトコルです。一般的には、Web サー
バーが HTTP 経由でクライアントを配信します。クライアントは RTMP を使用して Flash Media Server へのソケット
接続を作成します。この接続によって、クライアントとサーバーの間でリアルタイムにデータをストリーミングできます。
A
B
HTTP
C
RTMP
D
E
Flash Media Server アプリケーションは、連携して動作するクライアントコンポーネントとサーバーコンポーネントから構成されます。
A. Web サーバー B. Web サーバーが SWF ファイルを送信します。C. Flash Player、AIR または Flash Lite クライアントが SWF ファイルを再生
します。D. SWF ファイルが Flash Media Server 上のアプリケーションに接続します。サーバーは、永続的な接続を介してデータをストリーミング
します。E. Flash Media Server
リアルタイムメディアサーバー
Flash Media Streaming Server は、ライブとビデオオンデマンド(VOD)の 2 種類のストリーミングサービスを提供し
ます。ストリーミングサービスは、構築済みのサーバーサイドアプリケーションです。各ストリーミングサービスには、
開発者が独自のクライアントを記述するために使用できるクライアント SDK だけでなく、構築済みのサンプルクライア
ントが用意されています。
リアルタイムコラボレーションアプリケーションサーバー
Flash Media Interactive Server と Flash Media Development Server には、Flash Media Streaming Server と同じス
トリーミングサービスが含まれています。さらに、開発者がクライアントサイドとサーバーサイドの両方のメディアアプ
リケーションのコンポーネントを記述し、双方向のインタラクティブアプリケーションを作成できる SDK が提供されて
います。Flash Media Interactive Server と Flash Media Development Server には、開発者がサーバーのコア機能を拡
張するプラグインを C++ で記述することができる SDK も付属しています。
ADOBE FLASH MEDIA SERVER 11
技術概要
複数のアプリケーションとアプリケーションインスタンスのホスティング
Flash Media Interactive Server と Flash Media Development Server がホスティングできるアプリケーションの数と、
各アプリケーションのインスタンスの数に制限はありません。Flash Media Streaming Server がホスティングできるラ
イブサービスと VOD サービスのインスタンスの数に制限はありません。
注意 : Flash Media Streaming Server では、実行するアプリケーションはアドビ システムズ社が提供するものに制限さ
れています。
例えば、Flash Media Interactive Server は、ライブサービスと VOD サービスに加えて、Web 会議アプリケーション、
ビデオブログアプリケーション、ビデオチャットアプリケーションおよびマルチプレーヤーゲームをホスティングするこ
とができます。それらのアプリケーションそれぞれについて、複数のインスタンスを作成できます。例えば、トピックご
とに部屋を設けるビデオチャットアプリケーションでは、グループ同士はやり取りせず、ユーザーのグループが同じアプ
リケーションにアクセスできるように、インスタンスを利用します。
アプリケーションは Flash Media Server に登録する必要があります。これにより、アプリケーションが接続しようとす
ると、サーバーによってアプリケーションが識別されます。アプリケーションをサーバーに登録するには、デフォルトで
はルートインストールフォルダにあるメインアプリケーションフォルダ内に、開発者がアプリケーション用のフォルダを
作成します(Flash Media Server 3/applications)
。アプリケーションのインスタンスを作成するには、そのアプリケー
ションのフォルダ内にサブフォルダを作成します(例、Flash Media Server
3/applications/exampleApplication/instance1)。詳細については、『Adobe Flash Media Server 開発者ガイド』を参
照してください。
サーバー管理者はアプリケーションフォルダの場所を変更できます。また、サーバーを複数のアダプタと仮想ホストに分
割することもできます。このようにすると、仮想ホストごとに専用のアプリケーションフォルダを持つことができます。
詳細については、
「サーバーの設定」を参照してください。
RTMP(Real-Time Messaging Protocol)
すべてのサーバーエディションは Flash Player、AIR および Flash Lite と、RTMP(Real-Time Messaging Protocol)
を介して通信します。RTMP は負担が大きいストリームをリアルタイムに配信できるよう最適化されています。1 つの
RTMP 接続で、任意の数のストリームのマルチプレックス接続を実行できます。各ストリームには、同期されたオー
ディオ、ビデオおよびデータのチャネルが含まれます。リモートメソッドの呼び出しと共有オブジェクトメッセージは、
データ専用ストリームで伝達されます。
Flash Media Server 3 でサポートされる RTMP 接続は、次の 5 種類です。
RTMP これは標準の、暗号化されない RTMP です。デフォルトのポートは 1935 です。ポートが指定されていない場合、
クライアントは 1935、443、80(RTMP)、80(RTMPT)という順序でポートへの接続を試みます。
RTMPT このプロトコルは HTTP を介してトンネリングされた RTMP です。RTMP データは有効な HTTP としてカプ
セル化されます。デフォルトのポートは 80 です。
RTMPS このプロトコルは SSL を介した RTMP です。SSL は、TCP/IP を介したセキュアな通信を可能にするプロトコ
。デフォルト
ルです(Flash Media Server は、外部からと外部への両方の SSL 接続をネイティブでサポートしています)
のポートは 443 です。
RTMPE このプロトコルは、RTMP の暗号化されたバージョンです。RTMPE は SSL より高速で、証明書の管理を必要
とせず、サーバーの Adaptor.xml ファイルで有効にされます。ポートを明示的に指定しないで RTMPE を指定すると、
Flash Player は RTMP の場合と同様に 1935(RTMPE)、443(RTMPE)、80(RTMPE)、80(RTMPTE)という
順序でポートをスキャンします。
RTMPTE このプロトコルは、暗号化されたトンネリング接続を使用する RTMPE です。デフォルトのポートは 80 です。
ADOBE FLASH MEDIA SERVER 12
技術概要
ストリーミングメディア
メディア(オーディオ、ビデオおよびデータを含む場合があります)はクライアントと Flash Media Server の間でリア
ルタイムに送信され、到着すると表示されます。このようなデータ送信は「ストリーミング」と呼ばれます。クライアン
トと Flash Media Server の間でストリーミングされるメディアは「ストリーム」と呼ばれます。ストリームはパブリッ
シュ/サブスクライブモデルを使用します。
「サブスクライブ」とは再生を意味します。クライアントとサーバーのどち
らでもストリームをパブリッシュできますが、ストリームを再生できるのはクライアントだけです。
例えば、作成者は Flash Media Encoder を使用して、基調講演のライブのオーディオとビデオをキャプチャしてエン
コードし、サーバーにパブリッシュできます。ユーザーはこの講演を、ストリームにサブスクライブする Flash Player、
AIR または Flash Lite クライアントで見ることができます。
別のシナリオでは、ソーシャルメディア Web サイトのユーザーは、ライブストリームをビデオチャットアプリケーショ
ンでパブリッシュできます。この場合、ユーザーの PC カメラからビデオを Flash Player でキャプチャすることになりま
す。ソーシャルメディアサイトの他のユーザーは、ストリームをライブで見ることができます。また、開発者がこの機能
を追加した場合は、記録されたストリームを後で再生することができます。
注意 : Flash Media Interactive Server と Flash Media Development Server では、後で再生するためにライブストリー
ムを記録できます。
サーバーはストリームを、クライアントまたは他のサーバーにパブリッシュできます。例えば、XML データをサーバー
サイドスクリプトに取り込んで再生リストを作成し、それをクライアントにストリームとしてパブリッシュすることもで
きます。より多くのクライアントをサポートするため、あるサーバーから他のサーバーにストリームをパブリッシュし、
ライブブロードキャストアプリケーションの規模を調整することができます。
ストリームをパブリッシュするには、クライアントで NetStream.publish() を呼び出します。ストリームにサブスク
ライブするには、クライアントで NetStream.play() を呼び出します(これらの呼び出しは ActionScript 2.0 または
ActionScript 3.0 で行うことができます)。ストリームをクライアントにパブリッシュするには、サーバーで
Stream.play() を呼び出します。ストリームを別のサーバーにパブリッシュするには、サーバーで
。
NetStream.publish() を呼び出します(これらの呼び出しはサーバーサイド ActionScript で行います)
注意 : Flash Media Encoder 2 がパブリッシュする側である場合、コードを記述する必要はありません。Flash Media
Encoder 2 はデフォルトで、ライブストリームを Flash Media Server 3 にパブリッシュするよう設定されています。
サポートするコーデック
Flash Media Server は、オーディオとビデオの情報のエンコードやデコードを行いません。このサーバーは、既にエン
コードされているメディアをストリーミングします。キャプチャ済みのメディア(つまりライブでないメディア)をエン
コードしてストリーミングするには、対象となるバージョンの Flash Player または AIR がサポートするコーデックを使
用します。
ライブビデオのキャプチャ、エンコードおよびストリーミングを行う場合は、Flash Media Encoder 2 を使用するか、
ActionScript を使用して独自の Flash Player または AIR クライアントを構築することができます。Flash Media Encoder
2 は On2 VP6 コーデックでライブビデオをエンコードします。Flash Player と AIR は、Sorenson Spark コーデックを使
用してライブビデオをエンコードし、独自仕様の Nellymoser のコーデックを使用してライブオーディオをエンコードし
ます。On2 VP6 でライブビデオをエンコードする場合は、Flash Media Encoder 2 を使用する必要があります。
次の表に、サポートするコーデックと、必要とされる最も古い SWF ファイル形式および Flash Player のバージョンを示
します。
コーデック
SWF ファイル形式のバージョン(サポー
Flash Player のバージョン(再生に必要
トされる最も古いパブリッシュバージョン) な最も古いバージョン)
Sorenson Spark
6
6、Flash Lite 3
On2 VP6
6
8、Flash Lite 3
H.264(MPEG-4 Part 10)
9
9 Update 3、AIR
ADPCM
6
6、Flash Lite 3
ADOBE FLASH MEDIA SERVER 13
技術概要
コーデック
SWF ファイル形式のバージョン(サポー
Flash Player のバージョン(再生に必要
トされる最も古いパブリッシュバージョン) な最も古いバージョン)
MP3
6
6、Flash Lite 3
AAC(MPEG-4 Part 3)
9
9 Update 3、AIR
注意 : AIR は、Flash Player 9 Update 3 以降を含む、クロスオペレーティングシステムランタイムです。Flash Player と
AIR がアルファチャネルをサポートするのは On2 VP6 の使用時のみです。
Flash Player 9 Update 3 と AIR は、次の MPEG-4 標準のサブセットの再生をサポートしています。
MPEG-4 標準
Flash Player 9 Update 3 / AIR のサポート
ISO/IEC 14496-3(Audio AAC)
AAC Main、AAC LC、SBR
ISO/IEC 14496-10(Video AVC)
Base(BP)、Main(MP)、High(HiP)。すべてのレベルが
サポートされます。
ISO/IEC 14496-12(コンテナ)
オーディオトラック 1 つ、ビデオトラック 1 つ
3GPP TS 26.245(Timed Text Format)
フルにサポートされます。
サポートするファイル形式
すべてのエディションの Flash Media Server 3 が次のファイル形式の再生をサポートしています。
FLV すべてのバージョンの Flash Media Server(1、2 および 3)が FLV ファイル形式をサポートしています。FLV
ファイル形式は、On2 VP6、Sorenson Spark および MP3 のコーデックをサポートしています。
既存のデジタルビデオファイルまたはオーディオファイルから FLV ファイルを作成するには、On2 や Sorenson
Squeeze のようなサードパーティのビデオエンコードユーティリティを使用するか、Flash から書き出します。記録され
るストリームには、ビデオとオーディオだけでなくデータメッセージも含めることができます。このストリームは FLV
ファイル形式で保存されます。
F4V、MP4、M4A、MOV、MP4V、3GP および 3G2 Flash Media Server 3 は、MPEG-4 Part 14 のコンテナ形式に格
納されている H.264 でエンコードされたビデオと AAC でエンコードされたオーディオの再生をサポートしています。
Adobe Premiere や Adobe AfterEffects を含め、必要な数の業界標準ツールを使用して、このようなエンコードを採用
した形式でファイルを作成できます。
重要 : ファイル内に、H.264 と AAC でエンコードされていないオーディオやビデオの一部が含まれている場合、スト
「Exploring Flash Player
リームのそれらの部分は再生されません。H.264 と AAC のサポートの詳細については、
support for high-definition H.264 video and AAC audio」を参照してください。
データモデル
Flash Media Server アプリケーションは、簡単であっても強力な、共有オブジェクトに基づく分散データモデルを使用
します。クライアントサイド ActionScript とサーバーサイド ActionScript のどちらにも SharedObject クラスがあり、
開発者はこのクラスを使用して、サーバーに接続されたクライアント間でデータを共有することができます。
共有オブジェクトには、ローカルとリモートの 2 つの種類があります。ローカル共有オブジェクトはクライアントコン
ピュータに格納され、リモート共有オブジェクトはサーバーに格納されます。ローカルとリモートのどちらの共有オブ
ジェクトも、一時的または永続的のいずれかにすることができます。
ローカル共有オブジェクトは cookie に似ており、オフラインアクセスやユーザー設定を保存するために、ユーザーのコ
ンピュータにデータを保存します。ローカル共有オブジェクトは Flash Player の機能であり、その動作に Flash Media
Server は必要ありません。
ADOBE FLASH MEDIA SERVER 14
技術概要
リモート共有オブジェクトは、サーバーによって管理と格納が行われます。開発者は、メッセージング、データ同期およ
びデータの格納のためにリモート共有オブジェクトを使用できます。クライアントはリモート共有オブジェクトに接続
し、共有オブジェクトに変更があった場合には更新を受け取ります。リモート共有オブジェクトに接続しているすべての
クライアントにメッセージを送信できます。
注意 : リモート共有オブジェクトは Flash Media Streaming Server ではサポートされていません。
詳細については、
『Adobe Flash Media Server 開発者ガイド』を参照してください。
リモートメソッドの呼び出し
Flash Media Interactive Server と Flash Media Development Server は、双方向で非同期に行われるリモートメソッド
の呼び出しをサポートしています。クライアントはサーバーで定義されているメソッドを呼び出すことができ、サーバー
は自身に接続されているクライアントのメソッドを呼び出すことができます。クライアントサイドスクリプトでは、
NetConnection.call() メソッドを呼び出してサーバーサイドの Client オブジェクトで定義されているメソッドを呼び
出します。サーバーサイドスクリプトでは、Client.call() メソッドを呼び出してクライアントサイドの
NetConnection オブジェクトで定義されているメソッドを呼び出します。サーバーサイドスクリプトで
NetConnection.call() を呼び出して、リモートサーバーのメソッドを呼び出すことができます。
、
『ActionScript 2.0
詳細については、
『Server-Side ActionScript Language Reference for Adobe Flash Media Server』
Language Reference』および『ActionScript 3.0 コンポーネントリファレンスガイド』を参照してください。
外部ソースへの接続
ストリームと共有オブジェクトによって提供される通信モデルに加えて、Flash Media Interactive Server と Flash Media
Development Server は、Web サービスやリレーショナルデータベースのような外部データソースや、他の Flash Media
Server アプリケーションとやり取りすることができます。例えば、Web サービスに接続(WebService クラスを使用)し
たり、ColdFusion アプリケーションに接続するサーバーサイド ActionScript を記述して、名前や電話番号のリストを取
得することができます。そして、このクエリーの結果を共有オブジェクトに入れることができます。
詳細については、
『Adobe Flash Media Server 開発者ガイド』と『Server-Side ActionScript Language Reference』を
参照してください。
注意 : Flash Player、AIR および Flash Lite クライアントは、外部ソースとのやり取りに、サポートされているすべての
クライアントサイド ActionScript API を使用することもできます。Flash Media Server には、この機能に関する制限は
ありません。詳細については、Flash Player、AIR および Flash Lite のドキュメントを参照してください。
言語ライブラリ
クライアントサイド ActionScript API
クライアントサイドスクリプトは、Flash Player、AIR または Flash Lite で実行されます。Adobe Flash または Adobe
Flex を使用して、ActionScript 2.0 または ActionScript 3.0 でサーバーリソースにアクセスするクライアントサイドス
クリプトを記述することができます。例えば、ライブのオーディオとビデオをキャプチャし、それをサーバーにストリー
ミングして、そのサーバーから、接続されているすべてのクライアントにストリーミングします。
開発者はクライアントサイドスクリプトで、任意の Flash Player クラスを使用できます。Flash Media Server リソース
にアクセスするには、次のクラスを使用します。
Camera Flash Player または AIR を実行するコンピュータに接続されているカメラからビデオをキャプチャします。
NetConnection クラスと NetStream クラスを使用して、ビデオを Flash Media Server に送信します。Flash Media
Server はビデオを他のサーバーに送信したり、Flash Player、AIR または Flash Lite を実行している他のクライアントに
ビデオをブロードキャストしたりすることができます。
ADOBE FLASH MEDIA SERVER 15
技術概要
Microphone Flash Player または AIR を実行するコンピュータに接続されているマイクからオーディオをキャプチャし
ます。NetConnection クラスと NetStream クラスを使用して、オーディオを Flash Media Server に送信します。Flash
Media Server はオーディオを他のサーバーに送信したり、Flash Player、AIR または Flash Lite を実行している他のク
ライアントにオーディオをブロードキャストしたりすることができます。
NetConnection クライアントと Flash Media Server の間、または Flash Media Server と Flash Remoting の間に開か
れる双方向の接続を表します。
NetStream NetConnection オブジェクトによって使用可能になった接続を介して、クライアントと Flash Media
Server の間に開かれる単方向のストリームを表します。
SharedObject 複数の SWF ファイル間でデータを共有します。Flash Media Server の複数のアプリケーションインス
タンス間でもデータを共有できます。
Video SWF ファイルにビデオを埋め込まずに、ライブビデオまたは記録されたビデオをアプリケーション内に表示しま
す。Video オブジェクトはアプリケーションの表示リストの表示オブジェクトであり、ユーザーインターフェイス内でビ
デオが実行される視覚的な空間を表します。
詳細については、
『ActionScript 3.0 コンポーネントリファレンスガイド』と『Adobe Flash Media Server ActionScript
2.0 Language Reference』を参照してください。
サーバーサイド ActionScript API
Flash Media Interactive Server と Flash Media Development Server は、サーバーサイド ActionScript へのアクセス
を提供します。サーバーサイドのコードを記述すると、ログイン過程の制御、他のサーバーへのコンテンツの再パブリッ
シュ、サーバーリソースへのユーザーアクセスの許可や拒否、ユーザーによる情報の更新と共有の許可などを
行うことができます。
「サーバーサイド ActionScript」は、JavaScript 1.5 のアドビ システムズ社での名前で、ActionScript 1.0 に似ています
が、同じものではありません。どちらの言語も ECMAScript Language Specification Edition 3 に基づいていますが、
ActionScript 1.0 には仕様が正確に実装されていませんでした。サーバーサイド ActionScript は、Flash Media Server
に埋め込まれている Mozilla SpiderMonkey エンジンで実行されます。
サーバーサイド ActionScript には次のクラスがあります。
Application サーバーサイドスクリプト内でアプリケーションのインスタンスを表す Singleton クラスです。
Application クラスのイベントハンドラを使用して、アプリケーション内のコードのフローを制御し、接続の受諾、拒否
またはリダイレクトを行います。
Client アプリケーションに接続されたクライアントを表します。サーバーはクライアントが接続するたびに Client オブ
ジェクトを作成します。このクラスは、クライアントに関する情報の取得、サーバーリソースに対する読み取りおよび書
き込みアクセスの設定およびリモートメソッドの呼び出しのために使用します。
File アプリケーションがサーバーのファイルシステムに書き込めるようにします。このクラスは、データベースを使用
しない情報の格納、デバッグで使用するログファイルの作成または使用状況の追跡のために使用します。
LoadVars このクラスは、HTTP を介して、オブジェクト内の変数を指定の URL に送信したり、指定した URL にある
変数をオブジェクトに読み込んだりするために使用します。
Log このクラスは、Web サービスの使用時にログファイルを作成するために使用します。
NetConnection Flash Media Interactive Server(または Flash Media Development Server)と、アプリケーション
サーバー、別の Flash Media Interactive Server(または Flash Media Development Server)、または同じサーバー上に
ある別のアプリケーションインスタンスとの間に、双方向の接続を作成します。
NetStream NetConnection オブジェクトを使用して、2 つの場所にインストールされている Flash Media Server 間に
単方向のストリームを開きます。
SharedObject データをサーバーに格納し、複数のクライアントアプリケーション間でリアルタイムにデータを共有し
ます。
SOAPCall すべての Web サービス呼び出しから返されるオブジェクトタイプです。
ADOBE FLASH MEDIA SERVER 16
技術概要
SOAPFault WebService.onFault() や SOAPCall.onFault() に返されるエラーオブジェクトのオブジェクトタイプ
です。
Stream このクラスは、ストリームの管理や再パブリッシュのために使用します。例えば、Stream クラスを使用して
サーバーサイドの再生リストを作成します。このクラスを使用すると、ストリームをサブスクライブしたクライアントに
データを送信したり、ライブストリームにメタデータを追加したりすることもできます。
WebService このクラスは、WSDL/SOAP Web サービスの作成と同 Web サービスへのアクセスのために使用します。
XML このクラスは、XML ドキュメントツリーの読み込み、解析、送信、作成および操作を行うために使用します。
XMLSocket このクラスは、Flash Media Server が IP アドレスまたはドメイン名で識別される別のサーバーと通信でき
るようにするクライアントソケットを実装するために使用します。
XMLStreams データを断片的に送受信する XMLSocket クラスの一種です。
詳細については、
『Server-Side ActionScript Language Reference』を参照してください。
プラグイン API
Flash Media Interactive Server と Flash Media Development Server には、C++ で記述された、サーバーの機能を拡
張できるプラグインが用意されています。
Access プラグイン サーバーがクライアントからの接続要求を受諾する前に、セキュリティの層を追加します。Access プ
ラグインは(要求がサーバーのスクリプト層に到達する前に)各接続要求をインターセプトして検査し、サーバーでその
要求を受諾するか拒否するかを、現在の接続数などのサーバーの統計に基づいて決定します。また、Access プラグイン
のコードを記述して、ストリームや共有オブジェクトなどのサーバーリソースに対する権限を設定することもできます。
Authorization プラグイン サーバー上で発生するイベントに対するクライアントのアクセスを許可します。
Authorization プラグインはサーバーへの接続、ストリームの再生およびストリームのパブリッシュを許可します。論理
URL の物理的な場所へのマッピングも行います。Authorization プラグインは、Flash Media Interactive Server クライ
アント用のコンテンツの配信を、地理的な場所、サブスクリプションのレベル、Flash Media Interactive Server スト
リームの送信元、または特定のストリームにユーザーがアクセスしている時間やその長さに従って割り当てるように設定
することができます。
File プラグイン ファイル I/O メカニズムとサーバーの間のインターフェイスを提供します。開発者はサーバーのデフォ
ルトのオペレーティングシステムに基づくファイルシステムの代わりに、代替のファイル I/O システムを実装できます。
File プラグインのインターフェイスは、ファイル操作の完全に非同期のモデルをサポートしているため、ネットワーク
ベースのファイル I/O を簡単に実装できます。
詳細については、
『Adobe Flash Media Interactive Server プラグイン開発者ガイド』と『Adobe Flash Media
Interactive Server Plug-in API Reference』を参照してください。
Administration API
Administration API を使用すると、RTMP 経由では Flash Player または AIR クライアントから、HTTP 経由では
Web クライアントからサーバーの監視、管理および設定を行うことができます。Administration API では以下のことが
可能です。
•
•
•
サーバーと、そのアプリケーションおよびサービスを監視します。
管理ユーザーの追加、サーバー、仮想ホストおよびアプリケーションの起動と終了など、管理タスクを実行します。
サーバー設定キーの値を表示して設定します。
一部のメソッドはサーバー管理者のみが使用できます。仮想ホストの管理者はそれらのメソッドを使用できません。ただ
し、仮想ホスト管理者でも制限付きでメソッドを使用できる場合もあります。このような制限については、各メソッドの
項目で説明しています。詳細については、『Adobe Flash Media Server Administration API Reference』を参照してく
ださい。
ADOBE FLASH MEDIA SERVER 17
技術概要
サーバーの規模の調整
サーバーのクラスタのデプロイメント
Flash Media Server の規模を調整すれば、サポートの対象となる接続数が増加し、ストリーミング用と、多方向アプリ
ケーション用のハードウェア容量が増加します。Flash Media Server の規模を調整するため、オリジンサーバーのクラ
スタをデプロイすることができます。Flash Media Interactive Server と Flash Development Server を使用する場合は、
「エッジサーバーのデプロイメント」の節で説明しているように、エッジ/オリジンサーバークラスタをセットアップす
ることもできます。
クラスタ化では、デプロイメントを簡単に行えるように、アセットをローカルで管理することによって 1 台のサーバーの
パフォーマンスを向上させます。クラスタ内では、クライアントは共通の URL から接続を要求し、ハードウェアロード
バランサまたはサーバーサイドスクリプトのいずれかによって、接続を Flash Media Server に送ります。
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 3 ページの「クラスタへのサーバーのデプロイ
メント」を参照してください。
ハードウェアによるロードバランシング
クライアントが Flash Media Server アプリケーションへの接続を要求したときに、ハードウェアロードバランサは接続
をサーバーに送ることができます。ハードウェアロードバランサは、クライアントの負荷を複数のサーバーに分散するた
めのさまざまな方法を提供します。この方法は、クライアントが相互に通信する必要がない場合に最適です(例えば、テ
キストやビデオのチャットアプリケーションで通信するような場合)。
サーバーサイド ActionScript でのロードバランシング
注意 : Flash Media Streaming Server では、サーバーサイド ActionScript にアクセスできません。
例えば、接続を特定のサーバーにルーティングしたり、ロードバランシングを実行したりする必要がある多方向アプリ
ケーションなどで、サーバーサイドスクリプトを記述し、外部からの接続をクラスタ内の特定のサーバーにリダイレクト
することができます。詳細については、『Adobe Flash Media Server 開発者ガイド』を参照してください。
エッジサーバーのデプロイメント
注意 : Flash Media Streaming Server をエッジサーバーとして設定することはできません。
どのエディションのサーバーにも接続や帯域幅の制限はありませんが、すべてのサーバーエディションがハードウェア容
量の制限を受けます。オリジンサーバーへの接続が発生するたびに、その接続を通るデータフローとは別に、リソースが
消費されます。接続の数が増えれば、このような負荷が非常に大きくなり、結果としてサーバーのパフォーマンスを低下
させることになります。
この制限を克服し、サーバーに同時に接続できるユーザーの数を増やすため、Flash Media Interactive Server と Flash
Media Development Server をリバースプロキシまたはエッジサーバーとして実行されるように設定できます。エッジ
サーバーを利用することによって、クライアントは、オリジンサーバーに接続する代わりに、エッジサーバーに接続しま
す。エッジサーバーは多数のクライアントからの要求を集約し、それらをオリジンサーバーに送信します。
エッジサーバーは、単方向のビデオオンデマンド(VOD)、単方向のライブイベント、および 24 時間 365 日停止しない
単方向のライブストリームに適したソリューションです。エッジサーバーは大容量の単方向ストリーミングのために、セ
キュリティを強化し、接続要求の負荷を分散させて、帯域幅とシステムリソースを節約します。
エッジサーバーは、接続の管理、コンテンツのキャッシュへの格納およびクライアントへのデータのプッシュ送信を行い
ます。エッジサーバーにキャッシュされたアセットがあれば、サーバーが保存場所にアクセスする必要性が低下し、ビデ
オはクライアントによりすばやく配信されます。保存場所へのアクセスは、大規模なメディア配信のボトルネックになる
可能性がある処理です。コンテンツは、メモリ内やローカルの保存場所にもキャッシュできます。サーバー管理者は、
キャッシュが使用するメモリ量に制限を設定することで、キャッシュのサイズを制御できます。
注意 : サーバーサイド ActionScript はエッジサーバーではなくオリジンサーバーで実行されます。
ADOBE FLASH MEDIA SERVER 18
技術概要
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 4 ページの「エッジサーバーのデプロイメント」
を参照してください。
地域別のエッジサーバーのデプロイメント
エッジサーバーは個別にデプロイすることも、クラスタ内にデプロイすることもできます。また、エッジサーバーを
チェーン構成にし、あるエッジサーバーが他のエッジサーバーとそれらのクライアントからの接続要求を集約してからオ
リジンサーバーにその要求を送るという方式にすることもできます。
ネットワークリソースとシステムリソースの需要を分散させるため、管理者はある地域に属するクライアントを特定の
エッジサーバーに割り当てることができます。例えば、あるエッジサーバーは東京のクライアントからの要求を集約して
転送し、別のエッジサーバーはパリからの要求を集約して転送するというように設定できます。パリと東京のエッジサー
バーはそれぞれのクライアントからの要求を集約し、シカゴなどの別の場所に置かれているオリジンサーバーに、集約し
た要求を転送します。
パリと東京のクライアントは、それぞれの地域に割り当てられたエッジサーバーを必ず経由して、オリジンサーバーにア
クセスします。これらのエッジサーバーはオリジンサーバーからの応答を受信して、対応する各地域、つまりパリや東京
のクライアントに応答を配信します。さらに、エッジサーバーは、オリジンサーバーから受信したデータをキャッシュに
格納し、そのエッジサーバーに接続している他のクライアントもそのデータを使用できるようにします。このようなデー
タの再利用も、エッジサーバーで効率的にリソースを使用する方法として挙げることができます。この方法では、コンテ
ンツをキャッシュすることで、オリジンサーバー全体の負荷が低下します。
2 層でのエッジサーバーのデプロイメント
さらに負荷を分散させるため、エッジサーバーをホスト層と配布層の 2 層に重ねることができます。例えば、全世界にコ
ンテンツをブロードキャストするオリジンサーバーがロンドンにあるとします。オリジンサーバーは、例えばニューヨー
ク、ミュンヘン、カラカスおよび東京にあるホストエッジサーバーの層にデータをプッシュ配信します。それぞれのホス
トエッジサーバーは、配布層を構成するエッジサーバーのクラスタに順次接続します。
サーバーの設定と管理
サーバーの設定
サーバーは、サーバー、アダプタ、仮想ホスト(vhost とも呼ばれます)およびアプリケーションという階層レベルに分
けられます。サーバーは最上位のレベルにあり、1 つ以上のアダプタを含むことができます。各アダプタは 1 つ以上の仮
想ホストを含むことができます。仮想ホストはそれぞれ、1 つ以上のアプリケーションを含むことができます。アダプタ
や仮想ホストを追加すると、複数のアプリケーションやサイトのホスティングのためにサーバーを編成できます。
各階層レベル(サーバー、アダプタ、仮想ホストおよびアプリケーション)には個別の設定パラメータがあり、それぞれ
Server.xml、Adaptor.xml、Vhost.xml、Application.xml という名前の XML ファイルに格納されています。管理者およ
びロギングに関する情報用の設定ファイル(Users.xml と Logger.xml)も存在します。最も重要な設定パラメータは
fms.ini ファイルに取り込まれているため、1 つのファイルを使用してサーバーを設定することができます。サーバーのレ
ベルをそれぞれ調整して、サーバーがホスティングするアプリケーションごとに最も高品質のサービスを提供できます。
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 8 ページの「アダプタ、仮想ホストおよびアプ
リケーションの設定」を参照してください。
ADOBE FLASH MEDIA SERVER 19
技術概要
サーバーの管理
各エディションのサーバーは、Flash Media Administration Server という名前の追加のサーバーと共にインストールさ
れます。このサーバーには、Flash Media Server に対してクエリーを実行して設定を行う Administration API が用意さ
れています。開発者は Administration API を使用して、独自のサーバー管理ツールを作成できます。
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 74 ページの「Administration API の使用」
を参照してください。
Administration Console
Administration Console(Administration API を使用して構築されています)は、管理者の管理、サーバーの監視お
よびサーバー上で実行されているアプリケーションに関する詳細情報の表示を行うための、使いやすいインターフェイス
を備えています。Admministration Console ユーザーには、サーバー管理者と仮想ホスト管理者という 2 つのレベルの
ユーザーが存在します。これにより、ホスティングを提供する側の組織は、ホスティングサービスを利用している企業に
提供する管理上の権利をより少なくすることができます。詳細については、
『Adobe Flash Media Server 設定および管理
ガイド』の 38 ページの「Administration Console の使用」を参照してください。
注意 : また、アプリケーション開発者が Administration Console を使用して、アプリケーションをデバッグすることも
できます。
コマンドラインツール
アドビ システムズ社は、サーバーの管理に役立つ FMSCheck と FLVCheck という 2 つのコマンドラインツールを提供
しています。FMSCheck は、サーバーが実行されているかどうか、応答時間はどのくらいか、どの fmscore プロセスが
応答していないかなどの情報を提供します。FLVCheck では、ビデオファイルが Flash Media Server で正しく実行され
ることを検証できます。FLVCheck ツールは MP4 ファイルと FLV ファイルをサポートしています。
ログファイル
Flash Media Server のログでは、リアルタイムのサーバー監視が行われるので、サーバーの管理と問題のトラブル
シューティングに役立ちます。ログファイルでは、トラフィック全般やサーバー負荷などの状況、サーバーにアクセスし
ているユーザー、クライアントの動作とやり取りおよび全般的な診断が追跡されます。ログファイルは、W3C 形式で記
述されます。ログファイルの解析には標準的な解析ツールを使用できます。ログのデータは Administration Console で
も表示できます。
Flash Media Server では次のログが管理されます。
access.xx.log サーバーアクセスに関する情報が追跡されます。例えば、クライアントがサーバーに接続した日時、
セッション中に消費された帯域幅の合計、接続によってアクセスされたストリーム、クライアントがストリームをパブ
リッシュしたかどうか、記録されたストリーム内の新しい位置にクライアントがジャンプしたかどうかに関する情報など
です。
application.xx.log アプリケーションインスタンス内の動作に関する情報が追跡されます。例えば、イベントの日時、
イベントのサーバープロセス ID、イベントのステータスレベル(警告、エラー、情報、デバッグなど)に関する情報な
どです。
診断ログ サーバーの動作に関する情報が追跡されます。例えば、ストリームイベント、アプリケーションインスタンス、
仮想ホスト、エッジサーバーとオリジンサーバーの問題に関する情報などです。デフォルトでは、サーバーはサーバープ
ロセスのタイプごとに 1 つの診断ログを作成するように設定されています。デフォルトの診断ログは、master.xx.log、
edge.xx.log、core.xx.log、admin.xx.log および httpcache.xx.log です。
20
第 3 章:セキュリティ
すべてのエディションの Adobe Flash Media Server は、コンテンツの盗難や誤用を防止する機能をサポートしていま
す。真のストリーミングなどの一部の機能はサーバーにもともと備わっており、設定を行う必要はありません。拡張
RTMP などの他の機能は、XML 設定ファイルを使用して設定したり、無効にしたりすることができます。特定のサー
バーフォルダに対する読み取りおよび書き込みアクセスの制御など、他の機能をクライアントサイド ActionScript と
サーバーサイド ActionScript を使用して独自に構築することもできます。
コンテンツのセキュアなストリーミング
真のストリーミング
アプリケーションがプログレッシブダウンロード(一般に「プログレッシブストリーミング」と呼ばれます)を使用して
いる場合、コンテンツは、悪意のあるエージェントがビデオをキャプチャして再配布する可能性があるクライアントの
ハードドライブにダウンロードされます。Flash Media Server は、プログレッシブダウンロードではなく真のストリー
ミングを使用します。これは、Flash Media Server から Adobe Flash Player にストリーミングされるメディアは、クラ
イアントのキャッシュやクライアントのハードドライブ上のどこにも、ローカルでは保存されないことを意味します。設
定を行う必要はなく、Flash Media Server は常に真のストリーミングテクノロジを使用してコンテンツを保護します。
セキュアなネットワークプロトコル
Flash Media Server は、異なるレベルのセキュリティを提供する 2 つのネットワークプロトコルをサポートしています。
組織とアプリケーションのニーズに最適なネットワークプロトコルを選択してください。
暗号化された RTMP(RTMPE) クライアントとサーバーの間のデータについて、128 ビットの暗号化チャネルが使用さ
れます。証明書の管理は使用されません。エンドポイントの認証を必要とせず、SSL で可能なレベルより高いパフォーマ
ンスと速い速度が必要なアプリケーションに最適です。RTMPE は、RTMP より 15% 高い処理能力を必要とします。暗
号化チャネルを指定するには、その接続 URI で、例えば次のように RTMPE プロトコルを使用します。
nc.connect("rtmpe://www.example.com/mediaApplication")
注意 : Flash Player 9 Update 3 と AIR のクライアントのみが RTMPE 接続を作成できます。
Secure Sockets Layer(SSL)TCP/IP 上でセキュアな通信を可能にするプロトコルです。Flash Media Server では
RTMPS プロトコルを使用して、外部からと外部への両方の SSL 接続をネイティブでサポートしています。SSL によりド
メインの偽装から保護できます。また、必要な暗号化のレベルを選択することができます。SSL は、最高レベルのセキュ
リティを提供することも可能ですが、RTMP より約 50% 高い処理能力が必要になります。RTMPS 接続を指定するに
は、その接続 URI で、例えば次のように RTMPS プロトコルを使用します。
nc.connect("rtmps://www.example.com/mediaApplication")
サーバーへの接続については、
『Adobe Flash Media Server 開発者ガイド』を参照してください。SSL の設定について
は、『Adobe Flash Media Server 設定および管理ガイド』の 25 ページの「SSL の設定」を参照してください。
ADOBE FLASH MEDIA SERVER 21
技術概要
コンテンツの保護
クライアントの検証
注意 : 次の機能はすべてのサーバーエディションでサポートされています。
•
SWF ファイルの検証
この機能により、ユーザーが作成した SWF ファイルだけが特定のサーバーにアクセスできるようになります。この
方法によって、リソースをストリーミングしようとする SWF ファイルが第三者によって独自に作成されないように
します。アプリケーションへの接続を許可する前にクライアントの SWF ファイルを検証するよう、Flash Media
Server を設定することができます。詳細については、『Adobe Flash Media Server 設定および管理ガイド』の
22 ページの「SWF ファイルの検証」を参照してください。
•
指定したドメインからの接続を許可または拒否します。
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 22 ページの「仮想ホストへの接続を許可
するドメインの制限」を参照してください。
注意 : 次の機能は Flash Media Streaming Server ではサポートされていません。
許可されていないクライアントがサーバーにストリームを送信したり、アクセスを許可されていないストリームを再生し
たりしないように、Flash Media Server では次のセキュリティオプションをサポートしています。
•
サーバーに対して検証される一意の鍵を生成するか、アプリケーションサーバーとの間で暗号化されたトークンの要
求と受信を行います。
•
サーバーサイド ActionScript の Client オブジェクトを使用して、接続要求を受諾または拒否するために使用できる、
クライアントに関する情報を提供します。Client.referrer プロパティを使用して、SWF ファイルの URL またはクラ
イアント接続の作成元サーバーの URL をチェックします。Client.ip プロパティを使用して、クライアントの IP アド
レスをチェックします。
•
Flash Player のバージョンの確認
この機能の詳細については、『Adobe Flash Media Server 開発者ガイド』を参照してください。
サーバーアクセスの制御
開発者と管理者は以下の方法で、クライアントがアクセスできるデータを制御することができます。
注意 : 以下の方法は Flash Media Streaming Server ではサポートされていません。
•
サーバーサイド ActionScript の Client.readAccess プロパティと Client.writeAccess プロパティを使用して、
共有オブジェクトやストリームなどのサーバーリソースに対するクライアントの読み取りおよび書き込みの権限を指定し
ます。詳細については、
『Adobe Flash Media Server 開発者ガイド』を参照してください。
•
サーバーサイド ActionScript の Client.audioSampleAccess プロパティと Client.videoSampleAccess プロ
パティを使用して、指定したフォルダのストリームに含まれる圧縮されていない生のデータにクライアントがアクセスで
きるようにします。詳細については、
『Adobe Flash Media Server 開発者ガイド』を参照してください。
•
Access プラグインを使用して、サーバーのスクリプト層に到達する前に接続を受諾、拒否またはリダイレクトしま
す。詳細については、『Adobe Flash Media Interactive Server プラグイン開発者ガイド』を参照してください。
•
Authorization プラグインを使用して、ストリームの再生やパブリッシュなど、サーバー上のイベントへのアクセス
を許可します。詳細については、
『Adobe Flash Media Interactive Server プラグイン開発者ガイド』を参照してください。
注意 : 次の機能はすべてのサーバーエディションでサポートされています。
• ストリーム、共有オブジェクトおよびファイル用の仮想保存フォルダを設定します。詳細については、『Adobe
Flash Media Server 設定および管理ガイド』の 33 ページの「コンテンツの格納場所について」を参照してください。
ADOBE FLASH MEDIA SERVER 22
技術概要
ユーザーの認証
ユーザー名やパスワードなどの資格情報をクライアントサイドの NetConnection.connect() 呼び出しで渡すと、デー
タベース、LDAP サーバーまたはその他のアクセス許可サービスなどの外部リソースに基づいて資格情報を検証すること
ができます。詳細については、
『Adobe Flash Media Server 開発者ガイド』を参照してください。
サーバーのセキュアな設定
Administration Console のセキュリティの確保
管理者は以下の方法を使用して、Administration Console にへのアクセスをセキュアなものにします。
• 管理者であるユーザーとそのパスワードを定義します。『Adobe Flash Media Server 設定および管理ガイド』の
48 ページの「管理者の管理」を参照してください。
•
管理者であるユーザーが必要とする、または管理者であるユーザーに対して許可しない、IP アドレスの範囲またはド
メイン名を定義します。
『Adobe Flash Media Server 設定および管理ガイド』の「Admin」を参照してください。
• 管理者用の接続ポートを定義し、ファイアウォールの内側にいるユーザーのみにアクセスを許可します。『Adobe
Flash Media Server 設定および管理ガイド』の 48 ページの「管理者の管理」を参照してください。
サーバーのパフォーマンスの確保
管理者は以下の方法を使用して、パフォーマンスレベルが維持されるようにサーバーを設定できます。
•
•
サーバーのアクセスとアプリケーションイベントをログに記録します。
スレッド数の制限、ガベージコレクションの間隔、ストリームの割り当てサイズなどのパフォーマンスパラメータを
設定します。
•
アプリケーションインスタンス、ストリームおよび共有オブジェクトに対して制限を設定し、アプリケーションがコ
ンピュータ上のすべてのディスクスペースを消費しないようにします。
•
アプリケーションの帯域幅の容量を制限し、1 つのアプリケーションがコンピュータ上のすべてのネットワーク帯域
幅を消費しないようにします。
•
アプリケーションに接続するクライアントのデフォルトの帯域幅を設定します。
詳細については、
『Adobe Flash Media Server 設定および管理ガイド』の 8 ページの「サーバーの設定」を参照してくだ
さい。
サーバーサイドスクリプトのセキュリティ
スクリプトのメモリ使用量の制限
Application.xml 設定ファイルの JSEngine セクションでは、仮想ホストのサーバーサイド ActionScript が使用できる
メモリ容量を制限できます。
ガベージコレクションの実行頻度、関数の実行に使用できる最大時間、スクリプトライブラリのパスなど、JavaScript
(サーバーサイド ActionScript)エンジンの他の面についても設定が可能です。
設定ファイルの編集の詳細については、『Adobe Flash Media Server 設定および管理ガイド』の 12 ページの「設定ファ
イルの操作」を参照してください。JavaScript エンジンの設定の詳細については、
『Adobe Flash Media Server 設定およ
び管理ガイド』の「JSEngine」を参照してください。
ADOBE FLASH MEDIA SERVER 23
技術概要
スクリプトのセキュアな読み込み
Flash Media Interactive Server のスクリプトセキュリティモデルでは、悪意がある、またはバグを生じる可能性がある
サードパーティ製のコードがサーバーサイドに含まれている場合に、それらのコードとの接触を制限することができま
す。このスクリプトセキュリティモデルでは、サードパーティ製のコード内の無限ループなどのエラー状態を検出した
り、その実行を防止したりすることはできません。しかし、任意に接続を作成したり、ファイルオブジェクトに対して読
み取りや書き込みを行ったりするような、潜在的な危険のある機能を阻止したり制限したりする場合に役立ちます。
スクリプトのセキュリティは、外部ソースからコードを読み込んで評価する、ダイナミックに拡張可能なアプリケーショ
ンを構築する場合に非常に重要です。
アプリケーションが開始されると、サーバーはアプリケーションのフォルダで secure.asc ファイルを探します。ファイル
が存在する場合は、サーバーによって読み込まれます。この間に、protectObject() メソッドと getGlobal() メソッ
ドが使用可能になります。これらのメソッドを使用して、通常のアプリケーションの実行中には不可能な方法で、グロー
バルな関数、クラスおよびオブジェクトを操作します。getGlobal() メソッドは、secure.asc ファイルの読み込み中に、
このファイルからグローバルオブジェクトへのアクセスを提供します。protectObject() メソッドは、アプリケーショ
ンコードがオブジェクトのメソッドに直接アクセスしたり、メソッドを調べたりしないようにします。
protectObject() メソッドは、secure.asc ファイル内でのみ使用できます。サーバーが secure.asc ファイルの読み込み
を完了すると、これらのメソッドは使用できなくなります。サーバーは次に、main.asc ファイルと他のスクリプトを通
常の方法で読み込みます。
詳細については、
『Server-Side ActionScript Language Reference for Adobe Flash Media Server』を参照してください。
セキュアなアプリケーションシナリオ
すべてのサーバーエディションに、ビデオストリームを保護するための多数の方法が用意されています。このシナリオの
例では、外部認証、暗号化された Real-Time Messaging Protocol(RTMPE)および接続する SWF ファイルを検証す
る機能を使用しています。
外部認証 外部のアプリケーションサーバー(J2EE ベースのサーバーなど)とデータベースに対してクライアントを認証
します。
SWF ファイルの検証 接続する SWF ファイルと、サーバーに格納されている SWF ファイルのコピーを比較して、SWF
ファイルを検証します。検証済みの SWF ファイルのみがサーバー上のコンテンツにアクセスできます。
RTMPE RTMPE はクライアントとサーバーの間で、128 ビットの暗号化されたデータを送信します。クライアントで実
行されている検証済みの SWF が RTMPE 経由で Flash Media Server に要求を送信すると、Flash Media Server がライ
ブコンテンツまたは記録されたコンテンツをストリーミングします。送信中、ストリームは暗号化されます。
ADOBE FLASH MEDIA SERVER 24
技術概要
B
1
HTTPS
2
A
3
RTMPE
4
C
このセキュアなビデオアプリケーションは、サーバーにあるコンテンツの要求をクライアントに許可する前に、アプリケーションサーバーを使用し
てクライアントを認証します。
A. Flash Player または AIR クライアント B. データベースがあるアプリケーションサーバー C. Flash Media Server
1. HTTPS 認証要求 2. 認証の応答 3. コンテンツの RTMPE 要求による SWF 検証のトリガ 4. クライアントへのコンテンツストリーム
注意 : ビデオをパブリッシュするときは、非常に多くの視聴者がいる可能性があり、ユーザー数が数百万に達する可能性
もあります。このような場合、アプリケーションサーバーとデータベースによってユーザーを認証するのは現実的ではあ
りません。パブリッシュを行うときは、RTMPE 経由の接続を許可する前に、外部認証を省き、SWF ファイルの検証の
みを行うことができます。
索引
索引
数字
Client.writeAccess プロパティ 21
M
302 リダイレクト 6
core.log ファイル 19
M4A ファイル形式 13
3G2 ファイル形式 13
3GP ファイル形式 13
A
master.log ファイル 19
E
Microphone クラス 14
ECMAScript 15
MOV ファイル形式 13
edge.log ファイル 19
Mozilla SpiderMonkey 15
AAC コーデック 12
MP3 コーデック 12
Access プラグイン 16, 21
F
MP4 ファイル形式 13
access.log ファイル 19
F4V ファイル形式 13
MPEG-4 標準 12
Action Message Format(AMF)6
File クラス 15
ActionScript 10, 13, 14
File プラグイン 16
N
ActionScript 1.0 10, 15
Flash Lite 10
Nellymoser コーデック 12
Adaptor.xml ファイル 18
Flash Media Administration Server 19
NetConnection クラス 14, 15
admin.log ファイル 19
NetConnection.call() メソッド 14
Administration API 16
Flash Media Development Server 2,
13, 14, 15
Administration Console 19, 22
Flash Media Encoder 8, 12
Adobe AfterEffects 13
Flash Media Interactive Server 1, 9, 13,
14, 15
Adobe Flash 14
Adobe Flex 14
Adobe Premiere 13
O
On2 VP6 コーデック 12
Flash Media Streaming Server 1
Flash Player 10, 12
バージョン、確認 21
ADPCM コーデック 12
AIR(Adobe Integrated Runtime)
10, 12
NetStream クラス 14, 15
P
PC カメラ 12
FLV ファイル形式 13
FLVCheck ツール 19
R
Application クラス 15
FLVPlayback コンポーネント 6
application.log ファイル 19
fms.ini ファイル 18
RTMP(Real-Time Messaging
Protocol)10
Application.xml ファイル 18, 22
FMSCheck ツール 19
RTMPE 20
RTMPS 20
Authorization プラグイン 16, 21
H
C
H.264 コーデック 12
S
C++ プラグイン、「プラグイン」を参照
httpcache.log ファイル 19
Server.xml ファイル 18
SharedObject クラス 13, 14, 15
Camera クラス 14
Client クラス 14, 15
Client.audioSampleAccess
プロパティ 21
I
IPv6 への準拠 6
SharedObject.getRemote()
メソッド 14
SOAPCall クラス 15
Client.call() メソッド 14
J
SOAPFault クラス 15
Client.ip プロパティ 21
JavaScript 15
Sorenson Spark コーデック 12
SSL 11, 20
Client.readAccess プロパティ 21
Client.referrer プロパティ 21
Client.videoSampleAccess
プロパティ 21
L
Stream クラス 15
LoadVars クラス 15
SWF ファイル、検証 21
Log クラス 15
Logger.xml ファイル 18
25
索引
Flash Media Administration
Server 19
T
TCP/IP 10
U
せ
セキュリティ
FLVCheck ツール 5
コンテンツの保護 21
FMSCheck ツール 5
サーバーのアクセス、制御 21
サンプルシナリオ 23
Users.xml ファイル 18
き
新機能 3
共有オブジェクト 13
V
vhost、「仮想ホスト」を参照
Video クラス 14
VOD サービス 3
プロトコル 20
接続
く
RTMP 11
クライアント 10
SSL 20
検証 21
アクセスの制御 16
クライアントサーバーアーキテクチャ 10
W
W3C 形式 19
WebService クラス 16
エッジサーバー 17
クライアントサイド ActionScript、
外部ソース 14
「ActionScript」を参照
セキュア 20
クラスタ化 17
説明 10
X
XML 12
ドメイン、許可および拒否 21
け
権限 16
設定 18
XML クラス 16
XML 設定ファイル 18
そ
こ
XMLSocket クラス 16
広告、ストリームに挿入 7
XMLStreams クラス 16
コーデック
AAC 12
あ
ADPCM 12
アダプタ 18
ソーシャルメディア 9, 12
た
帯域幅 22
H.264 12
アプリケーション
MP3 12
インスタンス 14
Nellymoser 12
説明 11
て
データモデル 13
デプロイメント
On2 VP6 12
アプリケーションサーバー 10
エッジサーバー 17
Sorenson Spark 12
クラスタ 17
コンテンツ配信ネットワーク(CDN)7
え
と
エッジサーバー 17
エディション
Flash Media Development Server 2
さ
トンネリング 11
サーバーサイド ActionScript 10, 13, 14,
15, 22
Flash Media Interactive Server 1
に
認証 22
Flash Media Streaming Server 1
し
比較 2
システム要件 3
は
パフォーマンス 4, 22
か
す
外部ソース、接続 14
ストリーミング
仮想ホスト 18
サイズ、制限 22
ガベージコレクション 22
真の 20
管理 19
説明 12
Administration API 16
プログレッシブ 20
Administration Console 19, 22
ライブメディア 3
パブリッシュ
説明 12
ビデオオンデマンド 3
マルチポイント 3, 8
ライブビデオ 3
26
索引
ひ
ほ
ビデオオンデマンド 3, 6
ポート 11
ビデオプレーヤー 6
保存場所 21
標準への準拠 6
ホワイトリストへのドメインの登録 21
ふ
ま
ファイル形式
マルチポイントパブリッシュ 8
3G2 13
3GP 13
め
F4V 13
メタデータ 3
FLV 13
メディアの記録 12
MOV 13
MP4 13
MP4V 13
プラグイン
ら
ライブサービス 3
ライブビデオ 3, 6, 8
Access プラグイン 16, 21
Authorization プラグイン 16, 21
File プラグイン 16
ブラックリストへのドメインの登録 21
り
リダイレクト 6
リモートメソッド呼び出し(RMI)14
プロトコル
HTTP 10
RTMP 10, 11
RTMPE 11, 20
RTMPS 11
RTMPT 11
RTMPTE 11
SSL 20
TCP/IP 10
セキュア 20
ろ
ロードバランシング 17
ロギング 19
27