Adobe LabsにRTMFPプロトコルを扱う「Adobe Stratus」があります。現在はベータ版ですが、そろそろリリースが近いのではないかと思います。
RTMFP(Real-Time Media Flow Protocol)は、簡単に言うとRTMPの機能限定版です。リアルタイムの映像と音声配信に特化したプロトコルと言えます。Flash Player 10.1とStratus 2.0を使用するとアプリケーションレベルでマルチキャストを使用出来きるそうです。サーバを介す必要がないため、負荷を軽減出来るメリットがあります。
サンプルアプリケーション:
オンラインで公開されているサンプルアプリケーションもありますが、ローカルで動作させてみたい場合は、ソースコードが公開されているのでダウンロードして自由に試す事が出来ます。
Stratusオンラインサンプル
ソースコードダウンロード
ソースコードを実行する場合は以下の手順が必要です。
※要Flex Builder 3.0.2, Flash Player 10
1. Flex Builderで「新規Flexプロジェクト」で「VideoPhoneLabs」プロジェクトを作成します。
2. 以下のソースコードを「VideoPhoneLabs/src/」下にコピーします。
VideoPhoneLabs.mxml
AbstractIdManager.as
HttpIdManager.as
IdManagerError.as
IdManagerEvent.as
3.「VideoPhoneLabs」プロジェクトのプロパティを変更
「Flexコンパイラ」の「Flex SDK バージョン」を「Flex 3.2」へ変更
「Flexコンパイラ」の「必要な Flash Player バージョン」を「10.0.0」へ変更
4. Stratusベータ版のDeveloper keyを取得します。
Stratus developer key
5. Developer keyを「VideoPhoneLabs.mxml」に記述します。
// developer key, please insert your developer key here private const DeveloperKey:String = "取得したDeveloper key";
6. 同梱のPythonスクリプト「reg.cgi」が利用するSQLite3のデータベースを作成し、以下のSQLを実行します。
CREATE TABLE registrations (
m_username VARCHAR COLLATE NOCASE,
m_identity VARCHAR,
m_updatetime DATETIME,
PRIMARY KEY (m_username)
);
CREATE INDEX registrations_updatetime ON registrations (m_updatetime ASC);
[user@www ~]$ sqlite3 registrations.db # データベース作成 SQLite version 3.3.6 Enter ".help" for instructions # テーブル作成 sqlite> CREATE TABLE registrations ( ...> m_username VARCHAR COLLATE NOCASE, ...> m_identity VARCHAR, ...> m_updatetime DATETIME, ...> PRIMARY KEY (m_username) ...> ); sqlite> CREATE INDEX registrations_updatetime ON registrations (m_updatetime ASC); # 終了 sqlite> .quit
7.「reg.cgi」のデータベースファイルの場所を任意で変更します。
※「reg.cgi」と「registrations.db」を同階層に設置する場合は以下
# CHANGE THIS dbFile = './registrations.db'
8.「reg.cgi」を任意の場所にアップロードし、URLを「VideoPhoneLabs.mxml」に記述します。
// please insert your webservice URL here for exchanging private const WebServiceUrl:String = "http://設置URL/reg.cgi";
9.「VideoPhoneLabs」プロジェクトをコンパイルします。
10.「bin-release」ディレクトリに生成されたHTMLをWebサーバへアップロードして完了です。


