SlideShare une entreprise Scribd logo
1  sur  70
Télécharger pour lire hors ligne
2011年11月20日(日) 13:00-13:45
                           明星大学 28号館 501教室

          日本Red5ユーザー会 / 株式会社スタジオ・ゕルカナ
                                       吉田 紳一郎

#red5ug    Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.
1.はじめに
     5




          2.Red5入門編
     10




          3.電子会議室システムを作ってみよう
     15




          4.Red5応用編
     5




          5.おわりに
     5




#red5ug      Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   2
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   3
その前に!

#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   4
Red5ユーザ会
          ハッシュタグ

#red5ug    Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   5
自己紹介
           吉田 紳一郎(よしだ しんいちろう)
           日本Red5ユーザ会                     会長 (http://www.red5.gr.jp/)

           株式会社スタジオ・ゕルカナ                                       所属 (http://www.s-arcana.co.jp/)
              システムエンジニゕ / プログラマ
              PHP/JavaScript/ActionScript/Java/Rubyなど、Web系開発に従事。

           講演活動など
               OpenSourceConference 2010 Tokyo/Spring セミナー講師
               産業技術大学院大学 InfoTalk#18 セミナー講師
               OpenSourceConference 2010 Tokyo/Fall セミナー講師
               Flex勉強会 第130回 東京 ラ゗トニングトーク
               OpenSourceConference 2011 Tokyo/Spring セミナー講師

           Twitter: http://twitter.com/yossy222
           Facebook: http://facebook.com/yossy222

#red5ug                    Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   6
概要
           Red5とFlashを使った動画配信技術について
           Red5を採用したシステムの簡単な仕組みについて

   対象者
           Flashの動画再生技術に興味のある方
           サーバーサ゗ドFlash・ストリーミングについて知りたい方
           Flash Media Serverを使いたいと思ったことがある方

   目的
           Red5をもっと普及させたい!
           Ustreamやニコ生みたいなサービスがもっと出てほしい!
           映像によるリゕルタ゗ムウェブの時代が早く来てほしい!

#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   7
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   8
動画配信方式の違い

   ダウンロード方式
           動画フゔ゗ルを最後までダウンロード完了してから再生

   疑似ストリーミング方式
           動画フゔ゗ルをダウンロードしながら再生(PCに残る)
           「プログレッシブダウンロード」とも呼ばれる

   リゕルストリーミング方式
           動画データをダウンロードしながら再生(PCに残らない)
           ラ゗ブストリーミングを実現するにはこの方式が必要


#red5ug          Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   9
疑似ストリーミング方式




                2005/12~                                                                    2006/12~




   リゕルストリーミング方式




                   2007/3~                                                                  2007/12~



#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.              10
1997   ▶ Real   Media(.rm)
            ▶ Quick   Time(.mov)
            ▶ Windows        Media Video(.wmv)
                 再生にはそれぞれ独自のソフトウェゕが必要

     2004   ▶Flash    Video(.flv)                                                                   ※Flashは1997年にリリース


               Flash   Playerさえあれば再生できる(高い普及率)
               ゗ンタラクテゖブな動きも表現できる

               リゕルストリーミングは                                      Flash Media Server が必要

     2010   ▶ 今後はHTML5動画配信も併用されていくかも?
                 H.264(.mp4), Theora (.ogv), WebM(.webm)
                 しかし、モバ゗ルのブラウザではHTML5で一本化しそう
#red5ug               Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                   11
 Adobe製のサーバーソフトウェゕ
          ⇨   ビデオストリーミング
          ⇨   リゕルタ゗ムコミュニケーション

      Flash Playerから接続可能
          ⇨   Flash Playerは全世界のPCで98%の普及率

      開発言語
          ⇨   Action Script で開発

      エデゖションは3つ
          ⇨   Flash Media Streaming Server (12万円程度)
          ⇨   Flash Media Interactive Server (62万円程度)
          ⇨   Flash Media Enterprise Server (オープン価格)

#red5ug               Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   12
 Adobe Flash Media Server互換のメデゖゕサーバ
          ⇨   RTMP(Real-Time Messaging Protocol)に準拠

      オープンソースソフトウェゕ
          ⇨   ラ゗センスはLGPL


      開発言語はJava
          ⇨   Linux, Windows, Mac OSX上で動作可能

      Red5本家サ゗ト
          ⇨   http://www.red5.org/

#red5ug               Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   13
 ビデオ映像のリゕルストリーミング (video on demand)
           保存された動画フゔ゗ルのストリーミング配信

       ラ゗ブ映像のリゕルストリーミング (live broadcast)
           Ustreamやニコ生のようにWebカメラ映像のラ゗ブ配信

       ラ゗ブ映像のレコーデゖング (live recording)
           Webカメラからの映像や音声をRed5サーバで録画

       リモート共有オブジェクト (remote shared object)
           複数クラ゗ゕント間でオブジェクトを共有

       リモートメソッド呼び出し (flash remoting)
           クラ゗ゕントからサーバサ゗ドのメソッド呼び出し
#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   14
 ビデオ映像のリゕルストリーミング (video on demand)
           保存された動画フゔ゗ルのストリーミング配信




#red5ug        Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   15
 ラ゗ブ映像のリゕルストリーミング (live broadcast)
           Ustreamやニコ生のようにWebカメラ映像のラ゗ブ配信




#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   16
 ラ゗ブ映像のレコーデゖング (live recording)
           Webカメラからの映像や音声をRed5サーバで録画




#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   17
 リモート共有オブジェクト (remote shared object)
           複数クラ゗ゕント間でオブジェクトを共有




#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   18
 リモートメソッド呼び出し (flash remoting)
           クラ゗ゕントからサーバサ゗ドのメソッド呼び出し




#red5ug        Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   19
DEMO
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   20
 事前準備
          ⇨   Java の実行環境が必要(Oracle社のサ゗トから取得)

      Red5の゗ンストーラを実行




                                                                                            ※゗ンストーラ以外にzip版もあり


#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.              21
 事前準備(Javaの実行環境)
    [root@linux ~]# yum install –y java



      Red5のダウンロードと展開
    [root@linux ~]# wget http://trac.red5.org/downloads/1_0/red5-1.0.0-RC1.tar.gz
    [root@linux ~]# tar zxvf red5-1.0.0-RC1.tar.gz



      Red5の起動
    [root@linux ~]# cd red5-1.0.0-RC1
    [root@linux ~]# sh ./red5.sh



#red5ug                Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   22
 Red5起動後はすぐにデモの確認が可能
          ⇨ http://localhost:5080/                               にゕクセス
          ⇨ チャット、ビデオ配信、ラ゗ブ配信、ラ゗ブ録画な
           どのサンプルゕプリを体験することができる




#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   23
バージョン                                                            主な機能
    0.0.0 (2005-08-31)       RTMPサポート、AMF0サポート
    0.2.0 (2005-10-21)       一般向け初版リリース、メデゖゕストリーミングサポート
    0.3.0 (2006-02-21)       ラ゗ブストリーミング、SharedObject、音声/映像レコード
    0.4.0 (2006-04-20)       RTMPTサポート、MP3ストリームサポート、metaデータAPI
    0.5.0 (2006-07-25)       リフゔクタリング、帯域制御、フロー制御
    0.6.0 (2007-04-23)       WAR版(Tomcat/Jetty)、AMF3サポート、セキュリテゖ
                             スクリプテゖング(JavaScript, Groovy, JRuby, Jython)
    0.7.0 (2008-02-23)       管理画面、Edge/Originクラスタリングサポート
    0.8.0 (2009-06-04)       RTMPSサポート、テステゖングサポート、Tomcatを標準に
    0.9.0 (2010-01-27)       H.264サポート、AACサポート、プラグ゗ン機構サポート
    1.0.0 (TBD)              RTMPEサポート
    ※2011/2/2にRC1公開          ※RTMFPは未対応


                  バージョン1.0.0正式版リリースは未定・・・

#red5ug                  Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   24
Red5 Application                                                               開発が必要




                             Red5 API                                            MBean

     Spring
   Framework                   Tomcat
    (DIコンテナ)                                                                                     RMI
                                                                                     JMX




                                                                                                         停止
                                                                                                 :9999
                         Apache Mina


                                            <RTMP> :1935


                                 Client                                 開発が必要


#red5ug        Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                25
商用ソフトウェゕ
          Adobe Flash                                         Action Script



                                                              オープンソース・無償
          Adobe Flex                                          MXML+ Action Script




          Open Laszlo                                         オープンソース・無償
                                                              LZX + Java Script




#red5ug     Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   26
デザ゗ナーとのワークフロー連携が容易に

            Adobe                                                            Adobe
          Photoshop                                                          Flash
                                                                                                               Adobe
                                                                                                            Flash Player



             Adobe
          Illustrator           Adobe
                                                             Adobe
                            Flash Catalyst
                                                          Flash Builder
                                                                                                              Adobe
                                                                                                               AIR
                                                                                Adobe
            Adobe                                                                Flex
          Fireworks




                                                                                                          Adobe製品を購入する
                                                                                                           必要ゕリですが。。
                デザ゗ナー                                    エンジニゕ
#red5ug                 Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                    27
クロスプラットフォーム対応

             Adobe                                                                                           Web
          Flash Player                                                                                     Browser




                                                                                                           Windows
                                                                                                           Mac OS
                                                                                                            Linux
            Adobe
             AIR


                                       AIR for Android                                                     Android




                                            AIR for iOS                                                      iOS



#red5ug                  Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.             28
 Adobeサ゗ト『Flashの真実』
          ⇨   http://www.adobe.com/jp/choice/flash.html




#red5ug                  Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   29
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   30
簡易電子会議室システムの作り方を通じて
      Red5の機能を紹介します。

                                                                                                  ユーザー

          ユーザー

                                    簡易電子会議室システム
                                                                                                         ユーザー


      ユーザー




                                                                                                      ユーザー
             ユーザー



#red5ug             Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.             31
今回開発するシステムは3画面で構成される
      シンプルな電子会議室システムです。
          ログ゗ン画面                           部屋選択画面                                                    会議室画面




                   コンセプトは “宇宙”・・・
                                      デモサ゗ト⇒ http://live.red5.gr.jp/osc2011-spring/

#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.           32
名前を入力して
                                                              ログ゗ンします




#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   33
部屋を選択し
                                                                            て入室します。




#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   34
会議室に入室してい
                                                                               るメンバーの映像が
                                                                                表示されます。



      自分の映像配信
      のON/OFFを切
       り替えます。                                                                                       部屋選択画面
                                                                                                    に戻ります。




#red5ug           Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.            35
iDC



                <3G>                    <ADSL>



          <WiMAX>

                                            Internet


               <Wi-Fi>

                                                                ゗ンターネット接続と
                                          <FTTH>



                                                                Flash/AIR環境のみ

#red5ug        Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.         36
DEMO
                             デモサ゗ト⇒ http://live.red5.gr.jp/osc2011-spring/

#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   37
クラ゗ゕント開発+サーバサ゗ド開発が必要

           クラ゗ゕント開発                                                           サーバーサ゗ド開発

          Adobe Flex                                                             Red5

          Adobe Flash Builder                                                    Java
                 EclipseベースのIDE

          Adobe Photoshop                                                        Eclipse IDE
                 デザ゗ナーさんが使用

          Adobe Flash Catalyst
                 PSDからMXMLに変換
                                                                     青点線は作業効率化のため使用


#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   38
red5-1.0.0-RC1             コンテキストパス: /conference
                                             • クラ゗ゕントが接続するURIが決まる
               conf                  Webハンドラ: jp.co.s_arcana.red5.MyApplication
                                             • クラ゗ゕントが接続した時に呼び出されるクラス

               webapps

                      conference                                                                         設定フゔ゗ル

                                WEB-INF                                                                  web.xml

                                                                                                         red5-web.xml
                                            classes

                                                         jp.co.s_arcana.red5
    デゖレクトリ構成は
    Servletとほぼ同じ!                                                   MyApplication.class

#red5ug                Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                  39
まず、ログ゗ン画面を例にして
          Red5へ接続するプログラムを簡単に説明します

           ログ゗ン画面                                                                部屋選択画面




#red5ug       Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   40
ユーザー




                    クラ゗ゕント側(ActionScript)
    var nc: NetConnection = new NetConnection();
    nc.connect( “rtmp://red5server/conference” );


     NetConnection#connect()でFlashPlayerからRed5へ接続
     プロトコルや接続先ゕプリケーションはURIで決まる
     RTMPはステートフルなので接続は永続的(繋ぎっぱ)

#red5ug           Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   41
ユーザー




                                     サーバ側(Java)
    package jp.co.s_arcana.red5;

    public class MyApplication extends ApplicationAdapter {
          public boolean connect ( IConnection, IScope, Object[] ) {
          hogehoge();
    }


     接続されるとMyApplication#connect()が呼び出される

#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   42
開発ゕプリケーション

     jp.co.s_arcana.red5                                                    org.red5.server.adapter

             MyApplication                                                            ApplicationAdapter

          +connect()
          +disconnect()
          +join()
          +leave()
          +start()                                                   Red5に用意されているAPIの
                                                                   ApplicationAdapter クラスを継承
          +stop()
                                                                   することで、ゕプリケーションの
            :                                                      エントリポ゗ントとなる仕組み。


#red5ug                   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   43
 ApplicationAdapter クラス
      Red5ゕプリケーション開発のエントリポ゗ント
      このクラスを継承することで、クラ゗ゕント接続や
       切断などをトリガーに特定メソッドが呼び出される
          • Servlet の HTTPServlet のような感じ
      connect(), disconnect(), join(), leave() メソッド
        • クラ゗ゕント接続時、切断時
      start(), stop() メソッド
        • ゕプリケーション開始時(≒Red5起動時)


#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   44
次に、ログ゗ン画面で入力した名前を
          Red5に送信するプログラムを簡単に説明します

           ログ゗ン画面                                                                部屋選択画面




#red5ug       Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   45
ユーザー




                     クラ゗ゕント側(ActionScript)
    nc.call( “setMyName” ,
             new Responder( function(result:Object) {
                                  fugafuga(result); } ),
             “my_name” );

     NetConnection#call()でRed5側のメソッドを呼び出せる
     第2引数のResponderでサーバからの戻り値を処理
     第3引数で名前文字列を引数として渡す
#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   46
ユーザー




                                      サーバ側(Java)
    public class Application extends ApplicationAdapter {
          public boolean setMyName (String name) {
          fugafuga(name);
          return true;
    }

    NetConnection#call()で指定されたメソッドが実行される
    引数には、入力した名前が渡される

#red5ug             Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   47
次に、部屋選択画面を例にして
          部屋に入室する際のプログラムを簡単に説明します

            部屋選択画面                                                                会議室画面




#red5ug        Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   48
各部屋には名前を付けています




                                                                                          room01



          room02

                                                                                          room03


#red5ug     Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.        49
ユーザー
                                                                                                    room01


                    クラ゗ゕント側(ActionScript)
    var nc: NetConnection = new NetConnection();
    nc.connect( “rtmp://host/conference/room01” );


     入室対象部屋はURIにより指定する仕組みにしている
     Red5ではURIにより”スコープ”(≒部屋)が自動生成
     この例では「room01」の部屋に入室

#red5ug           Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.            50
Red5内では ”部屋” の単位をスコープと呼ぶ。
          接続URIに従ってRed5内部で自動的に生成。


          ユーザー                               URI
                                                                                                           room01
                 rtmp:// host / conference / room01




                      default                        conference                                   room01
                 Global                           Web                                   Scope
                 Scope                           Scope

     ※ 斜体赤字 はスコープ名


#red5ug              Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                51
 GlobalScopeはRed5サーバに必ず1つ存在
          Global
          Scope     Red5スコープ階層構造の一番上位のスコープ
                    通常このスコープを使うことはない


                    WebScopeはゕプリケーションごとに1つ存在する
           Web
          Scope     このスコープに接続するとappConnect()が呼び出される
                    Applicationスコープとも呼称される


                    Scopeはゕプリケーションごとに複数存在できる
          Scope     このスコープに接続するとroomConnnect()が呼び出される
                    Roomスコープとも呼称される

#red5ug              Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   52
クラ゗ゕントは、各スコープにぶら下がる


          ユーザー      rtmp:// host / conference / room01
                                                                                                                 room01




                                                          conference                                   room01
                                                       Web                                   Scope
                                                      Scope
            Global
            Scope                                                                                               Client
                default
                                       Client                                    Client                Client
                                                         Client
     ※ 斜体赤字 はスコープ名

#red5ug                   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                 53
最後に、会議室画面でウェブカメラの
          映像を流すプログラムを簡単に説明します

                                        会議室画面




#red5ug     Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   55
ユーザー




                    クラ゗ゕント側(ActionScript)
    var nc: NetConnection = new NetConnection();
    nc.connect( “rtmp://host/conference/room01” );

    var ns: NetStream = new NetStream( nc );
    ns.publish( “uniqId” , “live” );


     NetStream#publish()で映像を配信する
     第1引数で一意の名前を指定、第2引数“live”でラ゗ブ配信

#red5ug           Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   56
ユーザー




                                     サーバ側(Java)
    package jp.co.s_arcana.red5;

    public class MyApplication extends ApplicationAdapter {
          public boolean streamPublishStart (IBroadcastStream) {
          fugafuga();
    }

    映像が流されるとMyApplication#streamPublishStart()が呼び出される


#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   57
 ApplicationAdapter クラス
      streamPublishStart () メソッド
           クラ゗ゕントから映像がpublishされたときに呼ばれる
           リゕルタ゗ムに映像を加工することも可能
             Xugglerというラ゗ブラリが公開されている


      streamBroadcastClose() メソッド
           クラ゗ゕントから映像がcloseされたときに呼ばれる




#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   58
ユーザー




                    クラ゗ゕント側(ActionScript)
    var nc: NetConnection = new NetConnection();
    nc.connect( “rtmp://host/conference/room01” );

    var ns: NetStream = new NetStream( nc );
    ns.play( “uniqId” );


     NetStream#play()でストリーミングを受信する
     第1引数でpublishされている一意の名前を指定
#red5ug           Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   59
映像
    On/Off                                               room01




                                                             room01                                  Client
          Client                                  Scope

                                                                                                          Client

                                         Broadcast
                                                                        play()                       Client
                     streamA               Scope



#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.                 60
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   63
Red5はクラスタリング機能もサポート
                                                  プロトコル:MRTMP(Multiplex RTMP)


          <RTMP>




                                           <MRTMP>

                                                                                                     <RTMP>




                    <RTMP>                            <RTMP>



#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.            64
JMX経由で内部の状態を確認することも可

                                                                                               ゕクテゖブ
                                                                                                接続数



                                                                                                トータル
                                                                                                 接続数



                                                                   接続中
                        転送                                        スコープ
                       データ量                                                                    などなど・・
                                                                                               デバッグに便利!
#red5ug      Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.           66
DEMO
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   67
JavaなOSSなのでEclipseからのデバッグも容易

                                                  スタック
                                                  トレース


          ブレーク
          ポ゗ント
                                                                                           変数の調査



                                                                   変数値の
                                                                   書き換え                            不具合調査に
                                                                                                   便利!

#red5ug          Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.            68
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   69
 日本Red5ユーザ会
          ⇨ 2010年4月に発足

          ⇨ 今はRed5の普及活動がメ゗ン

          ⇨ 日本語のコンテンツを充実
           させていく予定
   日本Red5ユーザ会URL
          ⇨ http://www.red5.gr.jp/



          Red5                                            検索

#red5ug            Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   70
「簡易電子会議室システム」のソースコードは
           日本Red5ユーザ会の関連サ゗トで公開中

           http://red5jp.googlecode.com/




#red5ug         Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   71
プロジェクトを読み込んでビルドするには
          Adobe Flash Builder が必要ですが、、、

     「FlashDevelop」でもコンパ゗ルできます!
                                                                      http://flashdevelop.org/
              オープンソースのコードエデゖタ (MIT License)
              ActionScript/MXMLのコーデゖング
              SWF のコンパ゗ル
              Adobe AIR ゕプリの生成


              日本のコミュニテゖもあります!
                 http://flashdevelop.jp/


#red5ug          Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   72
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.   74
#red5ug   Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.

Contenu connexe

Tendances

純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門Kimikazu Kato
 
オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話京大 マイコンクラブ
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...Yusuke Furuta
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチMasami Ichikawa
 
User story mapping TACO
User story mapping TACOUser story mapping TACO
User story mapping TACOAlvinTian2
 
Fugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedFugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedRCCSRENKEI
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底Hiromi Ishii
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)Shirou Maruyama
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像yaju88
 
2015年12月PRMU研究会 対応点探索のための特徴量表現
2015年12月PRMU研究会 対応点探索のための特徴量表現2015年12月PRMU研究会 対応点探索のための特徴量表現
2015年12月PRMU研究会 対応点探索のための特徴量表現Mitsuru Ambai
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門大樹 小倉
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画までShunji Umetani
 
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成Katsuhiro Morishita
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数Shinichi Kozake
 
設計してますか?
設計してますか?設計してますか?
設計してますか?ke-m kamekoopa
 
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会ROBOTIS Japan
 

Tendances (20)

純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門純粋関数型アルゴリズム入門
純粋関数型アルゴリズム入門
 
オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話オセロの終盤ソルバーを100倍以上高速化した話
オセロの終盤ソルバーを100倍以上高速化した話
 
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
現実世界コンピューティング RealSense とロボットと HoloLens (2019/04/24 Intel RealSense Japan Mee...
 
x86とコンテキストスイッチ
x86とコンテキストスイッチx86とコンテキストスイッチ
x86とコンテキストスイッチ
 
User story mapping TACO
User story mapping TACOUser story mapping TACO
User story mapping TACO
 
Fugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons LearnedFugaku, the Successes and the Lessons Learned
Fugaku, the Successes and the Lessons Learned
 
技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底技術者が知るべき Gröbner 基底
技術者が知るべき Gröbner 基底
 
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
文法圧縮入門:超高速テキスト処理のためのデータ圧縮(NLP2014チュートリアル)
 
実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像実践コンピュータビジョン 3章 画像間の写像
実践コンピュータビジョン 3章 画像間の写像
 
2015年12月PRMU研究会 対応点探索のための特徴量表現
2015年12月PRMU研究会 対応点探索のための特徴量表現2015年12月PRMU研究会 対応点探索のための特徴量表現
2015年12月PRMU研究会 対応点探索のための特徴量表現
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
llvm入門
llvm入門llvm入門
llvm入門
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
 
空間分割
空間分割空間分割
空間分割
 
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
Pythonによる、デジタル通信のための ビタビ符号化・復号ライブラリの作成
 
Javaメモリ勉強会
Javaメモリ勉強会Javaメモリ勉強会
Javaメモリ勉強会
 
たのしい高階関数
たのしい高階関数たのしい高階関数
たのしい高階関数
 
設計してますか?
設計してますか?設計してますか?
設計してますか?
 
ドロネー三角形分割
ドロネー三角形分割ドロネー三角形分割
ドロネー三角形分割
 
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
「Turtlebot3の紹介」 ROS Japan UG #10 勉強会
 

En vedette

TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座Shinichiro Yoshida
 
開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみたYusei Yamanaka
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識kumaryu
 
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」Shinichiro Yoshida
 
Onsen UIでアプリケーション作ってみた
Onsen UIでアプリケーション作ってみたOnsen UIでアプリケーション作ってみた
Onsen UIでアプリケーション作ってみたTakahiro Maki
 
スキスキIonic
スキスキIonicスキスキIonic
スキスキIonicKon Yuichi
 
HTML5ビデオ導入編
HTML5ビデオ導入編HTML5ビデオ導入編
HTML5ビデオ導入編Yuki Naotori
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーHideo Kimura
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話しますMoriyoshi Koizumi
 
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリアシアル株式会社
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)さくらインターネット株式会社
 

En vedette (11)

TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座TV会議をオープンソースで実現!RED5によるストリーミング配信講座
TV会議をオープンソースで実現!RED5によるストリーミング配信講座
 
開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた開発費0円でニコニコ生放送を作ってみた
開発費0円でニコニコ生放送を作ってみた
 
ライブストリーミングの基礎知識
ライブストリーミングの基礎知識ライブストリーミングの基礎知識
ライブストリーミングの基礎知識
 
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
【DevLOVE現場甲子園2014】【守】「テレビ×スマホで視聴者が番組に参加!そのメディア体験を支えるインフラと運用の舞台裏」
 
Onsen UIでアプリケーション作ってみた
Onsen UIでアプリケーション作ってみたOnsen UIでアプリケーション作ってみた
Onsen UIでアプリケーション作ってみた
 
スキスキIonic
スキスキIonicスキスキIonic
スキスキIonic
 
HTML5ビデオ導入編
HTML5ビデオ導入編HTML5ビデオ導入編
HTML5ビデオ導入編
 
Perl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバーPerl で作るメディアストリーミングサーバー
Perl で作るメディアストリーミングサーバー
 
HLSについて知っていることを話します
HLSについて知っていることを話しますHLSについて知っていることを話します
HLSについて知っていることを話します
 
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリAngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
AngularとOnsen UIで作る最高のHTML5ハイブリッドアプリ
 
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
Docker ホスティングサービス 'Arukas' での Mesos + Marathon の活用について(Mesos勉強会)
 

Similaire à リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介

OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』Shinichiro Yoshida
 
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Shinichiro Yoshida
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)Shinichiro Yoshida
 
OSC@京都 2011-07-15
OSC@京都 2011-07-15OSC@京都 2011-07-15
OSC@京都 2011-07-15Hiroshi Bunya
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsGo Sueyoshi (a.k.a sue445)
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkSho Yoshida
 
インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版Yusei Yamanaka
 
Dutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportDutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportYusuke Ando
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストAtsuhiro Kubo
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発konekto
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpYuji Kubota
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)NTT DATA OSS Professional Services
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術dena_study
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果Koichiro Sumi
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~Daisuke Futatsumori
 

Similaire à リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介 (20)

OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
OSC2011 Tokyo/Spring 『Red5とFlexで「簡易電子会議室システム」を作ってみよう!』
 
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
Red5とFlexで作るmixiアプリ「ビデオチャット」事例紹介
 
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
【OSC2011広島】共有アプリで遊ぼう!(日本Red5ユーザー会)
 
OSC福岡 20111203
OSC福岡 20111203OSC福岡 20111203
OSC福岡 20111203
 
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
 
ドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkinsドリコムを支える課金ライブラリを支えるJenkins
ドリコムを支える課金ライブラリを支えるJenkins
 
RUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践SmalltalkRUNNING Smalltalk - 実践Smalltalk
RUNNING Smalltalk - 実践Smalltalk
 
インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版インターネット生放送を支える技術としくみ2015年版
インターネット生放送を支える技術としくみ2015年版
 
Dutch PHP Conference 2009 report
Dutch PHP Conference 2009 reportDutch PHP Conference 2009 report
Dutch PHP Conference 2009 report
 
Eclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテストEclipse PDT + MakeGoodによるPHPコードのテスト
Eclipse PDT + MakeGoodによるPHPコードのテスト
 
PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発PHPにおけるRIA事情と開発
PHPにおけるRIA事情と開発
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
JavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jpJavaOne 2015 JDK Update (Jigsaw) #j1jp
JavaOne 2015 JDK Update (Jigsaw) #j1jp
 
MeeGo won't die
MeeGo won't dieMeeGo won't die
MeeGo won't die
 
SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
OpenJDKは使い物になるか?OpenJDKの実際と今後 (NTTデータ オープンソースDAY 2015 Autumn 講演資料)
 
FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術FFRKを支えるWebアプリケーションフレームワークの技術
FFRKを支えるWebアプリケーションフレームワークの技術
 
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
 
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~ネイティブ機能を利用するWebアプリの実例~PhoneGap×Rails~
ネイティブ機能を利用する Webアプリの実例 ~PhoneGap×Rails~
 

Plus de Shinichiro Yoshida

Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Shinichiro Yoshida
 
"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_studyShinichiro Yoshida
 
自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_studyShinichiro Yoshida
 
ルワンダの IT視察レポートだよ #sa_study
ルワンダのIT視察レポートだよ #sa_studyルワンダのIT視察レポートだよ #sa_study
ルワンダの IT視察レポートだよ #sa_studyShinichiro Yoshida
 
World Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyWorld Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyShinichiro Yoshida
 
React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話Shinichiro Yoshida
 
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-Shinichiro Yoshida
 
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyインターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyShinichiro Yoshida
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyShinichiro Yoshida
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyShinichiro Yoshida
 
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97Shinichiro Yoshida
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-Shinichiro Yoshida
 
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYardShinichiro Yoshida
 
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)Shinichiro Yoshida
 
オープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobeオープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@KobeShinichiro Yoshida
 

Plus de Shinichiro Yoshida (16)

Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
Laravel×DevOps -インフラ構築の自動化から運用ログの監視まで-
 
"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study"Oculus Go" と "Gear VR" のチガイ #sa_study
"Oculus Go" と "Gear VR" のチガイ #sa_study
 
自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study自己紹介&このスライドのデザインの作り方 #sa_study
自己紹介&このスライドのデザインの作り方 #sa_study
 
ルワンダの IT視察レポートだよ #sa_study
ルワンダのIT視察レポートだよ #sa_studyルワンダのIT視察レポートだよ #sa_study
ルワンダの IT視察レポートだよ #sa_study
 
World Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_studyWorld Wide Web with Virtual Reality #sa_study
World Wide Web with Virtual Reality #sa_study
 
React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話React + FLUX + Redux + Redux Saga のお話
React + FLUX + Redux + Redux Saga のお話
 
実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-実践 Redux Saga -Practical Redux Saga-
実践 Redux Saga -Practical Redux Saga-
 
インターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_studyインターネッツの繋がるしくみ(DNS編) #sa_study
インターネッツの繋がるしくみ(DNS編) #sa_study
 
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_studyインターネッツの繋がるしくみ(TCP/IP編) #sa_study
インターネッツの繋がるしくみ(TCP/IP編) #sa_study
 
インターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_studyインターネッツの繋がるしくみ(物理層編) #sa_study
インターネッツの繋がるしくみ(物理層編) #sa_study
 
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
AWS Opsworksを使ってPHPとLaravelが動くサーバーを構築してみよう!at phpstudy#97
 
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
~新しい着回しと出会おう~ 『XZ(クローゼット)』 を支える技術 -Cordova編-
 
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
簡単/動画共有サービス『REPRE(リプレ)』の紹介|第75回PHP勉強会LT@EngineYard
 
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)【OSC2011広島】Red5デモ(日本Red5ユーザー会)
【OSC2011広島】Red5デモ(日本Red5ユーザー会)
 
オープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobeオープンソースカンファレンス2011 Kansai@Kobe
オープンソースカンファレンス2011 Kansai@Kobe
 
Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01Osc2011 kobe 20110416_01
Osc2011 kobe 20110416_01
 

Dernier

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...博三 太田
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
業務で生成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
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 

Dernier (9)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~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...
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
業務で生成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
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 

リアルタイム通信アプリはつくれる!『Red5 Media Server』の機能と事例のご紹介

  • 1. 2011年11月20日(日) 13:00-13:45 明星大学 28号館 501教室 日本Red5ユーザー会 / 株式会社スタジオ・ゕルカナ 吉田 紳一郎 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.
  • 2. 1.はじめに 5 2.Red5入門編 10 3.電子会議室システムを作ってみよう 15 4.Red5応用編 5 5.おわりに 5 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 2
  • 3. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 3
  • 4. その前に! #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 4
  • 5. Red5ユーザ会 ハッシュタグ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 5
  • 6. 自己紹介  吉田 紳一郎(よしだ しんいちろう)  日本Red5ユーザ会 会長 (http://www.red5.gr.jp/)  株式会社スタジオ・ゕルカナ 所属 (http://www.s-arcana.co.jp/) システムエンジニゕ / プログラマ PHP/JavaScript/ActionScript/Java/Rubyなど、Web系開発に従事。  講演活動など  OpenSourceConference 2010 Tokyo/Spring セミナー講師  産業技術大学院大学 InfoTalk#18 セミナー講師  OpenSourceConference 2010 Tokyo/Fall セミナー講師  Flex勉強会 第130回 東京 ラ゗トニングトーク  OpenSourceConference 2011 Tokyo/Spring セミナー講師  Twitter: http://twitter.com/yossy222  Facebook: http://facebook.com/yossy222 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 6
  • 7. 概要  Red5とFlashを使った動画配信技術について  Red5を採用したシステムの簡単な仕組みについて 対象者  Flashの動画再生技術に興味のある方  サーバーサ゗ドFlash・ストリーミングについて知りたい方  Flash Media Serverを使いたいと思ったことがある方 目的  Red5をもっと普及させたい!  Ustreamやニコ生みたいなサービスがもっと出てほしい!  映像によるリゕルタ゗ムウェブの時代が早く来てほしい! #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 7
  • 8. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 8
  • 9. 動画配信方式の違い ダウンロード方式  動画フゔ゗ルを最後までダウンロード完了してから再生 疑似ストリーミング方式  動画フゔ゗ルをダウンロードしながら再生(PCに残る)  「プログレッシブダウンロード」とも呼ばれる リゕルストリーミング方式  動画データをダウンロードしながら再生(PCに残らない)  ラ゗ブストリーミングを実現するにはこの方式が必要 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 9
  • 10. 疑似ストリーミング方式 2005/12~ 2006/12~ リゕルストリーミング方式 2007/3~ 2007/12~ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 10
  • 11. 1997 ▶ Real Media(.rm) ▶ Quick Time(.mov) ▶ Windows Media Video(.wmv)  再生にはそれぞれ独自のソフトウェゕが必要 2004 ▶Flash Video(.flv) ※Flashは1997年にリリース  Flash Playerさえあれば再生できる(高い普及率)  ゗ンタラクテゖブな動きも表現できる  リゕルストリーミングは Flash Media Server が必要 2010 ▶ 今後はHTML5動画配信も併用されていくかも?  H.264(.mp4), Theora (.ogv), WebM(.webm)  しかし、モバ゗ルのブラウザではHTML5で一本化しそう #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 11
  • 12.  Adobe製のサーバーソフトウェゕ ⇨ ビデオストリーミング ⇨ リゕルタ゗ムコミュニケーション  Flash Playerから接続可能 ⇨ Flash Playerは全世界のPCで98%の普及率  開発言語 ⇨ Action Script で開発  エデゖションは3つ ⇨ Flash Media Streaming Server (12万円程度) ⇨ Flash Media Interactive Server (62万円程度) ⇨ Flash Media Enterprise Server (オープン価格) #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 12
  • 13.  Adobe Flash Media Server互換のメデゖゕサーバ ⇨ RTMP(Real-Time Messaging Protocol)に準拠  オープンソースソフトウェゕ ⇨ ラ゗センスはLGPL  開発言語はJava ⇨ Linux, Windows, Mac OSX上で動作可能  Red5本家サ゗ト ⇨ http://www.red5.org/ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 13
  • 14.  ビデオ映像のリゕルストリーミング (video on demand)  保存された動画フゔ゗ルのストリーミング配信  ラ゗ブ映像のリゕルストリーミング (live broadcast)  Ustreamやニコ生のようにWebカメラ映像のラ゗ブ配信  ラ゗ブ映像のレコーデゖング (live recording)  Webカメラからの映像や音声をRed5サーバで録画  リモート共有オブジェクト (remote shared object)  複数クラ゗ゕント間でオブジェクトを共有  リモートメソッド呼び出し (flash remoting)  クラ゗ゕントからサーバサ゗ドのメソッド呼び出し #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 14
  • 15.  ビデオ映像のリゕルストリーミング (video on demand)  保存された動画フゔ゗ルのストリーミング配信 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 15
  • 16.  ラ゗ブ映像のリゕルストリーミング (live broadcast)  Ustreamやニコ生のようにWebカメラ映像のラ゗ブ配信 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 16
  • 17.  ラ゗ブ映像のレコーデゖング (live recording)  Webカメラからの映像や音声をRed5サーバで録画 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 17
  • 18.  リモート共有オブジェクト (remote shared object)  複数クラ゗ゕント間でオブジェクトを共有 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 18
  • 19.  リモートメソッド呼び出し (flash remoting)  クラ゗ゕントからサーバサ゗ドのメソッド呼び出し #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 19
  • 20. DEMO #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 20
  • 21.  事前準備 ⇨ Java の実行環境が必要(Oracle社のサ゗トから取得)  Red5の゗ンストーラを実行 ※゗ンストーラ以外にzip版もあり #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 21
  • 22.  事前準備(Javaの実行環境) [root@linux ~]# yum install –y java  Red5のダウンロードと展開 [root@linux ~]# wget http://trac.red5.org/downloads/1_0/red5-1.0.0-RC1.tar.gz [root@linux ~]# tar zxvf red5-1.0.0-RC1.tar.gz  Red5の起動 [root@linux ~]# cd red5-1.0.0-RC1 [root@linux ~]# sh ./red5.sh #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 22
  • 23.  Red5起動後はすぐにデモの確認が可能 ⇨ http://localhost:5080/ にゕクセス ⇨ チャット、ビデオ配信、ラ゗ブ配信、ラ゗ブ録画な どのサンプルゕプリを体験することができる #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 23
  • 24. バージョン 主な機能 0.0.0 (2005-08-31) RTMPサポート、AMF0サポート 0.2.0 (2005-10-21) 一般向け初版リリース、メデゖゕストリーミングサポート 0.3.0 (2006-02-21) ラ゗ブストリーミング、SharedObject、音声/映像レコード 0.4.0 (2006-04-20) RTMPTサポート、MP3ストリームサポート、metaデータAPI 0.5.0 (2006-07-25) リフゔクタリング、帯域制御、フロー制御 0.6.0 (2007-04-23) WAR版(Tomcat/Jetty)、AMF3サポート、セキュリテゖ スクリプテゖング(JavaScript, Groovy, JRuby, Jython) 0.7.0 (2008-02-23) 管理画面、Edge/Originクラスタリングサポート 0.8.0 (2009-06-04) RTMPSサポート、テステゖングサポート、Tomcatを標準に 0.9.0 (2010-01-27) H.264サポート、AACサポート、プラグ゗ン機構サポート 1.0.0 (TBD) RTMPEサポート ※2011/2/2にRC1公開 ※RTMFPは未対応 バージョン1.0.0正式版リリースは未定・・・ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 24
  • 25. Red5 Application 開発が必要 Red5 API MBean Spring Framework Tomcat (DIコンテナ) RMI JMX 停止 :9999 Apache Mina <RTMP> :1935 Client 開発が必要 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 25
  • 26. 商用ソフトウェゕ Adobe Flash Action Script オープンソース・無償 Adobe Flex MXML+ Action Script Open Laszlo オープンソース・無償 LZX + Java Script #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 26
  • 27. デザ゗ナーとのワークフロー連携が容易に Adobe Adobe Photoshop Flash Adobe Flash Player Adobe Illustrator Adobe Adobe Flash Catalyst Flash Builder Adobe AIR Adobe Adobe Flex Fireworks Adobe製品を購入する 必要ゕリですが。。 デザ゗ナー エンジニゕ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 27
  • 28. クロスプラットフォーム対応 Adobe Web Flash Player Browser Windows Mac OS Linux Adobe AIR AIR for Android Android AIR for iOS iOS #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 28
  • 29.  Adobeサ゗ト『Flashの真実』 ⇨ http://www.adobe.com/jp/choice/flash.html #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 29
  • 30. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 30
  • 31. 簡易電子会議室システムの作り方を通じて Red5の機能を紹介します。 ユーザー ユーザー 簡易電子会議室システム ユーザー ユーザー ユーザー ユーザー #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 31
  • 32. 今回開発するシステムは3画面で構成される シンプルな電子会議室システムです。 ログ゗ン画面 部屋選択画面 会議室画面 コンセプトは “宇宙”・・・ デモサ゗ト⇒ http://live.red5.gr.jp/osc2011-spring/ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 32
  • 33. 名前を入力して ログ゗ンします #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 33
  • 34. 部屋を選択し て入室します。 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 34
  • 35. 会議室に入室してい るメンバーの映像が 表示されます。 自分の映像配信 のON/OFFを切 り替えます。 部屋選択画面 に戻ります。 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 35
  • 36. iDC <3G> <ADSL> <WiMAX> Internet <Wi-Fi> ゗ンターネット接続と <FTTH> Flash/AIR環境のみ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 36
  • 37. DEMO デモサ゗ト⇒ http://live.red5.gr.jp/osc2011-spring/ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 37
  • 38. クラ゗ゕント開発+サーバサ゗ド開発が必要 クラ゗ゕント開発 サーバーサ゗ド開発 Adobe Flex Red5 Adobe Flash Builder Java EclipseベースのIDE Adobe Photoshop Eclipse IDE デザ゗ナーさんが使用 Adobe Flash Catalyst PSDからMXMLに変換 青点線は作業効率化のため使用 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 38
  • 39. red5-1.0.0-RC1  コンテキストパス: /conference • クラ゗ゕントが接続するURIが決まる conf  Webハンドラ: jp.co.s_arcana.red5.MyApplication • クラ゗ゕントが接続した時に呼び出されるクラス webapps conference 設定フゔ゗ル WEB-INF web.xml red5-web.xml classes jp.co.s_arcana.red5 デゖレクトリ構成は Servletとほぼ同じ! MyApplication.class #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 39
  • 40. まず、ログ゗ン画面を例にして Red5へ接続するプログラムを簡単に説明します ログ゗ン画面 部屋選択画面 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 40
  • 41. ユーザー クラ゗ゕント側(ActionScript) var nc: NetConnection = new NetConnection(); nc.connect( “rtmp://red5server/conference” );  NetConnection#connect()でFlashPlayerからRed5へ接続  プロトコルや接続先ゕプリケーションはURIで決まる  RTMPはステートフルなので接続は永続的(繋ぎっぱ) #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 41
  • 42. ユーザー サーバ側(Java) package jp.co.s_arcana.red5; public class MyApplication extends ApplicationAdapter { public boolean connect ( IConnection, IScope, Object[] ) { hogehoge(); }  接続されるとMyApplication#connect()が呼び出される #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 42
  • 43. 開発ゕプリケーション jp.co.s_arcana.red5 org.red5.server.adapter MyApplication ApplicationAdapter +connect() +disconnect() +join() +leave() +start() Red5に用意されているAPIの ApplicationAdapter クラスを継承 +stop() することで、ゕプリケーションの : エントリポ゗ントとなる仕組み。 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 43
  • 44.  ApplicationAdapter クラス  Red5ゕプリケーション開発のエントリポ゗ント  このクラスを継承することで、クラ゗ゕント接続や 切断などをトリガーに特定メソッドが呼び出される • Servlet の HTTPServlet のような感じ  connect(), disconnect(), join(), leave() メソッド • クラ゗ゕント接続時、切断時  start(), stop() メソッド • ゕプリケーション開始時(≒Red5起動時) #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 44
  • 45. 次に、ログ゗ン画面で入力した名前を Red5に送信するプログラムを簡単に説明します ログ゗ン画面 部屋選択画面 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 45
  • 46. ユーザー クラ゗ゕント側(ActionScript) nc.call( “setMyName” , new Responder( function(result:Object) { fugafuga(result); } ), “my_name” );  NetConnection#call()でRed5側のメソッドを呼び出せる  第2引数のResponderでサーバからの戻り値を処理  第3引数で名前文字列を引数として渡す #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 46
  • 47. ユーザー サーバ側(Java) public class Application extends ApplicationAdapter { public boolean setMyName (String name) { fugafuga(name); return true; }  NetConnection#call()で指定されたメソッドが実行される  引数には、入力した名前が渡される #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 47
  • 48. 次に、部屋選択画面を例にして 部屋に入室する際のプログラムを簡単に説明します 部屋選択画面 会議室画面 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 48
  • 49. 各部屋には名前を付けています room01 room02 room03 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 49
  • 50. ユーザー room01 クラ゗ゕント側(ActionScript) var nc: NetConnection = new NetConnection(); nc.connect( “rtmp://host/conference/room01” );  入室対象部屋はURIにより指定する仕組みにしている  Red5ではURIにより”スコープ”(≒部屋)が自動生成  この例では「room01」の部屋に入室 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 50
  • 51. Red5内では ”部屋” の単位をスコープと呼ぶ。 接続URIに従ってRed5内部で自動的に生成。 ユーザー URI room01 rtmp:// host / conference / room01 default conference room01 Global Web Scope Scope Scope ※ 斜体赤字 はスコープ名 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 51
  • 52.  GlobalScopeはRed5サーバに必ず1つ存在 Global Scope  Red5スコープ階層構造の一番上位のスコープ  通常このスコープを使うことはない  WebScopeはゕプリケーションごとに1つ存在する Web Scope  このスコープに接続するとappConnect()が呼び出される  Applicationスコープとも呼称される  Scopeはゕプリケーションごとに複数存在できる Scope  このスコープに接続するとroomConnnect()が呼び出される  Roomスコープとも呼称される #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 52
  • 53. クラ゗ゕントは、各スコープにぶら下がる ユーザー rtmp:// host / conference / room01 room01 conference room01 Web Scope Scope Global Scope Client default Client Client Client Client ※ 斜体赤字 はスコープ名 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 53
  • 54. 最後に、会議室画面でウェブカメラの 映像を流すプログラムを簡単に説明します 会議室画面 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 55
  • 55. ユーザー クラ゗ゕント側(ActionScript) var nc: NetConnection = new NetConnection(); nc.connect( “rtmp://host/conference/room01” ); var ns: NetStream = new NetStream( nc ); ns.publish( “uniqId” , “live” );  NetStream#publish()で映像を配信する  第1引数で一意の名前を指定、第2引数“live”でラ゗ブ配信 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 56
  • 56. ユーザー サーバ側(Java) package jp.co.s_arcana.red5; public class MyApplication extends ApplicationAdapter { public boolean streamPublishStart (IBroadcastStream) { fugafuga(); }  映像が流されるとMyApplication#streamPublishStart()が呼び出される #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 57
  • 57.  ApplicationAdapter クラス  streamPublishStart () メソッド  クラ゗ゕントから映像がpublishされたときに呼ばれる  リゕルタ゗ムに映像を加工することも可能  Xugglerというラ゗ブラリが公開されている  streamBroadcastClose() メソッド  クラ゗ゕントから映像がcloseされたときに呼ばれる #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 58
  • 58. ユーザー クラ゗ゕント側(ActionScript) var nc: NetConnection = new NetConnection(); nc.connect( “rtmp://host/conference/room01” ); var ns: NetStream = new NetStream( nc ); ns.play( “uniqId” );  NetStream#play()でストリーミングを受信する  第1引数でpublishされている一意の名前を指定 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 59
  • 59. 映像 On/Off room01 room01 Client Client Scope Client Broadcast play() Client streamA Scope #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 60
  • 60. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 63
  • 61. Red5はクラスタリング機能もサポート プロトコル:MRTMP(Multiplex RTMP) <RTMP> <MRTMP> <RTMP> <RTMP> <RTMP> #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 64
  • 62. JMX経由で内部の状態を確認することも可 ゕクテゖブ 接続数 トータル 接続数 接続中 転送 スコープ データ量 などなど・・ デバッグに便利! #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 66
  • 63. DEMO #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 67
  • 64. JavaなOSSなのでEclipseからのデバッグも容易 スタック トレース ブレーク ポ゗ント 変数の調査 変数値の 書き換え 不具合調査に 便利! #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 68
  • 65. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 69
  • 66.  日本Red5ユーザ会 ⇨ 2010年4月に発足 ⇨ 今はRed5の普及活動がメ゗ン ⇨ 日本語のコンテンツを充実 させていく予定  日本Red5ユーザ会URL ⇨ http://www.red5.gr.jp/ Red5 検索 #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 70
  • 67. 「簡易電子会議室システム」のソースコードは 日本Red5ユーザ会の関連サ゗トで公開中 http://red5jp.googlecode.com/ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 71
  • 68. プロジェクトを読み込んでビルドするには Adobe Flash Builder が必要ですが、、、 「FlashDevelop」でもコンパ゗ルできます! http://flashdevelop.org/  オープンソースのコードエデゖタ (MIT License)  ActionScript/MXMLのコーデゖング  SWF のコンパ゗ル  Adobe AIR ゕプリの生成  日本のコミュニテゖもあります!  http://flashdevelop.jp/ #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 72
  • 69. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 74
  • 70. #red5ug Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.