無料で使えるRed5とは?

2008年11月5日(水)
澤村 正樹

Red5でできること

 Red5はFlash Media Server互換のオープンソースによって作られているRTMPサーバーです。Javaで書かれているためLinuxなどUnix系のみならず、WindowsやMacなどJava5以上が動く環境であればどこでも動きます。Red5はRTMPを喋(しゃべ)るので、以下の3つが可能です。

1.動画または音声のストリーミング
2.Webカメラやマイクなどクライアントデータのサーバーでの保存
3.ライブストリーミング

 2は、クライアントPCのFlashから、そのPCにつながれたカメラやマイクなどを利用して動画や音声などをサーバー側に転送し、サーバー側でそのデータをflv形式のファイルとして保存することができます。つまりFlashを利用した簡易なレコーダーのようなものが作れます。

 1と2の組み合わせで実現できるのがライブストリーミングです。クライアントPCで入力したデータをそのままストリーミングすることによって、Flashのみでテレビ会議のようなものが実現できます。

FlashクライアントとRed5サーバーのやり取りでできること

 また、動画や音声を扱う場合以外にも、FlashクライアントとRed5サーバーとのやり取りをさせることにより、以下の2つが可能です。

 1つ目は、クライアントPCのFlashの中のActionScriptオブジェクトをサーバーとシンクロさせることによって、複数のクライアント間でオブジェクトの共有ができます。例えば、画面上のボールを動かすと、リモートにいる相手のPC上で表示されている同じFlashの中のボールが動く、といったことができます。

 2つ目は、AMF(Action Message Format)によるサーバー上のメソッド呼び出しがサーバー=クライアント間で可能です。これによってデータベースを使ったような、より複雑な機能が実現できます。また、AMFはFlashがサーバーと通信する時のバイナリデータの形式です。

 Red5は単に動画配信サーバーというわけではなくサーバー・クライアント間でメッセージをやり取りすることにより、よりインタラクティブな機能が実現できる可能性を秘めています。例えば、サーバーからのプッシュ技術を使うチャットやマルチプレーヤー・オンラインゲームなどが一例と言えるでしょう。AMFについてはAdobeのオープンソースプロジェクト「BlazeDS(http://opensource.adobe.com/wiki/display/blazeds/Developer+Documentation)」のページにて仕様が公開されています。

 ところで、どうやってオープンソースでAdobe社の独自プロトコルであるRTMPを実装しているのでしょうか。RTMPは非公開のプロトコルなので、特に公式に情報公開を受けて作っているわけではなく、FMSとの間に流れるパケットなどを解析してプロトコルの中身を推察して作っているそうです。

 次のページでは、Red5の現状と、本家のFMSと比べてどうなのか、という点について見て行きます。

NTTレゾナント株式会社
1976年生まれ、横浜国立大学電子情報工学科卒業。論文査読システムや写真ストックサイトなどのフロントエンドエンジニアリングを経て、角川書店系のウォーカープラス・ドット・コムにて各種サービス開発にかかわる。現在はNTTレゾナント「goo」にて検索サービスを中心としたエンジニアリングとユーザーインターフェース設計、および新サービスの企画立案に携わる。gooラボ:http://labs.goo.ne.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています