ログイン | ユーザ登録  |
wiki top / Red5

Red5 - オープンソースFlashサーバー

http://www.osflash.org/red5

Red5とは?

rtmp(real time messaging protocol)プロトコルを通して、FlashPlayerとリアルタイムにストリーミングやメッセージングを行うためのオープンソースのサーバーです。Adobeの商品「Flash Media Server」と同様の機能を持っています。
Red5はJavaで実装されているため、バックエンドとの連携もスムーズです。OpenLaszloサーバーが動く環境であればRed5は動作するため、OpenLaszloとの相性もよいと言えるでしょう。

どんなことにつかえるの?

映像、音声のストリーミングや録画はもちろん、SharedObjectによるデータの共有、Push配信などアイデア次第でいろいろ活用できるでしょう。例えば、、、

  • リアルタイムマルチプレーヤーゲーム
  • マルチユーザービデオチャット
  • 音楽、オーディオのストリーミング
  • ビデオ、映像のストリーミング
  • ライブストリーミング(ライブコンサート、オンライン会議、ホワイトボードアプリケーションなど)
  • ビデオの録画 (オンラインチュートリアル、オンライン面接、オンラインレクチャーなど)
  • 音声の録画 (オンラインミュージックコラボレーションなど)

ダウンロード

  • windowsの場合はインストーラが付属した実行形式がこちらからダウンロードできます。
  • debianパッケージはこちらに用意されています。
  • 他のすべてのシステム用のtarballはこちらから。

インストール

  • windowsの場合はインストーラーを実行するだけで自動的にサービスに追加してくれます。
  • 他のシステムでは適当なディレクトリにコピーして、解凍、red5.shを実行することでサーバーを起動します。

実行テスト

Red5にはソース付きでswfのサンプルが付属しています。まずは一番簡単なBallControl.swfを使って正常にRed5がインストールされ、動作するかテストしてみましょう。

  1. まずブラウザのウィンドウを2枚立ち上げます。
  2. [Red5_root]/swf/DEV_Deploy/BallControl.swfを両方のブラウザウィンドウから開きます。
  3. 接続アイコンをクリックして、黄色の5アイコンが緑色になれば接続成功です。
  4. 両方のウィンドウで接続し、Red5の画像をドラッグすれば両方のウィンドウで画像が同じ位置に移動することが確認できます。
    red5test.png

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Counter: 23189, today: 7, yesterday: 0

Last-modified: Tue, 01 Aug 2006 09:56:13 JST (1494d)