Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Yuta Suzuki
PDF, PPTX
7,672 views
WebRTCとPeer.jsを使った実装
9/5にLIGさんと勉強会をさせて頂きました。 その際に発表した資料です。 発表ではDEMOがありましたが、この資料では省かせて頂きました。
Engineering
◦
Read more
16
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 52
2
/ 52
3
/ 52
4
/ 52
5
/ 52
6
/ 52
7
/ 52
8
/ 52
9
/ 52
10
/ 52
11
/ 52
12
/ 52
13
/ 52
14
/ 52
15
/ 52
16
/ 52
17
/ 52
18
/ 52
19
/ 52
20
/ 52
21
/ 52
22
/ 52
23
/ 52
24
/ 52
25
/ 52
26
/ 52
27
/ 52
28
/ 52
29
/ 52
30
/ 52
31
/ 52
32
/ 52
33
/ 52
34
/ 52
35
/ 52
36
/ 52
37
/ 52
38
/ 52
39
/ 52
40
/ 52
41
/ 52
42
/ 52
43
/ 52
44
/ 52
45
/ 52
46
/ 52
47
/ 52
48
/ 52
49
/ 52
50
/ 52
51
/ 52
52
/ 52
More Related Content
PDF
Spring Boot × Vue.jsでSPAを作る
by
Go Miyasaka
PDF
Azure Network 概要
by
Takeshi Fukuhara
PDF
俺の俺による俺のための App Service Environment
by
Sunao Tomita
PPTX
WebRTC SFU mediasoup sample
by
mganeko
PDF
Test Yourself - テストを書くと何がどう変わるか
by
Takuto Wada
PDF
FIDO2 ~ パスワードのいらない世界へ
by
FIDO Alliance
PDF
ネットワークエンジニアはどこでウデマエをみがくのか?
by
Yuya Rin
PDF
俺が考えた最強のID連携デザインパターン
by
Masaru Kurahayashi
Spring Boot × Vue.jsでSPAを作る
by
Go Miyasaka
Azure Network 概要
by
Takeshi Fukuhara
俺の俺による俺のための App Service Environment
by
Sunao Tomita
WebRTC SFU mediasoup sample
by
mganeko
Test Yourself - テストを書くと何がどう変わるか
by
Takuto Wada
FIDO2 ~ パスワードのいらない世界へ
by
FIDO Alliance
ネットワークエンジニアはどこでウデマエをみがくのか?
by
Yuya Rin
俺が考えた最強のID連携デザインパターン
by
Masaru Kurahayashi
What's hot
PDF
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
PDF
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
by
Masahiro NAKAYAMA
ODP
MVC の Model を考える
by
tomo_masakura
PDF
OpenID Connect入門
by
土岐 孝平
PDF
3分でわかるAzureでのService Principal
by
Toru Makabe
PPTX
Azure API Management 俺的マニュアル
by
貴志 上坂
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
PPTX
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
PDF
Serverless時代のJavaについて
by
Amazon Web Services Japan
PDF
RESTful Web アプリの設計レビューの話
by
Takuto Wada
PPTX
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
PDF
DI(依存性注入)について
by
Yui Ito
PDF
Keycloak開発入門
by
Yuichi Nakamura
PDF
Active Directory 侵害と推奨対策
by
Yurika Kakiuchi
PDF
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
by
都元ダイスケ Miyamoto
PDF
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
by
Amazon Web Services Japan
PPTX
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
PDF
Understanding MicroSERVICE Architecture with Java & Spring Boot
by
Kashif Ali Siddiqui
PDF
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
PPTX
最近のやられアプリを試してみた
by
zaki4649
ドメイン駆動設計サンプルコードの徹底解説
by
増田 亨
AWS LambdaとDynamoDBがこんなにツライはずがない #ssmjp
by
Masahiro NAKAYAMA
MVC の Model を考える
by
tomo_masakura
OpenID Connect入門
by
土岐 孝平
3分でわかるAzureでのService Principal
by
Toru Makabe
Azure API Management 俺的マニュアル
by
貴志 上坂
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
by
NTT DATA Technology & Innovation
Serverless時代のJavaについて
by
Amazon Web Services Japan
RESTful Web アプリの設計レビューの話
by
Takuto Wada
データ履歴管理のためのテンポラルデータモデルとReladomoの紹介 #jjug_ccc #ccc_g3
by
Hiroshi Ito
DI(依存性注入)について
by
Yui Ito
Keycloak開発入門
by
Yuichi Nakamura
Active Directory 侵害と推奨対策
by
Yurika Kakiuchi
マイクロサービス時代の認証と認可 - AWS Dev Day Tokyo 2018 #AWSDevDay
by
都元ダイスケ Miyamoto
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
by
Amazon Web Services Japan
あなたのところに専用線が届くまで
by
Tomohiro Sakamoto(Onodera)
Understanding MicroSERVICE Architecture with Java & Spring Boot
by
Kashif Ali Siddiqui
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
最近のやられアプリを試してみた
by
zaki4649
Similar to WebRTCとPeer.jsを使った実装
PDF
WebRTCの技術解説 第二版 公開版 本編
by
Contest Ntt-west
PDF
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
by
Yoshiaki Sugimoto
PPTX
WebRTC meetup Tokyo 1
by
mganeko
PDF
Let's begin WebRTC
by
yoshikawa_t
PDF
WebRTC/ORTCの最新動向まるわかり!
by
Yusuke Naka
PPTX
WebRTCについて
by
shotamoriwaki
PPTX
2013 WebRTC node
by
mganeko
PDF
WebRTC概説(P2P)
by
goforbroke
PDF
2013 WebRTC 概説 & ワークショップ
by
mganeko
PDF
About WebRTC
by
Seiya Konno
PPTX
WebRTC NextVersion時代のJavaScript開発
by
Yusuke Naka
PPTX
Webrtc bootcamp handson
by
mganeko
PDF
WebRTC入門+最新動向
by
Ryosuke Otsuya
PDF
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
by
Kensaku Komatsu
PDF
WebRTCハンズオン
by
Yusuke Naka
PDF
WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
by
Kazuki Matsushita
PPTX
WebRTC の紹介
by
Kensaku Komatsu
PPTX
WebRTCについてざっと
by
Fumiyasu Sumiya
PPTX
Web RTCええやん
by
Daisuke Imiya
PPTX
エフサミ2014 web rtcの傾向と対策
by
Kensaku Komatsu
WebRTCの技術解説 第二版 公開版 本編
by
Contest Ntt-west
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
by
Yoshiaki Sugimoto
WebRTC meetup Tokyo 1
by
mganeko
Let's begin WebRTC
by
yoshikawa_t
WebRTC/ORTCの最新動向まるわかり!
by
Yusuke Naka
WebRTCについて
by
shotamoriwaki
2013 WebRTC node
by
mganeko
WebRTC概説(P2P)
by
goforbroke
2013 WebRTC 概説 & ワークショップ
by
mganeko
About WebRTC
by
Seiya Konno
WebRTC NextVersion時代のJavaScript開発
by
Yusuke Naka
Webrtc bootcamp handson
by
mganeko
WebRTC入門+最新動向
by
Ryosuke Otsuya
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
by
Kensaku Komatsu
WebRTCハンズオン
by
Yusuke Naka
WebRTC を利用したブラウザキャッシュ共有によるデータ配信システム
by
Kazuki Matsushita
WebRTC の紹介
by
Kensaku Komatsu
WebRTCについてざっと
by
Fumiyasu Sumiya
Web RTCええやん
by
Daisuke Imiya
エフサミ2014 web rtcの傾向と対策
by
Kensaku Komatsu
WebRTCとPeer.jsを使った実装
2.
Profile yuta suzuki
Trifort inc. developer(?) HTML / CSS / Javascript Travel
3.
Agenda WebRTCの概要 ブラウザ間通信の手順
を使った実装 まとめ
4.
WebRTCの概要
5.
WebRTCはリアルタイムWebの 新しいカタチ
6.
従来の通信方法 WebRTC 概要
7.
従来の通信方法 WebRTC 概要
テキストデータ 音声・ビデオ
8.
リアルタイム・コミュニケーション RTCはReal Time
Communicationの略 ブラウザからカメラやマイクを使用 ブラウザ間の双方通信(P2P)を可能にする 概要
9.
対応ブラウザ非対応ブラウザ 2014年8月時点 対応ブラウザ
10.
よくある勘違い
11.
何もしなくても、そこのページに入ったら 自動で通信が開始するんだよね? Case
1 Q
12.
after Case 1
A アクセス時に乱数のidが発行され、それを 相手のブラウザに認識させる必要があります。
13.
Case 2 Q
ブラウザ同士で通信できるってことは サーバーとかネットワークの知識は必要ない?
14.
そんなことはなく、サーバー、 ネットワークの知識は必要です。 Case
2 A
15.
ネットワークのお話
16.
WebRTCはネットワーク上の問題を抱えています
17.
WebRTCのネットワーク問題 PCはNAT配下のプライベートIPアドレスを持つマシンで動いています。その為 そのままでは相手がどこにいるのか分かりません。
プライベートIPアドレスはルーターが割り振っています。 ?
18.
NAT(Network Address Translation)
プライベートIPアドレス 192.168.0.15 グローバルIPアドレス 192.168.0.15 203.0.113.100 PC サーバー 送信元 送信先 203.0.113.100 ルーター サーバー 送信元 送信先 203.0.113.100 198.51.100.20 198.51.100.20
19.
NAT(Network Address Translation)
203.0.113.100 プライベートIPアドレス 192.168.0.15 サーバー グローバルIPアドレス 192.168.0.15 PC 送信元 送信先 203.0.113.100 サーバー ルーター 送信元 送信先 203.0.113.100 198.51.100.20 198.51.100.20
20.
NAT(Network Address Translation)
プライベートIPアドレス? なに、それ???
21.
それを解決する為に、2つのサーバーを使用します
22.
ICEサーバー Signalingサーバー
23.
ICEサーバーとは? ICEはInteractive Connectivity
Establishmentの略です。 NATを越える為に使用するサーバー。 ICEサーバーには、STUNサーバー/TURNサーバーがあります。
24.
STUNサーバー STUNサーバーはSimple Traversal
of UDP through NATsの略 でNATを突破する為に使用するサーバーです。 自分の外側から見た情報(グローバルIP、プライベートIPやポートなど) を取得することができます。 TURNサーバー TURNサーバーはTraversal Using Relay NATの略でSTUNサーバ が繋がらなかった場合に補助として設定している事が多いです。 しかし、パケットがリレーする方式で通信するのでP2P通信ではなく なってしまいます。その為、CPUやネットワークの負荷が高くなりや すい傾向があります。
25.
ICEサーバー Signalingサーバー
26.
Signalingサーバーとは? 相手を見つける為のマッチング用のサーバー。 今回はnode.js、WebSocketで実装。
27.
ブラウザ間通信までの手順
28.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket)
29.
ICEサーバー (STUNサーバー) 自分の
Signalingサーバー (WebSocket) ネットワーク情報 を要求!
30.
ICEサーバー (STUNサーバー) 自分の
Signalingサーバー (WebSocket) ネットワーク情報 を取得!
31.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を送信!
32.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得!
33.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得!
34.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得! P2P通信開始の オファーを送信!
35.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 オファをー取を得受!信!
36.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得! P2P通信開始の 許可を送信!
37.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得! 許可を受信!
38.
ICEサーバー (STUNサーバー) Signalingサーバー
(WebSocket) 接続候補情報 を取得! P2P通信開始!
39.
を使った実装
40.
とは? WebRTCを利用したP2Pのデータ、ビデオ、 オーディオ通信を簡単に実現することができるライブラリです。
通信状態に影響される繊細な処理を吸収 P2Pの接続できるまでの複雑な処理を簡略化 NTTがこのpeer.jsをベースにしたSkyWayという プラットフォームを開発 最新のVer.は0.3.9
41.
の取得
44.
Peerオブジェクトの作成 var peer
= new Peer({ key: 'xxxxxxxxxx', config: { 'iceServers': [ { url: ‘stun:stun.l.google.com:19302'} ] } });
45.
メディアへの接続 navigator.getUserMedia =
navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; navigator.getUserMedia( {audio: true, video: true}, function success(stream){ var target = document.getElementById("my-video"); target.src = URL.createObjectURL(stream); window.localStream = stream; }, function error(){ console.log("mediaに接続できません"); } );
46.
P2Pの接続開始 peer.on('open', function(){
socket.emit("sendId",peer.id); });
47.
先に接続している人はsocketで受信 socket.on('connect', function()
{ socket.on(“getId",function(id){ var remoteCall = peer.call(id, window.localStream); remoteCall.on('stream', function(stream){ var video = '<li data-id="' + id + '"><video autoplay src="' + URL.createObjectURL(stream) + '"></ video></li>'; element.innerHTML += video; }); }); });
48.
P2Pのエラーイベント peer.on('error', function(evt){
console.log(evt); });
49.
まとめ
50.
まとめ ブラウザ通信は接続してから行われます。 メディアを起動して接続するまでの仕組みを
含めて、WebRTCです。 WebSocketとWebRTCはよく比較対象に されますが、用途が違います。 IE、Safariの動きに注目。
51.
ご清聴ありがとうございました。
52.
参考 ■ W3C
http://www.w3.org/TR/webrtc/ ! ■ HTML5Experts.jp http://html5experts.jp/mganeko/5554/ ! ■ HTML5rocks http://www.html5rocks.com/ja/tutorials/webrtc/datachannels/ ! ■ tjun memo http://tjun.org/blog/2013/12/webrtc_p2p/ ! ■ NullPointer's Blog http://paulownia.hatenablog.com/entry/20120506/1336324323 ! ■ Publickey http://www.publickey1.jp/blog/12/webrtchtml5_conference_2012.html ! ■ WebブラウザでP 2 Pを実現する WebRTCのAPIと周辺技術 http://www.slideshare.net/yoshiakisugimoto9/webrtc-slide
Download