6. Red5の技術要素
<使用技術要素>
Red5 Application 開発が必要
Red5 API MBean
Spring
Framework Tomcat
(DIコンテナ) RMI
JMX
停止
:9999
Apache Mina
RTMP (Real-Time Messaging Protocol)
:1935
Client 開発が必要
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 6
7. Red5豆知識
<Adobeによる言及>
Adobeサト『Flashの真実』
⇨ http://www.adobe.com/jp/choice/flash.html
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 7
8. mixiアプリでビデオチャット!
Adobe Flex + Red5で開発した「ビデオチャット」
⇨ mixiゕプリとして公開中
▶ http://pk.aiit.ac.jp/avc/
ビデオ
テキスト
ボイス
※産業技術大学院大学におけるPBL(Project Based Learning)の一環として開発
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 8
10. アーキテクチャ概要
Open Social API
mixiゕプリ
RTMP
Flash
ユーザーA Flex
ユーザーB
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 10
11. アプリ機能×Red5機能(1/7)
2つの機能を例に
コードを交えて説明
アプリ機能 Red5機能
1 テキストチャット リモートメソッド呼び出し
2 ビデオチャット 映像ストリーミング
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 11
12. アプリ機能×Red5機能(2/7)
‐テキストチャット‐
アプリ機能 Red5機能
テキストチャット リモートメソッド呼び出し
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 12
13. アプリ機能×Red5機能(3/7)
‐テキストチャット‐
接続
Red5
入室 接続
部屋
入室
Aさん “やっほー”
Bさん
“やっほー” “やっほー”
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 13
14. アプリ機能×Red5機能(4/7)
‐テキストチャット‐
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://red5server/Red5Application/room");
Red5
部屋
nc.call("sendMessage", new Responder(onResult), “やっほー”);
Aさん
public boolean sendMessage(String msg) {
IConnection conn = Red5.getConnectionLocal();
invokeOnAllConnections( conn.getScope(), "receiveMessage", msg );
}
public function recieveMessage(msg:String):void {
…;
}
Bさん public function recieveMessage(msg:String):void {
…;
}
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 14
15. アプリ機能×Red5機能(5/7)
‐ビデオチャット‐
アプリ機能 Red5機能
ビデオチャット 映像ストリーミング
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 15
16. アプリ機能×Red5機能(6/7)
‐ビデオチャット‐
接続
Red5
接続
Aさん 映像公開
Bさん
映像受信
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 16
17. アプリ機能×Red5機能(7/7)
‐ビデオチャット‐
var nc:NetConnection = new NetConnection();
nc.connect("rtmp://red5server/Red5Application");
Red5
var cam:Camera = Camera.get();
var mic:Microphone = Microphone.get();
Aさん
var ns:NetStream = new NetStream(nc);
ns.attachVideo(cam);
ns.attachAudio(mic);
ns.publish("red5BroadcastDemo", "live");
ns.play("red5BroadcastDemo", -1);
Bさん
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 17
18. ソースコード公開中
Google Code でソースコード公開中
▶ http://code.google.com/p/aiit-videochat/
⇨ クラゕント サド
▶ Adobe Flex(Action Script)
PureMVC Framework
⇨ サーバーサド
▶ Red5(Java)
⇨ その他
▶ mixiゕプリ用ガジェット(XML)
▶ ボット機能(GoogleAppEngine/Python)
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 18
19. 日本Red5ユーザー会
日本Red5ユーザ会
⇨ 2010年4月に発足
⇨ 今はRed5の普及活動がメン
⇨ コンテンツはこれから充実
させていきます!
公式サト
⇨ http://www.red5.gr.jp/
日本Red5ユーザー会 検索
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 19
20. オープンソースカンファレンス
2011 Tokyo/Spring
OSC 2011 Tokyo/Spring で講演します
⇨ 3/5(土) 15:15 – 16:00 @早稲田大学
⇨ 「簡易電子会議室システムを作ってみよう」
⇨ Red5+Flexで開発した例を交えてRed5を紹介
⇨ システムのメージは次のページにて・・
OSC2011Tokyo/Spring 公式サト
⇨ http://www.ospn.org/osc2011-spring/
osc2011 spring 検索
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved. 20
21. ログン画面 部屋選択画面 会議室画面
ユーザー
ユーザー <RTMP>
<RTMP>
簡易電子会議室システム
<RTMP> ユーザー
<RTMP>
ユーザー
<RTMP>
<RTMP>
ユーザー
ユーザー
Copyright 2011 Shinichiro Yoshida / STUDIO ARCANA Co.,Ltd. All Rights Reserved.
21