SlideShare a Scribd company logo
Copyright © NTT Communications Corporation. All right reserved.
WebRTCを使って復興支援アプリを作ろう
~WebRTC ハッカソン~
WebRTCについての解説
NTTコミュニケーションズ株式会社
先端IPアーキテクチャセンタ
WebコアTechnical Unit
小松健作
2014年6月7日
Copyright © NTT Communications Corporation. All right reserved.
自己紹介
名前:小松健作
所属:NTT communications
HTML5の研究開発
標準化活動(W3C)
HTML5の啓蒙・コミュニティ運営
Google Developer Expert (HTML5)
3Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは?
4Copyright © NTT Communications Corporation. All right reserved.
ブラウザで p2p での
テレビ電話やファイル交換などを
可能にする技術
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは
 ブラウザでカメラとマイク、音声と映像を扱える。
 ブラウザ間の直接通信、リアルタイム通信が可能になる。
 情報が分散型へシフトする。
5
従来のWeb WebRTC
カメラやマイ
クを利用可
リアルタイ
ムに送受信
ブラウザ間
の直接通信
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
カメラやマイ
クの利用不可
Copyright © NTT Communications Corporation. All right reserved.
WebRTC Reference App
6
https://apprtc.appspot.com/
Copyright © NTT Communications Corporation. All right reserved.
YouTubeと組み合わせたり
7
https://chat.skyway.io/
Copyright © NTT Communications Corporation. All right reserved.
Chromecast
8
http://www.google.com/intl/ja_ALL/chrome/devices/chromecast
/
Copyright © NTT Communications Corporation. All right reserved.
Chromecast (cont.)
9
Home Network
再生指示 via WebRTC
Movie file via HTTP
Web
of
Things
Copyright © NTT Communications Corporation. All right reserved.
Platform としての WebRTC
10
専用
アプリ
専用
アプリ
専用
ハード
専用
アプリ
専用
ハード
ブラウザ
ブラウザ
ここが共通化・
標準化されるだけで、
相当嬉しい
Copyright © NTT Communications Corporation. All right reserved.
WebRTC SDK, libraries for other env.
11
http://tokbox.com/opentok
http://js-platform.github.io/node-webrtc/
https://github.com/alongubkin/phonertc
http://www.webrtc.org/reference/native-apis
12Copyright © NTT Communications Corporation. All right reserved.
SkyWayの概要
SkyWayを使えば簡単に
WebRTCのアプリを開発できる
Copyright © NTT Communications Corporation. All right reserved.
SkyWayの概要
13
WebRTC利用アプリを簡単に開発できるクラウド基盤
 2013年12月5日に提供開始
 社外の約600名以上の
開発者が利用している
 提供内容
• シグナリング等のAPI
• ライブラリ
• サンプルアプリ
• ドキュメント
Copyright © NTT Communications Corporation. All right reserved.
WebRTCはWeb開発者にとって難しい技術
14
ブラウザ間で直接通信する前に、サーバ経由で「シグナリング」を
行う必要があり、実装にはネットワークの知識が必要。
14ようやく直接通信できる
これらの通信が
完了してから…
Copyright © NTT Communications Corporation. All right reserved.
SkyWayの特徴
15
SkyWayのシグナリングAPIとライブラリが複雑な処理を担うので、
開発者は簡単にWebRTC利用アプリを開発できる。
STUN
API
Signaling
API
STUN
API
ライブラリ ライブラリ
APIとライブ
ラリが複雑な
処理を担う
Copyright © NTT Communications Corporation. All right reserved.
まず、localにWebサーバーをたてる
 一番簡単なのは、
• $ python –m SimpleHTTPServer
• あとは、apacheとか、nginxとか、expressとかsinatraとか
やり方は色々(なんでもいいです)
16
Copyright © NTT Communications Corporation. All right reserved.
HTMLにライブラリをカキコ
<!doctype html>
<html>
<head>
…
<script src="https://skyway.io/dist/0.3/peer.min.js"></script>
…
</head>
<body>
…
</body>
</html>
17
Copyright © NTT Communications Corporation. All right reserved.
SkyWayのブローカーサーバーに繋げる
var peer = new Peer({key: 'APIKEY'});
peer.on(‘open’, function(id){
// これが自分のIDになる <= 重要
});
今回のイベント用のAPIKEYは
http://goo.gl/26aMKE
にあります。
18
caller
callee
ID ID
Copyright © NTT Communications Corporation. All right reserved.
ローカルの映像取り込んで、相手に送信
navigator.webkitGetUserMedia({video:true, audio:true},
function(stream) {
// stream が映像・音声データを管理するStreamObject
var call = peer.call(‘destination-id’, stream);
},
function(err) {
// 映像取得エラー
});
19
caller
callee
Copyright © NTT Communications Corporation. All right reserved.
受信側でAnswer
peer.on(‘call’, function(call) {
call.answer(stream);
});
20
caller
callee
Copyright © NTT Communications Corporation. All right reserved.
Call – Answerが終わったら映像受信処理
call.on(‘stream’, function(stream) {
var url = window.URL.createObjectURL(stream);
$(“#you”).attr(“src”, url);
$(“#you”)[0].play();
});
21
caller
callee
Copyright © NTT Communications Corporation. All right reserved.
document
http://nttcom.github.io/skyway/docs/
22
Copyright © NTT Communications Corporation. All right reserved.
Sample source
23
http://cdn.peerjs.com/demo/videoch
at/ https://github.com/nttcom/peerjs/tre
e/master/examples/videochat
24Copyright © NTT Communications Corporation. All right reserved.
Thank you!!
24

More Related Content

PDF
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
PPTX
WebRTCを始めよう! HTML5fun 第一回勉強会
PDF
SkyWay国内唯一のCPaaS
PPTX
SkyWay HandsOn
PDF
WebRTCエキスパート座談会
PPTX
WebRTCと ORTCについて 整理しておこう
PDF
5分でわかるWebRTC
PPTX
日本で初開催!WebRTC Conference Japanに無料で入場する方法
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
WebRTCを始めよう! HTML5fun 第一回勉強会
SkyWay国内唯一のCPaaS
SkyWay HandsOn
WebRTCエキスパート座談会
WebRTCと ORTCについて 整理しておこう
5分でわかるWebRTC
日本で初開催!WebRTC Conference Japanに無料で入場する方法

What's hot (20)

PDF
はじめてのWebRTC/ORTC
PDF
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
PPTX
SkyWayで作るボイスチャット
PDF
WebRTC入門 ~沖縄編~
PPTX
知ってると得するかもしれないConstraintsたち
PDF
WebRTCハンズオン
PPTX
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
PDF
WebRTC再び
PPTX
Webrtc最新動向
PPTX
WebRTCが拓く 新たなWebビジネスの世界
PPTX
HTML5 Japan Cup (5jCup) WebRTC賞
PPTX
5分で分るWebRTCコーデックウォーズ
PDF
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
PDF
5分でわかるWebRTCの仕組み - html5minutes vol.01
PDF
究極のゲーム用通信プロトコルを探せ!
PDF
WebRTC/ORTCの最新動向まるわかり!
PDF
スマホ(Android・iPhone)でWebRTC
PPTX
ORTCの仕様書をざっくり斜め読みする
PDF
スマートフォンでの WebRTC活用
PPTX
02172016 web rtc_conf_komasshu
はじめてのWebRTC/ORTC
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
SkyWayで作るボイスチャット
WebRTC入門 ~沖縄編~
知ってると得するかもしれないConstraintsたち
WebRTCハンズオン
WebRTCでアプリやIoT機器にリアルタイム・コミュニケーションを追加しよう
WebRTC再び
Webrtc最新動向
WebRTCが拓く 新たなWebビジネスの世界
HTML5 Japan Cup (5jCup) WebRTC賞
5分で分るWebRTCコーデックウォーズ
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
5分でわかるWebRTCの仕組み - html5minutes vol.01
究極のゲーム用通信プロトコルを探せ!
WebRTC/ORTCの最新動向まるわかり!
スマホ(Android・iPhone)でWebRTC
ORTCの仕様書をざっくり斜め読みする
スマートフォンでの WebRTC活用
02172016 web rtc_conf_komasshu
Ad

Similar to Web rtcの使い方 (20)

PPTX
WebRTC の紹介
PPTX
iPhoneでなんちゃってWebRTC
PPTX
エフサミ2014 web rtcの傾向と対策
PPTX
HTML5 Night 2014 Web x Network Technology ( WebRTC )
PPTX
Web of Thingsの現状とWebRTC活用の可能性
PPTX
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
PDF
WebRTC入門+最新動向
PDF
Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...
PDF
IoT用途で簡単に使えるWebRTC Engineを作った話
PDF
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
PDF
WebRTCで動かす“テレイグジスタンス”ロボット
PPTX
SkyWay Vision & Mission
PDF
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
PPT
14th apr2015 リックテレコ勉強会
PDF
エンタープライズ環境におけるWebRTC活用のポイント
PDF
HTML5 APIと組み合わせて作るWebRTCアプリ
PDF
HTML5 APIと組み合わせて作るWebRTCアプリ
PPTX
Webによるデバイスを用いたリアルタイムサービスの可能性(神戸ITフェスティバル版)
PDF
HTML5によるリアルタイムコミュニケーション WebRTCの概説
PPTX
レポート
WebRTC の紹介
iPhoneでなんちゃってWebRTC
エフサミ2014 web rtcの傾向と対策
HTML5 Night 2014 Web x Network Technology ( WebRTC )
Web of Thingsの現状とWebRTC活用の可能性
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTC入門+最新動向
Web RTCにより拓かれるコミュニケーションサービスの形 「新たなバリュー創造へ。ntt comのチャレンジ」webアプリケーション エバンジェリスト ...
IoT用途で簡単に使えるWebRTC Engineを作った話
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
WebRTCで動かす“テレイグジスタンス”ロボット
SkyWay Vision & Mission
【初心者向け】WebRTCとボディソニックデバイスを使ったサイクリング体験のリアルタイム共有
14th apr2015 リックテレコ勉強会
エンタープライズ環境におけるWebRTC活用のポイント
HTML5 APIと組み合わせて作るWebRTCアプリ
HTML5 APIと組み合わせて作るWebRTCアプリ
Webによるデバイスを用いたリアルタイムサービスの可能性(神戸ITフェスティバル版)
HTML5によるリアルタイムコミュニケーション WebRTCの概説
レポート
Ad

More from Kensaku Komatsu (16)

PPTX
Media processing with serverless architecture
PPTX
Boxdev lt-09082016
PPTX
a pattern for PWA, PRPL
PPTX
Full Matrix Auto Test Framework for WebRTC
PPTX
WebRTC 101
PDF
04122016 web rtc_globalsummit
PDF
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
PPTX
FirefoxでgetStats()
PPTX
25th nov2014 52thhtml5j
PPTX
うしちゃん WebRTC Chat on SkyWayの開発コードw
PPTX
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
PPTX
Webによるデバイスを用いた
PPTX
最新Webプロトコル傾向と対策
PPTX
An introductiontohtml5j
PPTX
「マンガテレビ」の作り方
PPTX
8th july2013 packaged_apps_codelab
Media processing with serverless architecture
Boxdev lt-09082016
a pattern for PWA, PRPL
Full Matrix Auto Test Framework for WebRTC
WebRTC 101
04122016 web rtc_globalsummit
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
FirefoxでgetStats()
25th nov2014 52thhtml5j
うしちゃん WebRTC Chat on SkyWayの開発コードw
第43回HTML5とか勉強会 最新webプロトコル傾向と対策
Webによるデバイスを用いた
最新Webプロトコル傾向と対策
An introductiontohtml5j
「マンガテレビ」の作り方
8th july2013 packaged_apps_codelab

Web rtcの使い方

  • 1. Copyright © NTT Communications Corporation. All right reserved. WebRTCを使って復興支援アプリを作ろう ~WebRTC ハッカソン~ WebRTCについての解説 NTTコミュニケーションズ株式会社 先端IPアーキテクチャセンタ WebコアTechnical Unit 小松健作 2014年6月7日
  • 2. Copyright © NTT Communications Corporation. All right reserved. 自己紹介 名前:小松健作 所属:NTT communications HTML5の研究開発 標準化活動(W3C) HTML5の啓蒙・コミュニティ運営 Google Developer Expert (HTML5)
  • 3. 3Copyright © NTT Communications Corporation. All right reserved. WebRTCとは?
  • 4. 4Copyright © NTT Communications Corporation. All right reserved. ブラウザで p2p での テレビ電話やファイル交換などを 可能にする技術
  • 5. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは  ブラウザでカメラとマイク、音声と映像を扱える。  ブラウザ間の直接通信、リアルタイム通信が可能になる。  情報が分散型へシフトする。 5 従来のWeb WebRTC カメラやマイ クを利用可 リアルタイ ムに送受信 ブラウザ間 の直接通信 サーバ⇔ク ライアント 間の通信 リクエストと レスポンスの 繰り返し カメラやマイ クの利用不可
  • 6. Copyright © NTT Communications Corporation. All right reserved. WebRTC Reference App 6 https://apprtc.appspot.com/
  • 7. Copyright © NTT Communications Corporation. All right reserved. YouTubeと組み合わせたり 7 https://chat.skyway.io/
  • 8. Copyright © NTT Communications Corporation. All right reserved. Chromecast 8 http://www.google.com/intl/ja_ALL/chrome/devices/chromecast /
  • 9. Copyright © NTT Communications Corporation. All right reserved. Chromecast (cont.) 9 Home Network 再生指示 via WebRTC Movie file via HTTP Web of Things
  • 10. Copyright © NTT Communications Corporation. All right reserved. Platform としての WebRTC 10 専用 アプリ 専用 アプリ 専用 ハード 専用 アプリ 専用 ハード ブラウザ ブラウザ ここが共通化・ 標準化されるだけで、 相当嬉しい
  • 11. Copyright © NTT Communications Corporation. All right reserved. WebRTC SDK, libraries for other env. 11 http://tokbox.com/opentok http://js-platform.github.io/node-webrtc/ https://github.com/alongubkin/phonertc http://www.webrtc.org/reference/native-apis
  • 12. 12Copyright © NTT Communications Corporation. All right reserved. SkyWayの概要 SkyWayを使えば簡単に WebRTCのアプリを開発できる
  • 13. Copyright © NTT Communications Corporation. All right reserved. SkyWayの概要 13 WebRTC利用アプリを簡単に開発できるクラウド基盤  2013年12月5日に提供開始  社外の約600名以上の 開発者が利用している  提供内容 • シグナリング等のAPI • ライブラリ • サンプルアプリ • ドキュメント
  • 14. Copyright © NTT Communications Corporation. All right reserved. WebRTCはWeb開発者にとって難しい技術 14 ブラウザ間で直接通信する前に、サーバ経由で「シグナリング」を 行う必要があり、実装にはネットワークの知識が必要。 14ようやく直接通信できる これらの通信が 完了してから…
  • 15. Copyright © NTT Communications Corporation. All right reserved. SkyWayの特徴 15 SkyWayのシグナリングAPIとライブラリが複雑な処理を担うので、 開発者は簡単にWebRTC利用アプリを開発できる。 STUN API Signaling API STUN API ライブラリ ライブラリ APIとライブ ラリが複雑な 処理を担う
  • 16. Copyright © NTT Communications Corporation. All right reserved. まず、localにWebサーバーをたてる  一番簡単なのは、 • $ python –m SimpleHTTPServer • あとは、apacheとか、nginxとか、expressとかsinatraとか やり方は色々(なんでもいいです) 16
  • 17. Copyright © NTT Communications Corporation. All right reserved. HTMLにライブラリをカキコ <!doctype html> <html> <head> … <script src="https://skyway.io/dist/0.3/peer.min.js"></script> … </head> <body> … </body> </html> 17
  • 18. Copyright © NTT Communications Corporation. All right reserved. SkyWayのブローカーサーバーに繋げる var peer = new Peer({key: 'APIKEY'}); peer.on(‘open’, function(id){ // これが自分のIDになる <= 重要 }); 今回のイベント用のAPIKEYは http://goo.gl/26aMKE にあります。 18 caller callee ID ID
  • 19. Copyright © NTT Communications Corporation. All right reserved. ローカルの映像取り込んで、相手に送信 navigator.webkitGetUserMedia({video:true, audio:true}, function(stream) { // stream が映像・音声データを管理するStreamObject var call = peer.call(‘destination-id’, stream); }, function(err) { // 映像取得エラー }); 19 caller callee
  • 20. Copyright © NTT Communications Corporation. All right reserved. 受信側でAnswer peer.on(‘call’, function(call) { call.answer(stream); }); 20 caller callee
  • 21. Copyright © NTT Communications Corporation. All right reserved. Call – Answerが終わったら映像受信処理 call.on(‘stream’, function(stream) { var url = window.URL.createObjectURL(stream); $(“#you”).attr(“src”, url); $(“#you”)[0].play(); }); 21 caller callee
  • 22. Copyright © NTT Communications Corporation. All right reserved. document http://nttcom.github.io/skyway/docs/ 22
  • 23. Copyright © NTT Communications Corporation. All right reserved. Sample source 23 http://cdn.peerjs.com/demo/videoch at/ https://github.com/nttcom/peerjs/tre e/master/examples/videochat
  • 24. 24Copyright © NTT Communications Corporation. All right reserved. Thank you!! 24