SlideShare a Scribd company logo
1 of 9
Download to read offline
WebRTC再び
Shigeyuki Takeuchi@13/12/20 Xtone勉強会
WebRTCって?
WebRTC(Web Real-Time Communications)は
W3Cが提唱するブラウザでリアルタイムコミュニ
ケーションを可能にするAPI群で、ビデオ・ボイスで
のチャットなどを提供します。
現在はまだドラフト段階です
http://www.webrtc.org/
サポートするブラウザが増えました

※2013/12現在(http://caniuse.com/stream)
 Androidでも使えた・AppleとMSは実装に消極的
iOSは・・・
Safariは非対応なので、Chromeでも試したけれど
も・・・
flagsがない orz
接続フロー
STUN
サーバ
1.グローバルIPとポートを取得

ブラウザA

ブラウザB
3.P2Pで直接接続

2.グローバルIPとポートなどの接
続情報を交換

アプリ
サーバ
API構成
● getUserMedia
カメラやマイクから入力された映像・音声をWebブラウザへ取り込む
● RTCPeerConnection
ブラウザ間でコネクションを貼り、映像・音声のストリームを送受信
● RTCDataChannel
ブラウザ間でバイナリデータを送受信
● RTCIceCandidate
NAT超えのための仕組みを提供
実際のコードは・・・
ブラウザA(caller)とブラウザB(callee)が通信すると
1.
2.
3.
4.
5.
6.
7.

[ブラウザA]アプリサーバよりhtmlやJavaScriptを取得します。
[ブラウザA]getUserMediaでマイクやカメラのストリームを取得します。
表示する場合はVideoやAudioにアタッチします。
[ブラウザA]RTCPeerConnectionで接続要求をします。このとき、利用する
ICE(STUN/TURNサーバ)の設定やストリーム、データチャンネル用のイベ
ントハンドラを追加します。
[ブラウザA]RTCPeerConnectionで接続情報を取得したらアプリサーバへ接続依頼オファーを送信します。
[ブラウザB]Aと同様に1〜3を行います。
[ブラウザB]アプリサーバからオファーに受信する。通信許可アンサーを
RTCSessionDescriptionで作成し、アプリサーバへ送信します。
[ブラウザA]アンサーを受信します。ブラウザ
AとBが直接接続を開始します。

複雑!!
しかもまだドラフトなのでブラウザごとに処理が若干違う
そこでライブラリ
● webRTC.io
https://github.com/webRTC/webRTC.io
● SimpleWebRTC
https://github.com/HenrikJoreteg/SimpleWebRTC

● PeerJS
http://peerjs.com
デモ
ソースコード
https://github.com/takeshig/webrtc_sample

More Related Content

What's hot

2013 WebRTC node
2013 WebRTC node2013 WebRTC node
2013 WebRTC nodemganeko
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会Ryosuke Otsuya
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.015分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.01西畑 一馬
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたちKensaku Komatsu
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSKensaku Komatsu
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-Yusuke Naka
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!Yusuke Naka
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTCRyosuke Otsuya
 
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用) 色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用) Device WebAPI Consortium
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~Ryosuke Otsuya
 
日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法Ryosuke Otsuya
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向Yusuke Naka
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup samplemganeko
 
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しようWebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しようRyosuke Otsuya
 
WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!mganeko
 
PeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorderPeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecordermganeko
 

What's hot (20)

2013 WebRTC node
2013 WebRTC node2013 WebRTC node
2013 WebRTC node
 
WebRTCエキスパート座談会
WebRTCエキスパート座談会WebRTCエキスパート座談会
WebRTCエキスパート座談会
 
5分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.015分でわかるWebRTCの仕組み - html5minutes vol.01
5分でわかるWebRTCの仕組み - html5minutes vol.01
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち知ってると得するかもしれないConstraintsたち
知ってると得するかもしれないConstraintsたち
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTC
 
Web rtcの使い方
Web rtcの使い方Web rtcの使い方
Web rtcの使い方
 
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用) 色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 
WebRTCとSFU
WebRTCとSFUWebRTCとSFU
WebRTCとSFU
 
日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法日本で初開催!WebRTC Conference Japanに無料で入場する方法
日本で初開催!WebRTC Conference Japanに無料で入場する方法
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しようWebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
 
WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!WebRTCのオーディオ処理の謎、誰か教えて!
WebRTCのオーディオ処理の謎、誰か教えて!
 
SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
PeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorderPeerConnectionリレーとMediaRecorder
PeerConnectionリレーとMediaRecorder
 

Similar to WebRTC再び

Vuzix Developer Conference
Vuzix Developer ConferenceVuzix Developer Conference
Vuzix Developer ConferenceKeiji Ariyama
 
レポート
レポートレポート
レポートxin song
 
レポート
レポートレポート
レポートxin song
 
WebRTC概説(P2P)
WebRTC概説(P2P)WebRTC概説(P2P)
WebRTC概説(P2P)goforbroke
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装Yuta Suzuki
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたNishoMatsusita
 
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版You_Kinjoh
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?Daichi Isami
 
WebRTCについて
WebRTCについてWebRTCについて
WebRTCについてBeMarble
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Pathdynamis
 
SkyWayで作るボイスチャット
SkyWayで作るボイスチャットSkyWayで作るボイスチャット
SkyWayで作るボイスチャットtioken
 
Web OSで可能になる世界
Web OSで可能になる世界Web OSで可能になる世界
Web OSで可能になる世界Kensaku Komatsu
 
SFUの話
SFUの話SFUの話
SFUの話tnoho
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線yoshikawa_t
 
H T M L5 入門編
H T M L5 入門編H T M L5 入門編
H T M L5 入門編ngi group.
 
いまさら聞けないHTML5概要
いまさら聞けないHTML5概要いまさら聞けないHTML5概要
いまさら聞けないHTML5概要yoshikawa_t
 
WebRTCについてざっと
WebRTCについてざっとWebRTCについてざっと
WebRTCについてざっとFumiyasu Sumiya
 

Similar to WebRTC再び (20)

Vuzix Developer Conference
Vuzix Developer ConferenceVuzix Developer Conference
Vuzix Developer Conference
 
レポート
レポートレポート
レポート
 
レポート
レポートレポート
レポート
 
WebRTC概説(P2P)
WebRTC概説(P2P)WebRTC概説(P2P)
WebRTC概説(P2P)
 
WebRTCの話
WebRTCの話WebRTCの話
WebRTCの話
 
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
 
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみたMagic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
 
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
 
About WebRTC
About WebRTCAbout WebRTC
About WebRTC
 
クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?クラウドサービスを使って作る動画サイト?
クラウドサービスを使って作る動画サイト?
 
WebRTCについて
WebRTCについてWebRTCについて
WebRTCについて
 
Firefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own PathFirefox OS - Blaze Your Own Path
Firefox OS - Blaze Your Own Path
 
SkyWayで作るボイスチャット
SkyWayで作るボイスチャットSkyWayで作るボイスチャット
SkyWayで作るボイスチャット
 
Web OSで可能になる世界
Web OSで可能になる世界Web OSで可能になる世界
Web OSで可能になる世界
 
SFUの話
SFUの話SFUの話
SFUの話
 
HTML5開発最前線
HTML5開発最前線HTML5開発最前線
HTML5開発最前線
 
H T M L5 入門編
H T M L5 入門編H T M L5 入門編
H T M L5 入門編
 
いまさら聞けないHTML5概要
いまさら聞けないHTML5概要いまさら聞けないHTML5概要
いまさら聞けないHTML5概要
 
WebRTCについてざっと
WebRTCについてざっとWebRTCについてざっと
WebRTCについてざっと
 
AndroidでWebSocket
AndroidでWebSocketAndroidでWebSocket
AndroidでWebSocket
 

WebRTC再び