SlideShare a Scribd company logo
1 of 28
Copyright © NTT Communications Corporation. All right reserved.
5jCup WebRTC賞
NTT Communications
仲 裕介
5jcup Hackathon@21cafe
2014/6/14
2Copyright © NTT Communications Corporation. All right reserved.
WebRTCって何?
Copyright © NTT Communications Corporation. All right reserved.
WebRTCって何?
RTC = Real Time Communication
Webブラウザで、
リアルタイムなコミュニケーション/通信
を利用できる技術
3
Copyright © NTT Communications Corporation. All right reserved.
WebRTCって何?
技術的には3つの要素
1. ブラウザ間で直接通信できる
2. リアルタイム通信ができる
3. カメラとマイクを使える
4
従来のWeb WebRTC
カメラやマイ
クを利用可
リアルタイ
ムに送受信
ブラウザ間
の直接通信
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
カメラやマイ
クの利用不可
Copyright © NTT Communications Corporation. All right reserved.
WebRTCって何?
利用例
ビデオチャット、ボイスチャット、
対戦ゲーム、ファイル転送、
ブラウザフォン…
5
従来のWeb WebRTC
カメラやマイ
クを利用可
リアルタイ
ムに送受信
ブラウザ間
の直接通信
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
カメラやマイ
クの利用不可
6Copyright © NTT Communications Corporation. All right reserved.
WebRTCの何がすごいの?
Copyright © NTT Communications Corporation. All right reserved.
7
https://www.flickr.com/photos/tjflex/57210112
Copyright © NTT Communications Corporation. All right reserved.
8
https://www.flickr.com/photos/mattb_tv/2550476978
Copyright © NTT Communications Corporation. All right reserved.
9
今、HTML5デベロッパの手に!
通信キャリアとしては、ちょっと微妙…
10Copyright © NTT Communications Corporation. All right reserved.
WebRTC賞って?
Copyright © NTT Communications Corporation. All right reserved.
WebRTC賞って?
11
日本に、WebRTCのブームを起こしたい。
その一心です。
Copyright © NTT Communications Corporation. All right reserved.
WebRTC賞って?
12
賞金は20万円!
WebRTCを活用した
今までにないような独創的なアイディア求む!
応募作品はプロトタイプレベルでも構いません!
詳しくはこちら
https://5jcup.org/awards/ntt-com
13Copyright © NTT Communications Corporation. All right reserved.
業務連絡 (SkyWayの宣伝)
Copyright © NTT Communications Corporation. All right reserved.
WebRTCは、簡単だけど難しい
14
ブラウザ間で直接通信する前に、サーバ経由で「シグナリング」を
行う必要があり、実装にはネットワークの知識が必要
14ようやく直接通信できる
これらの通信が
完了してから…
Copyright © NTT Communications Corporation. All right reserved.
SkyWayを使えばかんたん
15
SkyWayのAPIとライブラリが複雑な処理をやってくれます。
開発者は、直接通信に専念できます。
STUN
API
Signaling
API
STUN
API
ライブラリ ライブラリ
APIとライブ
ラリが複雑な
処理を担う
16Copyright © NTT Communications Corporation. All right reserved.
SkyWayで簡単WebRTCプログラミング
実際に開発してみる
Copyright © NTT Communications Corporation. All right reserved.
APIキーを申請する
17
ここをクリック
まずはアクセス → http://skyway.io
Copyright © NTT Communications Corporation. All right reserved.
APIキーの申請にはドメインが必要
18
 APIキーの申請に必要なもの
 お名前
 連絡先メールアドレス
 SkyWayを利用するドメイン
 SkyWayを利用するドメイン
 例えば・・・
 ローカルで動かしたい
 127.0.0.1
 localhost
 開発サーバで動かしたい
 dev.domain.jp
 本番サーバで動かしたい
 www.domain.jp
Copyright © NTT Communications Corporation. All right reserved.
開発してみる
19
 STEP1 - ライブラリを読み込む!
<script src="https://skyway.io/dist/0.3/peer.js"></script>
 STEP2 - Peerオブジェクトを生成する!
var APIKEY = '6165842a-5c0d-11e3-b514-75d3313b9d05’;
var peer = new Peer({ key: APIKEY});
Copyright © NTT Communications Corporation. All right reserved.
開発してみる
20
 STEP3 - 相手からの着信イベントを処理する!
peer.on('open', function(){
//自分のPeerID(いわゆる電話番号)が生成されたら発火する
});
peer.on('call', function(call){
//相手からの着信があった場合に応答する
call.answer(window.localStream);
});
peer.on('error', function(err){
//何らかのエラーが発生した場合に発火する
console.log(err.message);
});
Copyright © NTT Communications Corporation. All right reserved.
開発してみる
21
 STEP4 - 自分自身のオーディオ、ビデオストリームを取得する!
navigator.getUserMedia({audio: true, video: true}, function(stream){
//自分のVideoタグに表示
$('#my-video').prop('src', URL.createObjectURL(stream));
//相手に送るために保存
window.localStream = stream;
}, function(err){
//エラー処理は必須
console.log(err);
});
Copyright © NTT Communications Corporation. All right reserved.
開発してみる
22
 STEP5 - 相手に発信&発信後のイベントを処理する!
var call = peer.call(PeerId, window.localStream);
call.on('stream', function(stream){
//相手のオーディオ、ビデオストリームをVideoタグに表示
$('#their-video').prop('src', URL.createObjectURL(stream));
});
call.on('close’,function(){
//相手が切断した場合に切断処理を行う
});
※PeerIDの受け渡しは開発者が独自に実装する必要あり
peer.listAllPeers()というメソッドも用意しています
詳しくは開発者フォーラムを → http://goo.gl/NvXDQq
Copyright © NTT Communications Corporation. All right reserved.
23
とりあえず。
ビデオチャット組み
込めばOKじゃね?
http://goo.gl/OD2VRD
Copyright © NTT Communications Corporation. All right reserved.
SkyWayを活用してもらうために
開発に必要な様々な情報を提供
Copyright © NTT Communications Corporation. All right reserved.
開発に必要な情報
 localhostのみで利用可能なAPIキー(全開発者に公開)
• 6165842a-5c0d-11e3-b514-75d3313b9d05
 クライアントライブラリの日本語ドキュメント
• クライアントはオープンソースのPeerJS互換
• PeerJSのドキュメントに一部修正を加え日本語化して公開中
25
http://nttcom.github.io/skyway/docs/
Copyright © NTT Communications Corporation. All right reserved.
開発に必要な情報
 開発者向けフォーラムを用意
• SkyWay Technical Forum
 だれでも参加可能!
 中の人が懇切丁寧に開発者の疑問質問にお答え!
 WebRTCに関す日本語での情報交換に活用してください
26
http://goo.gl/enBkcF
Copyright © NTT Communications Corporation. All right reserved.
27
日本に、WebRTCのブームを起こしたい。
ご応募お待ちしています!
Copyright © NTT Communications Corporation. All right reserved.
Let’s Enjoy 5jcup Hackathon.
https://www.flickr.com/photos/hackny/5684846071/

More Related Content

What's hot

SORACOM Bootcamp Rec1 - SORACOM Air (1)
SORACOM Bootcamp Rec1 - SORACOM Air (1)SORACOM Bootcamp Rec1 - SORACOM Air (1)
SORACOM Bootcamp Rec1 - SORACOM Air (1)SORACOM,INC
 
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組みSORACOM,INC
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係SORACOM,INC
 
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=SORACOM,INC
 
SORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM,INC
 
【Twilio client】twiliox azureハンズオン
【Twilio client】twiliox azureハンズオン【Twilio client】twiliox azureハンズオン
【Twilio client】twiliox azureハンズオンtwilioforkwc
 
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会SORACOM,INC
 
仕事部屋の温度管理をLambdaで実施した話
仕事部屋の温度管理をLambdaで実施した話仕事部屋の温度管理をLambdaで実施した話
仕事部屋の温度管理をLambdaで実施した話虎の穴 開発室
 
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM,INC
 
SORACOM Bootcamp Rec2 - SORACOM Beam
SORACOM Bootcamp Rec2 - SORACOM BeamSORACOM Bootcamp Rec2 - SORACOM Beam
SORACOM Bootcamp Rec2 - SORACOM BeamSORACOM,INC
 
SORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM InventorySORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM InventorySORACOM,INC
 
Soracom gateによるルータの向こう側
Soracom gateによるルータの向こう側Soracom gateによるルータの向こう側
Soracom gateによるルータの向こう側Ishikawa Shogo
 
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...SORACOM,INC
 
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜SORACOM,INC
 
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜SORACOM,INC
 

What's hot (16)

SORACOM Bootcamp Rec1 - SORACOM Air (1)
SORACOM Bootcamp Rec1 - SORACOM Air (1)SORACOM Bootcamp Rec1 - SORACOM Air (1)
SORACOM Bootcamp Rec1 - SORACOM Air (1)
 
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み
将来のネットワークインフラに関する研究会 | 次世代通信サービスに求められる機能とSORACOMの取り組み
 
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
JAWS DAYS 2018 | IoT時代におけるデバイスのファームウェアとクラウドのいい関係
 
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=
IoT 本格化に必要な通信プラットフォームとは =SORACOM の戦略とお客様事例=
 
SORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & UpdatesSORACOM UG 信州 #3 | About SORACOM & Updates
SORACOM UG 信州 #3 | About SORACOM & Updates
 
【Twilio client】twiliox azureハンズオン
【Twilio client】twiliox azureハンズオン【Twilio client】twiliox azureハンズオン
【Twilio client】twiliox azureハンズオン
 
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会
SORACOM アップデート | SORACOM UG #5 忘年LT大会&re:Invent報告会
 
仕事部屋の温度管理をLambdaで実施した話
仕事部屋の温度管理をLambdaで実施した話仕事部屋の温度管理をLambdaで実施した話
仕事部屋の温度管理をLambdaで実施した話
 
20181218 awsreinvent report
20181218 awsreinvent report20181218 awsreinvent report
20181218 awsreinvent report
 
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
SORACOM LoRaWAN Conference 2017 | LoRaWAN活用の展望  〜パネルディスカッション〜
 
SORACOM Bootcamp Rec2 - SORACOM Beam
SORACOM Bootcamp Rec2 - SORACOM BeamSORACOM Bootcamp Rec2 - SORACOM Beam
SORACOM Bootcamp Rec2 - SORACOM Beam
 
SORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM InventorySORACOM Bootcamp Rec12 | SORACOM Inventory
SORACOM Bootcamp Rec12 | SORACOM Inventory
 
Soracom gateによるルータの向こう側
Soracom gateによるルータの向こう側Soracom gateによるルータの向こう側
Soracom gateによるルータの向こう側
 
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...
Enterprise API Hack Night #13 | LoRaWANは簡単!SORACOM Air for LoRaWANを用いたプロトタイプデ...
 
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜
SORACOM Conference Discovery 2017 | A3. IoT時代のデバイスマネジメント〜SORACOM Inventory の活用〜
 
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
Developer Festa Sapporo 2016 | 誰もがIoTエンジニアになれる 〜IoT 通信プラットフォーム SORACOM〜
 

Viewers also liked

FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例Yusuke Naka
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするYusuke Naka
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみるYusuke Naka
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術Yusuke Naka
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングYusuke Naka
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオンYusuke Naka
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-Yusuke Naka
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由Yusuke Naka
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会Yusuke Naka
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発Yusuke Naka
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCYusuke Naka
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!Yusuke Naka
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側Yusuke Naka
 

Viewers also liked (15)

SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
getUserMedia
getUserMediagetUserMedia
getUserMedia
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!WebRTC/ORTCの最新動向まるわかり!
WebRTC/ORTCの最新動向まるわかり!
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 

Similar to 5jCup WebRTC賞

HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞Ryosuke Otsuya
 
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探るビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探るKensaku Komatsu
 
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI Kensaku Komatsu
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTCRyosuke Otsuya
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Kensaku Komatsu
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向Ryosuke Otsuya
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会Kensaku Komatsu
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!Ryosuke Otsuya
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocketAdvancedTechNight
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSKensaku Komatsu
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向NTT Software Innovation Center
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~Saki Homma
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-Saki Homma
 
【HackerWars 】ニフティクラウドmobile backend
【HackerWars 】ニフティクラウドmobile backend【HackerWars 】ニフティクラウドmobile backend
【HackerWars 】ニフティクラウドmobile backend史識 川原
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るGo Miyasaka
 

Similar to 5jCup WebRTC賞 (20)

HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞HTML5 Japan Cup (5jCup) WebRTC賞
HTML5 Japan Cup (5jCup) WebRTC賞
 
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探るビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
ビデオ通話・P2Pがコモディティ化する世界 WebRTCによるこれからを探る
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
WebRTCにより可視化されるリアルタイムクラウド。求められるAPI
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTC
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
 
WebRTC入門+最新動向
WebRTC入門+最新動向WebRTC入門+最新動向
WebRTC入門+最新動向
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会14th apr2015 リックテレコ勉強会
14th apr2015 リックテレコ勉強会
 
10th jan 2013_miyazaki
10th jan 2013_miyazaki10th jan 2013_miyazaki
10th jan 2013_miyazaki
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!
 
これから利用拡大?WebSocket
これから利用拡大?WebSocketこれから利用拡大?WebSocket
これから利用拡大?WebSocket
 
WebRTCについて
WebRTCについてWebRTCについて
WebRTCについて
 
WebRTC の紹介
WebRTC の紹介WebRTC の紹介
WebRTC の紹介
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向OpenStack Swiftとそのエコシステムの最新動向
OpenStack Swiftとそのエコシステムの最新動向
 
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
実践 Web App for Containers! ~コンテナ開発の基礎からDevOps環境の構築まで~
 
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
はじめてのAzure Web App for Containers! -コンテナの基礎から DevOps 環境の構築まで-
 
【HackerWars 】ニフティクラウドmobile backend
【HackerWars 】ニフティクラウドmobile backend【HackerWars 】ニフティクラウドmobile backend
【HackerWars 】ニフティクラウドmobile backend
 
Spring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作るSpring Boot × Vue.jsでSPAを作る
Spring Boot × Vue.jsでSPAを作る
 

More from Yusuke Naka

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-Yusuke Naka
 
SkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffYusuke Naka
 
SkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffYusuke Naka
 
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことYusuke Naka
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜Yusuke Naka
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけYusuke Naka
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズYusuke Naka
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)Yusuke Naka
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向Yusuke Naka
 

More from Yusuke Naka (9)

SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-
 
SkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 KickoffSkyWay UG Kansai #1 Kickoff
SkyWay UG Kansai #1 Kickoff
 
SkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 KickoffSkyWay UG Tokyo #1 Kickoff
SkyWay UG Tokyo #1 Kickoff
 
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
 
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
実践 WebRTC 〜最新事例と開発ノウハウの紹介〜
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
 

5jCup WebRTC賞

  • 1. Copyright © NTT Communications Corporation. All right reserved. 5jCup WebRTC賞 NTT Communications 仲 裕介 5jcup Hackathon@21cafe 2014/6/14
  • 2. 2Copyright © NTT Communications Corporation. All right reserved. WebRTCって何?
  • 3. Copyright © NTT Communications Corporation. All right reserved. WebRTCって何? RTC = Real Time Communication Webブラウザで、 リアルタイムなコミュニケーション/通信 を利用できる技術 3
  • 4. Copyright © NTT Communications Corporation. All right reserved. WebRTCって何? 技術的には3つの要素 1. ブラウザ間で直接通信できる 2. リアルタイム通信ができる 3. カメラとマイクを使える 4 従来のWeb WebRTC カメラやマイ クを利用可 リアルタイ ムに送受信 ブラウザ間 の直接通信 サーバ⇔ク ライアント 間の通信 リクエストと レスポンスの 繰り返し カメラやマイ クの利用不可
  • 5. Copyright © NTT Communications Corporation. All right reserved. WebRTCって何? 利用例 ビデオチャット、ボイスチャット、 対戦ゲーム、ファイル転送、 ブラウザフォン… 5 従来のWeb WebRTC カメラやマイ クを利用可 リアルタイ ムに送受信 ブラウザ間 の直接通信 サーバ⇔ク ライアント 間の通信 リクエストと レスポンスの 繰り返し カメラやマイ クの利用不可
  • 6. 6Copyright © NTT Communications Corporation. All right reserved. WebRTCの何がすごいの?
  • 7. Copyright © NTT Communications Corporation. All right reserved. 7 https://www.flickr.com/photos/tjflex/57210112
  • 8. Copyright © NTT Communications Corporation. All right reserved. 8 https://www.flickr.com/photos/mattb_tv/2550476978
  • 9. Copyright © NTT Communications Corporation. All right reserved. 9 今、HTML5デベロッパの手に! 通信キャリアとしては、ちょっと微妙…
  • 10. 10Copyright © NTT Communications Corporation. All right reserved. WebRTC賞って?
  • 11. Copyright © NTT Communications Corporation. All right reserved. WebRTC賞って? 11 日本に、WebRTCのブームを起こしたい。 その一心です。
  • 12. Copyright © NTT Communications Corporation. All right reserved. WebRTC賞って? 12 賞金は20万円! WebRTCを活用した 今までにないような独創的なアイディア求む! 応募作品はプロトタイプレベルでも構いません! 詳しくはこちら https://5jcup.org/awards/ntt-com
  • 13. 13Copyright © NTT Communications Corporation. All right reserved. 業務連絡 (SkyWayの宣伝)
  • 14. Copyright © NTT Communications Corporation. All right reserved. WebRTCは、簡単だけど難しい 14 ブラウザ間で直接通信する前に、サーバ経由で「シグナリング」を 行う必要があり、実装にはネットワークの知識が必要 14ようやく直接通信できる これらの通信が 完了してから…
  • 15. Copyright © NTT Communications Corporation. All right reserved. SkyWayを使えばかんたん 15 SkyWayのAPIとライブラリが複雑な処理をやってくれます。 開発者は、直接通信に専念できます。 STUN API Signaling API STUN API ライブラリ ライブラリ APIとライブ ラリが複雑な 処理を担う
  • 16. 16Copyright © NTT Communications Corporation. All right reserved. SkyWayで簡単WebRTCプログラミング 実際に開発してみる
  • 17. Copyright © NTT Communications Corporation. All right reserved. APIキーを申請する 17 ここをクリック まずはアクセス → http://skyway.io
  • 18. Copyright © NTT Communications Corporation. All right reserved. APIキーの申請にはドメインが必要 18  APIキーの申請に必要なもの  お名前  連絡先メールアドレス  SkyWayを利用するドメイン  SkyWayを利用するドメイン  例えば・・・  ローカルで動かしたい  127.0.0.1  localhost  開発サーバで動かしたい  dev.domain.jp  本番サーバで動かしたい  www.domain.jp
  • 19. Copyright © NTT Communications Corporation. All right reserved. 開発してみる 19  STEP1 - ライブラリを読み込む! <script src="https://skyway.io/dist/0.3/peer.js"></script>  STEP2 - Peerオブジェクトを生成する! var APIKEY = '6165842a-5c0d-11e3-b514-75d3313b9d05’; var peer = new Peer({ key: APIKEY});
  • 20. Copyright © NTT Communications Corporation. All right reserved. 開発してみる 20  STEP3 - 相手からの着信イベントを処理する! peer.on('open', function(){ //自分のPeerID(いわゆる電話番号)が生成されたら発火する }); peer.on('call', function(call){ //相手からの着信があった場合に応答する call.answer(window.localStream); }); peer.on('error', function(err){ //何らかのエラーが発生した場合に発火する console.log(err.message); });
  • 21. Copyright © NTT Communications Corporation. All right reserved. 開発してみる 21  STEP4 - 自分自身のオーディオ、ビデオストリームを取得する! navigator.getUserMedia({audio: true, video: true}, function(stream){ //自分のVideoタグに表示 $('#my-video').prop('src', URL.createObjectURL(stream)); //相手に送るために保存 window.localStream = stream; }, function(err){ //エラー処理は必須 console.log(err); });
  • 22. Copyright © NTT Communications Corporation. All right reserved. 開発してみる 22  STEP5 - 相手に発信&発信後のイベントを処理する! var call = peer.call(PeerId, window.localStream); call.on('stream', function(stream){ //相手のオーディオ、ビデオストリームをVideoタグに表示 $('#their-video').prop('src', URL.createObjectURL(stream)); }); call.on('close’,function(){ //相手が切断した場合に切断処理を行う }); ※PeerIDの受け渡しは開発者が独自に実装する必要あり peer.listAllPeers()というメソッドも用意しています 詳しくは開発者フォーラムを → http://goo.gl/NvXDQq
  • 23. Copyright © NTT Communications Corporation. All right reserved. 23 とりあえず。 ビデオチャット組み 込めばOKじゃね? http://goo.gl/OD2VRD
  • 24. Copyright © NTT Communications Corporation. All right reserved. SkyWayを活用してもらうために 開発に必要な様々な情報を提供
  • 25. Copyright © NTT Communications Corporation. All right reserved. 開発に必要な情報  localhostのみで利用可能なAPIキー(全開発者に公開) • 6165842a-5c0d-11e3-b514-75d3313b9d05  クライアントライブラリの日本語ドキュメント • クライアントはオープンソースのPeerJS互換 • PeerJSのドキュメントに一部修正を加え日本語化して公開中 25 http://nttcom.github.io/skyway/docs/
  • 26. Copyright © NTT Communications Corporation. All right reserved. 開発に必要な情報  開発者向けフォーラムを用意 • SkyWay Technical Forum  だれでも参加可能!  中の人が懇切丁寧に開発者の疑問質問にお答え!  WebRTCに関す日本語での情報交換に活用してください 26 http://goo.gl/enBkcF
  • 27. Copyright © NTT Communications Corporation. All right reserved. 27 日本に、WebRTCのブームを起こしたい。 ご応募お待ちしています!
  • 28. Copyright © NTT Communications Corporation. All right reserved. Let’s Enjoy 5jcup Hackathon. https://www.flickr.com/photos/hackny/5684846071/

Editor's Notes

  1. ここだけの話払い出しは人力・・・実は先週からダッシュボード機能の開発に着手しまして、6月末までにはリリースしたい。
  2. ここだけの話払い出しは人力・・・実は先週からダッシュボード機能の開発に着手しまして、6月末までにはリリースしたい。
  3. ここだけの話払い出しは人力・・・実は先週からダッシュボード機能の開発に着手しまして、6月末までにはリリースしたい。
  4. ここだけの話払い出しは人力・・・実は先週からダッシュボード機能の開発に着手しまして、6月末までにはリリースしたい。
  5. ここだけの話払い出しは人力・・・実は先週からダッシュボード機能の開発に着手しまして、6月末までにはリリースしたい。