Soumettre la recherche
Mettre en ligne
5分でわかるWebRTCの仕組み - html5minutes vol.01
•
17 j'aime
•
8,534 vues
西畑 一馬
Suivre
html5minutes vol.01で発表したスライドです。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 38
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
WebRTC multitrack / multistream
WebRTC multitrack / multistream
mganeko
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
貴志 上坂
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
Kaoru Maeda
はじめての vSRX on AWS
はじめての vSRX on AWS
Juniper Networks (日本)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
Koichi HARUNA
Recommandé
WebRTC multitrack / multistream
WebRTC multitrack / multistream
mganeko
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
Moq & Fakes Framework を使った実践的ユニットテスト - BuildInsider
貴志 上坂
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
HTTP2 最速実装 〜入門編〜
HTTP2 最速実装 〜入門編〜
Kaoru Maeda
はじめての vSRX on AWS
はじめての vSRX on AWS
Juniper Networks (日本)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
kubernetes(GKE)環境におけるdatadog利用
kubernetes(GKE)環境におけるdatadog利用
Koichi HARUNA
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Hinemos
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版
Contest Ntt-west
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
祐司 伊藤
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
[AKIBA.AWS] VPN接続とルーティングの基礎
[AKIBA.AWS] VPN接続とルーティングの基礎
Shuji Kikuchi
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
WebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみた
onozaty
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10
goforbroke
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニング
sugoto
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
Yusuke Naka
さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)
Takanori Sejima
AWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load Balancing
Amazon Web Services Japan
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
Amazon Web Services Japan
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
Koki Kumagai
Contenu connexe
Tendances
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
infinite_loop
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Hinemos
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
Yuhei Miyazato
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版
Contest Ntt-west
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
祐司 伊藤
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
Akihiro Kuwano
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
Masahito Zembutsu
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
[AKIBA.AWS] VPN接続とルーティングの基礎
[AKIBA.AWS] VPN接続とルーティングの基礎
Shuji Kikuchi
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
SEGADevTech
WebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみた
onozaty
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10
goforbroke
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニング
sugoto
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
Yusuke Naka
さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)
Takanori Sejima
AWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load Balancing
Amazon Web Services Japan
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
Amazon Web Services Japan
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
Tendances
(20)
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
webSocket通信を知らないiOSエンジニアが知っておいて損はしない(経験談的な)軽い話
WebRTCの技術解説 公開版
WebRTCの技術解説 公開版
C++からWebRTC (DataChannel)を利用する
C++からWebRTC (DataChannel)を利用する
インフラエンジニアってなんでしたっけ(仮)
インフラエンジニアってなんでしたっけ(仮)
HashiCorpのNomadを使ったコンテナのスケジューリング手法
HashiCorpのNomadを使ったコンテナのスケジューリング手法
自宅k8s/vSphere入門
自宅k8s/vSphere入門
[AKIBA.AWS] VPN接続とルーティングの基礎
[AKIBA.AWS] VPN接続とルーティングの基礎
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
CEDEC2021 ダウンロード時間を大幅減!~大量のアセットをさばく高速な実装と運用事例の共有~
WebSocketでカメラの映像を共有してみた
WebSocketでカメラの映像を共有してみた
H.264で相互接続 - WebRTC Meetup Tokyo #10
H.264で相互接続 - WebRTC Meetup Tokyo #10
Ansible AWXで一歩進んだプロビジョニング
Ansible AWXで一歩進んだプロビジョニング
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)
AWS Black Belt Online Seminar Elastic Load Balancing
AWS Black Belt Online Seminar Elastic Load Balancing
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
20191112 AWS Black Belt Online Seminar AWS Media Services で始めるライブ動画配信
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
Similaire à 5分でわかるWebRTCの仕組み - html5minutes vol.01
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
Kensaku Komatsu
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
Koki Kumagai
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
Yusuke Naka
レポート
レポート
xin song
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
You_Kinjoh
Infocom webrtc conference japan
Infocom webrtc conference japan
mganeko
WebRTC概説(P2P)
WebRTC概説(P2P)
goforbroke
レポート
レポート
xin song
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
Yuta Suzuki
WebRTCについてざっと
WebRTCについてざっと
Fumiyasu Sumiya
2013 WebRTC 概説 & ワークショップ
2013 WebRTC 概説 & ワークショップ
mganeko
HTML5によるリアルタイムコミュニケーション WebRTCの概説
HTML5によるリアルタイムコミュニケーション WebRTCの概説
You_Kinjoh
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
NishoMatsusita
Vuzix Developer Conference
Vuzix Developer Conference
Keiji Ariyama
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
mganeko
WebRTCとORTCについて整理しておこう
WebRTCとORTCについて整理しておこう
彰 村地
HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞
Ryosuke Otsuya
WebRTCについて
WebRTCについて
BeMarble
getUserMedia
getUserMedia
Yusuke Naka
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
Kensaku Komatsu
Similaire à 5分でわかるWebRTCの仕組み - html5minutes vol.01
(20)
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
ひとつひとつ組み上げてみていくビデオチャットアプリのアーキテクチャ
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
レポート
レポート
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
WebRTC Boot Camp (WebRTC Conference Japan 2016) 事前公開版
Infocom webrtc conference japan
Infocom webrtc conference japan
WebRTC概説(P2P)
WebRTC概説(P2P)
レポート
レポート
WebRTCとPeer.jsを使った実装
WebRTCとPeer.jsを使った実装
WebRTCについてざっと
WebRTCについてざっと
2013 WebRTC 概説 & ワークショップ
2013 WebRTC 概説 & ワークショップ
HTML5によるリアルタイムコミュニケーション WebRTCの概説
HTML5によるリアルタイムコミュニケーション WebRTCの概説
Magic Leap で WebRTC 触ってみた
Magic Leap で WebRTC 触ってみた
Vuzix Developer Conference
Vuzix Developer Conference
Chromebook 「だけ」で WebRTCを動かそう
Chromebook 「だけ」で WebRTCを動かそう
WebRTCとORTCについて整理しておこう
WebRTCとORTCについて整理しておこう
HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞
WebRTCについて
WebRTCについて
getUserMedia
getUserMedia
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
5分でわかるWebRTCの仕組み - html5minutes vol.01
1.
5分でわかる WebRTCの仕組み HTML5minutes!! vol.01 西畑一馬
2.
最初に
3.
5分でわかるほど WebRTCは簡単じゃない
4.
WebRTCを取り巻くHTML5技術 WebSocket Web Audio RTCPeerConnection video/audio API getUserMedia
API Media Stream
5.
WebRTCを取り巻くHTML5技術 WebSocket Web Audio RTCPeerConnection video/audio API getUserMedia
API Media Stream とわ本日あたえられた時間は5分しかない
6.
WebRTCを取り巻くHTML5技術 WebSocket Web Audio video/audio API getUserMedia
API Media Streamとわ RTCPeerConnection 重要なコレに絞って解説
7.
そもそもWebRTCって??
8.
WebRTC Web Real-Time Communication
9.
離れた2台以上のPCで通信する技術
10.
ウェブカムの映像や
11.
音声やデータなど
12.
これまでのビデオチャットは仲介サーバー必要
13.
WebRTCはP2PでPC同士が通信を行う
14.
WebRTC通信に必要な4つのステップ
15.
Step 1 自分のストリームデータを取得
16.
getUserMedia getUserMedia( { video:true, audio:true }, function(stream) { localStream =
stream; }, function(error) { alert("メディアを取得できませんでした"); } );
17.
Step 2 お互いのPCのSDPを交換する
18.
SDP Session Description Protocol
19.
PeerConnectionオブジェクトを生成 peer = new
RTCPeerConnection({ "iceServers": [ { "url": "stun:stun.l.google.com:19302" } ] }); peer.addStream(localStream); peer.createOffer(function(sdp) { peer.setLocalDescription(sdp, function() { socket.emit('sendOffer',{ "sdp": sdp }); }); });
20.
先ほど取得したストリームデータをセット peer = new
RTCPeerConnection({ "iceServers": [ { "url": "stun:stun.l.google.com:19302" } ] }); peer.addStream(localStream); peer.createOffer(function(sdp) { peer.setLocalDescription(sdp, function() { socket.emit('sendOffer',{ "sdp": sdp }); }); });
21.
接続元から接続先にオファーを送る
22.
接続元から接続先にオファーを送る
23.
シグナリングサーバー
24.
SDPをWebSocketで送信 peer = new
RTCPeerConnection({ "iceServers": [ { "url": "stun:stun.l.google.com:19302" } ] }); peer.addStream(localStream); peer.createOffer(function(sdp) { peer.setLocalDescription(sdp, function() { socket.emit('sendOffer',{ "sdp": sdp }); }); });
25.
接続先はアンサーを返信
26.
受け取ったオファーからSDPを作成して返信 socket.on('reciveOffer',function(data){ var sdp =
new RTCSessionDescription(data.sdp); peer.setRemoteDescription(sdp, function() { peer.createAnswer(function(sdp) { peer.setLocalDescription(sdp, function() { socket.emit('sendAnswer',{ "sdp": sdp }); }); }); }); });
27.
接続先から返信を受け取ったらそれをセット socket.on('reciveAnswer',function(data){ var sdp =
new RTCSessionDescription(data.sdp); peer.setRemoteDescription(sdp); });
28.
Step 3 お互いのネットワークのICE情報を交換する
29.
ICE Interactive Connectivity Establishment
30.
IPアドレスやポート番号を 交換しないと通信できない
31.
STUNサーバー
32.
STUNサーバーは RTCPeerConnectionオブジェクト生成時に指定済み peer = new
RTCPeerConnection({ "iceServers": [ { "url": "stun:stun.l.google.com:19302" } ] }); peer.addStream(localStream); peer.createOffer(function(sdp) { peer.setLocalDescription(sdp, function() { socket.emit('sendOffer',{ "sdp": sdp }); }); });
33.
icecandidateイベントで取得できるので WebSocketで相手に送信 peer.onicecandidate = function
(evt) { if ( evt.candidate ) { socket.emit('sendCdi',{ "ice": evt.candidate }); } }
34.
socket.on('reciveCdi',function(data){ var ice =
new RTCIceCandidate(data.ice); peer.addIceCandidate(ice); }); ice情報を受け取ったらセット
35.
Step 4 video要素にremoteStreamを設置
36.
peer.addEventListener("addstream", function(event){ var
targetVideo = document.getElementById("remoteVideo"); targetVideo.src = URL.createObjectURL(event.stream); targetVideo.play(); }, false); あとは受け取ったストリームデータを video要素に突っ込むだけ
37.
WebRTCの課題 • 対応ブラウザがChrome/OperaとFirefoxのみ • ルーターやFirewallで通信できないことも •
CPU使用率が半端ない • ドライバレベルの不具合を引き起こすことも • 不安定、とにかく不安定
38.
HTML5minutes!! vol.01 西畑一馬 Thank you!!
Télécharger maintenant