Red5 - オープンソースFlashサーバー †
Red5とは? †
rtmp(real time messaging protocol)プロトコルを通して、FlashPlayerとリアルタイムにストリーミングやメッセージングを行うためのオープンソースのサーバーです。Adobeの商品「Flash Media Server」と同様の機能を持っています。
Red5はJavaで実装されているため、バックエンドとの連携もスムーズです。OpenLaszloサーバーが動く環境であればRed5は動作するため、OpenLaszloとの相性もよいと言えるでしょう。
どんなことにつかえるの? †
映像、音声のストリーミングや録画はもちろん、SharedObjectによるデータの共有、Push配信などアイデア次第でいろいろ活用できるでしょう。例えば、、、
- リアルタイムマルチプレーヤーゲーム
- マルチユーザービデオチャット
- 音楽、オーディオのストリーミング
- ビデオ、映像のストリーミング
- ライブストリーミング(ライブコンサート、オンライン会議、ホワイトボードアプリケーションなど)
- ビデオの録画 (オンラインチュートリアル、オンライン面接、オンラインレクチャーなど)
- 音声の録画 (オンラインミュージックコラボレーションなど)
ダウンロード †
インストール †
- windowsの場合はインストーラーを実行するだけで自動的にサービスに追加してくれます。
- 他のシステムでは適当なディレクトリにコピーして、解凍、red5.shを実行することでサーバーを起動します。
実行テスト †
Red5にはソース付きでswfのサンプルが付属しています。まずは一番簡単なBallControl.swfを使って正常にRed5がインストールされ、動作するかテストしてみましょう。
- まずブラウザのウィンドウを2枚立ち上げます。
- [Red5_root]/swf/DEV_Deploy/BallControl.swfを両方のブラウザウィンドウから開きます。
- 接続アイコンをクリックして、黄色の5アイコンが緑色になれば接続成功です。
- 両方のウィンドウで接続し、Red5の画像をドラッグすれば両方のウィンドウで画像が同じ位置に移動することが確認できます。

OpenLaszloから利用 †
OpenLaszloからRed5に接続するには、ActionScriptのNetConnectionクラスを使います。
メソッド内で次のようにrtmpのURLを指定して接続します。
this.con = new NetConnection();
this.con.connect("rtmp://localhost/SOSample");
rtmpとはMacromedia独自のTCP/IPプロトコルで標準では1935ポートを利用します。 最後のSOSampleがRed5のサーバー側のアプリケーションです。red5ディレクトリのWebapps内に配置されています。 クライアントが接続した際や、サーバー側に保存している映像リストなどの処理が必要となった場合にはここに新しいWEBアプリケーションを作成します。
共有オブジェクト用のSharedObjectクラスやストリーミング用のNetStreamクラス へはここで作成したコネクションインスタンス(ここではcon)を利用して接続します。
FlashNetConnection用LZXライブラリ †
イベント処理や接続メソッドをまとめてLZXから簡単に利用するためにライブラリを作成しています。
SharedObjectを利用した簡単なチャットアプリケーションの作成 †
ここではSharedObjectを利用して一番シンプルなチャットアプリケーションを作成してみましょう。ログイン処理や、ビデオ、音声の共有などは次のチュートリアルで扱うことにします。
2006.7.30.TOG
Last-modified: Tue, 01 Aug 2006 09:56:13 JST (1494d)

