SlideShare una empresa de Scribd logo
1 de 18
Red5




                                 2012 年 5 月 8 日
                                     乾 和志

Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -1-
Red5 とは

• 2005 年から Paul Guregoirer 氏らによって開発
• Flash Media Server 互換のストリーミングサーバ
  –   RTMP に準拠
  –   ストリーミング配信が可能
  –   共有オブジェクトを利用可能
  –   Flash Player 上で動作するソフトウェアからアクセスされる
  –   Action Script で開発
• Apache ライセンスで配布開始 (元は LGPL )
• 現在のバージョンは、 1.0 RC1




         Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -2-
Red5 の名前の由来

• 「スターウォーズ」から来ています。
  デススターに攻撃を仕掛ける際にルーク・スカイウォー
  カーが呼ばれていた機体のコールサインが  "Red Five“
• デモでスターウォーズの予告編が見られる。




     Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -3-
Red5 の特徴

• 音声ファイル・動画ファイルのストリーミング配信が可
  能
• ストリーミング映像の録画が可能
• 共有オブジェクトをサポート
• ライブ映像のリアルタイム配信が可能
• サーバ・クライアント間でのメソッド呼び出しが可能




    Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -4-
具体的に何ができる?

• ライブ配信システム
 – ライブ中継など
• テレビ会議システム
 – 映像・ホワイトボード・チャットなど
• ペーパレス会議システム
 – 資料共有など




• マルチプラットフォーム対応
 – Windows 、 MacOS 、 Android ( Adobe Air を使用)、 iOS
   ( Adobe Air を使用)



       Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -5-
動画配信方式

• ダウンロード配信
 – すべてダウンロードしてから再生される。
 – 特別なサーバは必要ない。 SWF に組み込む。
 – SWF ロードに時間がかかる
• プログレッシブダウンロード配信
 – ダウンロードしながら(バッファリングしながら)再生される
   。
 – 特別なサーバは必要ない。 SWF のプレーヤがロードする。
• ストリーミング(リアルタイムストリーミング)配信
 – ダウンロードしながら(バッファリングは最低限度で)再生さ
   れる。
 – 動画の途中からでも再生可能。
 – 特別なサーバが必要。

     Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -6-
ストリーミング配信とは?

• 特定のプロトコルにより、映像・音声データを逐次送受
  信を行いながら再生する。
 – 例) Flash Media Server では、 RTMP プロトコルによるデー
   タ送受信




      Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -7-
ストリーミングサーバとは?

• Windows Media Technology
   – Windows Media 、 H264 、 MPEG2 の配信
• Helix Universal Server
   – RealMedia 、 Windows Media 、 QuickTime 、 MPEG4 の配信
• Flash Media Server
   – Flash Video 、 H264 、 MPEG4 の配信




          ブラウザのプラグインの普及率で Flash が有利か。




          Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -8-
Flash でのストリーミング方法

• 各種プロトコルによって配信
 – RTMP
    • ストリーミングプロトコル
 – RTMPT
    • HTTP でのトンネリング
 – RTMPS
    • SSL
 – RTMPE ( Red5 では使えない。)
    • Adobe 独自の DRM プロトコル




      Copyright © Infoscience Corporation. All rights reserved.   06/04/12   -9-
FMS と Red5 の違い

                               Red5                          FMS
価格                             無料                            有料
サーバサイド                         Java                          Action Script
安定性                            △                             ○
クラスタリング                        △                             ○
プロトコル                          △                             ○




 Copyright © Infoscience Corporation. All rights reserved.                   06/04/12   - 10 -
Red5 での開発

• クライアント・サイドは Action Script
  –   Adobe Flash
  –   Adobe Flex
  –   OpenLaszlo ( http://www.openlaszlo.org/)
  –   FlashDevelop ( http://flashdevelop.jp)
• サーバ・サイドは Java ( FMS は Action Script )
  – Eclipse
  – NetBeans




           Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 11 -
Red5 における大規模配信

• オリジン・エッジ構成                                                       受信側


                                                      エッジ
                                                      サーバ          受信側


                                                                   受信側
                   オリジ
                                                      エッジ
送信側                ンサー
                                                      サーバ          受信側
                    バ


                                                                   受信側
                                                      エッジ
                                                      サーバ
                                                                   受信側


       Copyright © Infoscience Corporation. All rights reserved.    06/04/12   - 12 -
Red5 の利用例

• ニコキャスト( http://live.nicocast.com/)
   – 無料のストリーミング配信サイト
• BigBlueButton ( http://www.bigbluebutton.org/)
   – オープンソースの Web 会議システム
• Open Meetings (
  http://code.google.com/p/openmeetings/)
   – オープンソースの Web 会議システム
   – 2011 年 11 月 12 日、 Apache Incubator Project に。




          Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 13 -
Red5 以外の実装

• Wowza ( http://www.wowza.com)
   – Adobe の元社員が開発
   – 995 ドル / 台(サーバ)



• RubyIZUMI ( http://osflash.org/projects/rubyizumi)
   – Ruby による実装。 2008 年で更新が止まっている模様
• kamaitachi ( http://bm11.kayac.com/project/kamaitachi/
  )
   – Perl による実装
• RTMPy ( http://rtmpy.org/)
   – Python による実装。 2 年前から更新なし。


          Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 14 -
Red5 でのプログラミング (送信側
    )
• 送信側
  Camera camera = Camera.getCamera();
  Microphone mic = Microphone.getMicrophone();
  NetConnection nc = new NetConnection();

  nc.connect(“rtmp://live.soba-project.com/apl”)

  // ローカルでの表示
  Video video = new Video(320, 240);
  Video.attachCamera(camera);

  // リモートへの送信
  NetStream ns = new NetStream(nc);
  ns.attachCamera(camera);
  ns.attachAudio(mic);

  ns.publish(“channel0”)

        Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 15 -
Red5 でのプログラミング (受信側
    )
• 受信側
  NetConnection nc = new NetConnection();
  Nc.connect(“rtmp://live.soba-project.com/apl”);

  NetStream ns = new NetStream(nc);

  Video video = new Video(320, 240);
  Video.attachNetStream(ns);
  stream.play(“channel0”);




        Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 16 -
デモ

• SOBA Live のデモンストレーション




      Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 17 -
最後に

• 非常に簡単に映像・音声アプリケーションを作成可能
• アプリケーションの同期(共有オブジェクト)も作りや
  すい
• Air により、 iOS や Android にも対応が容易



• Red5 1.0 RC1 は、クラスタリングが動かないなどの問
  題も
• まだまだ商用アプリが少ない。
• 今後の進化により、商用アプリも増える可能性。
• そうでなければ Wowza に。

      Copyright © Infoscience Corporation. All rights reserved.   06/04/12   - 18 -

Más contenido relacionado

Similar a Red5

【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介Shinichiro Yoshida
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15Hiroshi Bunya
 
Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトnormalian
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座Shinichiro Yoshida
 
ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みYusuke Goto
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowEmma Haruka Iwao
 
クラウド概要 by Engine Yard
クラウド概要 by Engine Yardクラウド概要 by Engine Yard
クラウド概要 by Engine YardYu Kitazume
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムsatsuki fukazu
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server EnvironmentYukimitsu Izawa
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!KLab株式会社
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?Developers Summit
 
VPC【VPN接続編]】
VPC【VPN接続編]】VPC【VPN接続編]】
VPC【VPN接続編]】Takuo Watanabe
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例gree_tech
 

Similar a Red5 (20)

【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15
 
OSC Kansai@Kyoto
OSC Kansai@KyotoOSC Kansai@Kyoto
OSC Kansai@Kyoto
 
Windows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイトWindows Azure Media Serviceで作成する割と普通な動画サイト
Windows Azure Media Serviceで作成する割と普通な動画サイト
 
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
ABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組みABEMA を次のフェーズへ進化させる技術への取り組み
ABEMA を次のフェーズへ進化させる技術への取り組み
 
組込み向けRuby処理系mrubyの可能性
組込み向けRuby処理系mrubyの可能性組込み向けRuby処理系mrubyの可能性
組込み向けRuby処理系mrubyの可能性
 
Ceph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and HowCeph Loves OpenStack: Why and How
Ceph Loves OpenStack: Why and How
 
クラウド概要 by Engine Yard
クラウド概要 by Engine Yardクラウド概要 by Engine Yard
クラウド概要 by Engine Yard
 
OSSで作るOpenStack監視システム
OSSで作るOpenStack監視システムOSSで作るOpenStack監視システム
OSSで作るOpenStack監視システム
 
RVM with Server Environment
RVM with Server EnvironmentRVM with Server Environment
RVM with Server Environment
 
LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!LL言語でもHudsonを使おう!
LL言語でもHudsonを使おう!
 
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
デブサミ2013【15-E-2】Ruby開発者のみなさん、mrubyで楽しく快適な組み込みアプリ開発を始めませんか?
 
VPC【VPN接続編]】
VPC【VPN接続編]】VPC【VPN接続編]】
VPC【VPN接続編]】
 
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
Java Clientで入門する Apache Kafka #jjug_ccc #ccc_e2
 
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
Cocos2d-x 3.0を使ったゲーム “消滅都市” の開発事例
 
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreadingApache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
Apache Big Data Miami 2017 - Hadoop Source Code Reading #23 #hadoopreading
 

Más de あしたのオープンソース研究所   (12)

Friendica_28th_AshitanoKen
Friendica_28th_AshitanoKenFriendica_28th_AshitanoKen
Friendica_28th_AshitanoKen
 
Apache UIMA
Apache UIMAApache UIMA
Apache UIMA
 
Flume
FlumeFlume
Flume
 
Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)Gephi Quick Start (Japanese)
Gephi Quick Start (Japanese)
 
Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)Gephi Tutorial Visualization (Japanese)
Gephi Tutorial Visualization (Japanese)
 
Cassandra v0.6-siryou
Cassandra v0.6-siryouCassandra v0.6-siryou
Cassandra v0.6-siryou
 
MongoDB
MongoDBMongoDB
MongoDB
 
Rails.20110405
Rails.20110405Rails.20110405
Rails.20110405
 
S4
S4S4
S4
 
machine learning & apache mahout
machine learning & apache mahoutmachine learning & apache mahout
machine learning & apache mahout
 
20100831.あしたの研第14回座談会moses.スライド
20100831.あしたの研第14回座談会moses.スライド20100831.あしたの研第14回座談会moses.スライド
20100831.あしたの研第14回座談会moses.スライド
 
Cassandra 分散データベース
Cassandra 分散データベースCassandra 分散データベース
Cassandra 分散データベース
 

Último

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 

Último (8)

TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 

Red5

  • 1. Red5 2012 年 5 月 8 日 乾 和志 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -1-
  • 2. Red5 とは • 2005 年から Paul Guregoirer 氏らによって開発 • Flash Media Server 互換のストリーミングサーバ – RTMP に準拠 – ストリーミング配信が可能 – 共有オブジェクトを利用可能 – Flash Player 上で動作するソフトウェアからアクセスされる – Action Script で開発 • Apache ライセンスで配布開始 (元は LGPL ) • 現在のバージョンは、 1.0 RC1 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -2-
  • 3. Red5 の名前の由来 • 「スターウォーズ」から来ています。 デススターに攻撃を仕掛ける際にルーク・スカイウォー カーが呼ばれていた機体のコールサインが  "Red Five“ • デモでスターウォーズの予告編が見られる。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -3-
  • 4. Red5 の特徴 • 音声ファイル・動画ファイルのストリーミング配信が可 能 • ストリーミング映像の録画が可能 • 共有オブジェクトをサポート • ライブ映像のリアルタイム配信が可能 • サーバ・クライアント間でのメソッド呼び出しが可能 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -4-
  • 5. 具体的に何ができる? • ライブ配信システム – ライブ中継など • テレビ会議システム – 映像・ホワイトボード・チャットなど • ペーパレス会議システム – 資料共有など • マルチプラットフォーム対応 – Windows 、 MacOS 、 Android ( Adobe Air を使用)、 iOS ( Adobe Air を使用) Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -5-
  • 6. 動画配信方式 • ダウンロード配信 – すべてダウンロードしてから再生される。 – 特別なサーバは必要ない。 SWF に組み込む。 – SWF ロードに時間がかかる • プログレッシブダウンロード配信 – ダウンロードしながら(バッファリングしながら)再生される 。 – 特別なサーバは必要ない。 SWF のプレーヤがロードする。 • ストリーミング(リアルタイムストリーミング)配信 – ダウンロードしながら(バッファリングは最低限度で)再生さ れる。 – 動画の途中からでも再生可能。 – 特別なサーバが必要。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -6-
  • 7. ストリーミング配信とは? • 特定のプロトコルにより、映像・音声データを逐次送受 信を行いながら再生する。 – 例) Flash Media Server では、 RTMP プロトコルによるデー タ送受信 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -7-
  • 8. ストリーミングサーバとは? • Windows Media Technology – Windows Media 、 H264 、 MPEG2 の配信 • Helix Universal Server – RealMedia 、 Windows Media 、 QuickTime 、 MPEG4 の配信 • Flash Media Server – Flash Video 、 H264 、 MPEG4 の配信 ブラウザのプラグインの普及率で Flash が有利か。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -8-
  • 9. Flash でのストリーミング方法 • 各種プロトコルによって配信 – RTMP • ストリーミングプロトコル – RTMPT • HTTP でのトンネリング – RTMPS • SSL – RTMPE ( Red5 では使えない。) • Adobe 独自の DRM プロトコル Copyright © Infoscience Corporation. All rights reserved. 06/04/12 -9-
  • 10. FMS と Red5 の違い Red5 FMS 価格 無料 有料 サーバサイド Java Action Script 安定性 △ ○ クラスタリング △ ○ プロトコル △ ○ Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 10 -
  • 11. Red5 での開発 • クライアント・サイドは Action Script – Adobe Flash – Adobe Flex – OpenLaszlo ( http://www.openlaszlo.org/) – FlashDevelop ( http://flashdevelop.jp) • サーバ・サイドは Java ( FMS は Action Script ) – Eclipse – NetBeans Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 11 -
  • 12. Red5 における大規模配信 • オリジン・エッジ構成 受信側 エッジ サーバ 受信側 受信側 オリジ エッジ 送信側 ンサー サーバ 受信側 バ 受信側 エッジ サーバ 受信側 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 12 -
  • 13. Red5 の利用例 • ニコキャスト( http://live.nicocast.com/) – 無料のストリーミング配信サイト • BigBlueButton ( http://www.bigbluebutton.org/) – オープンソースの Web 会議システム • Open Meetings ( http://code.google.com/p/openmeetings/) – オープンソースの Web 会議システム – 2011 年 11 月 12 日、 Apache Incubator Project に。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 13 -
  • 14. Red5 以外の実装 • Wowza ( http://www.wowza.com) – Adobe の元社員が開発 – 995 ドル / 台(サーバ) • RubyIZUMI ( http://osflash.org/projects/rubyizumi) – Ruby による実装。 2008 年で更新が止まっている模様 • kamaitachi ( http://bm11.kayac.com/project/kamaitachi/ ) – Perl による実装 • RTMPy ( http://rtmpy.org/) – Python による実装。 2 年前から更新なし。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 14 -
  • 15. Red5 でのプログラミング (送信側 ) • 送信側 Camera camera = Camera.getCamera(); Microphone mic = Microphone.getMicrophone(); NetConnection nc = new NetConnection(); nc.connect(“rtmp://live.soba-project.com/apl”) // ローカルでの表示 Video video = new Video(320, 240); Video.attachCamera(camera); // リモートへの送信 NetStream ns = new NetStream(nc); ns.attachCamera(camera); ns.attachAudio(mic); ns.publish(“channel0”) Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 15 -
  • 16. Red5 でのプログラミング (受信側 ) • 受信側 NetConnection nc = new NetConnection(); Nc.connect(“rtmp://live.soba-project.com/apl”); NetStream ns = new NetStream(nc); Video video = new Video(320, 240); Video.attachNetStream(ns); stream.play(“channel0”); Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 16 -
  • 17. デモ • SOBA Live のデモンストレーション Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 17 -
  • 18. 最後に • 非常に簡単に映像・音声アプリケーションを作成可能 • アプリケーションの同期(共有オブジェクト)も作りや すい • Air により、 iOS や Android にも対応が容易 • Red5 1.0 RC1 は、クラスタリングが動かないなどの問 題も • まだまだ商用アプリが少ない。 • 今後の進化により、商用アプリも増える可能性。 • そうでなければ Wowza に。 Copyright © Infoscience Corporation. All rights reserved. 06/04/12 - 18 -