Web RTCええやん

27
いいいいいいい Web RTC いいいい Daisuke Imiya

Transcript of Web RTCええやん

Page 1: Web RTCええやん

いまさらやけどWeb RTC ええやん

Daisuke Imiya

Page 2: Web RTCええやん

自己紹介• 井宮大輔(いみやだいすけ)• 主な開発したソフトウェア

– テレビ電話 (VAIO)– ウォークマンマルチメディアフレームワーク– NAV-U マルチメディアフレームワーク– Android Walkman アプリケーション– Xperia Video アプリケーション、サーバー

• http://www.sonymobile.com/global-en/apps-services/sony-media-apps/– 最近は内緒

Page 3: Web RTCええやん

料理好きっす

https://www.facebook.com/daisuke.imiya

Page 4: Web RTCええやん

Web RTC って

Page 5: Web RTCええやん

Web Real-Time Communicationボイスチャット、ビデオチャットがブラウザでプラグインなしで実現可能にしてくれるありがたい機能です

動画、音声、テキスト、バイナリ

動画、音声、テキスト、バイナリP2P

Page 6: Web RTCええやん

Web RTC の構成

• Media Capture And Streams–ブラウザでカメラやマイクから取得できる映

像や音声を使う仕様

• WebRTC 1.0: Real-time Communication Between Browsers– Peer to Peer によるリアルタイム通信を行う

ための仕様

Page 7: Web RTCええやん

Web RTC の処理の流れ

Page 8: Web RTCええやん

Web RTC の処理の流れ 1

192.168.0.100 192.168.0.200

インターネット

プライベートネットワーク プライベートネットワーク

Page 9: Web RTCええやん

Web RTC の処理の流れ 2

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServer

HTML + JS + CSS HTML + JS + CSS

Web Socket Web Socket

Page 10: Web RTCええやん

Web RTC の処理の流れ 3

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServer

SDPA

Session Description Protocol- メディアの情報を記述するための仕様

A から B に Call

B

Page 11: Web RTCええやん

Web RTC の処理の流れ 3

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServer

SDP

メディア情報が交換される

B から A にAnwer

A B

Page 12: Web RTCええやん

Web RTC の処理の流れ 4

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServerStun サーバーは送信元のグロバール IP を返却

Global IP A

A は B に自分の Global IP( + ポート) を通知するA B

Page 13: Web RTCええやん

Web RTC の処理の流れ 5

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServer

Global IP B

A BB は A に自分の Global IP( + ポート) を通知する

Page 14: Web RTCええやん

Web RTC の処理の流れ 6

192.168.0.100 192.168.0.200

Web SocketServer

StunServer

WebServer

Global IP BGlobal IP A

音声、ビデオ( RTP/RTCP)

NAT は Stun サーバーとの通信と同じポートにパケットが来るため同じ送信元にパケットを渡すA B

Page 15: Web RTCええやん

まぁなんとなく分かったけど

Page 16: Web RTCええやん

結構いろいろ大変ですね。。。

Page 17: Web RTCええやん
Page 18: Web RTCええやん

安心して下さい

Page 19: Web RTCええやん

Web RTC のサービス使えば簡単です

Page 21: Web RTCええやん

ライブラリ使えば簡単

https://nttcom.github.io/skyway/docs/

Page 22: Web RTCええやん

デモ

Page 23: Web RTCええやん

1. Sky Server に接続

2. Server から Peer ID が返却される

Page 24: Web RTCええやん

3. 相手の Peer ID を指定して Call自分のメディアストリームを指定

4. 受信すると Answer でストリームを返信④

Page 25: Web RTCええやん

5. ストリームを受信

6. ストリームを受信

Page 26: Web RTCええやん

まとめ

• Skyway 使うと手軽に簡単に Web RTC が作れます

• Web RTC はメディアデータ、テキスト、バイナリが P2P 送受信できるので、様々な用途に応用可能

• ちょーシンプルなサンプルコード以下に置いてます– https://github.com/yokobonbon/web-rtc-sample

Page 27: Web RTCええやん

ありがとうございました