SlideShare a Scribd company logo
1 of 90
Download to read offline
Copyright © NTT Communications Corporation. All right reserved.
HTML5 Conference
WebRTC/ORTC 最新動向まるわかり!
NTTコミュニケーションズ
ナカユウスケ
2015年1⽉25⽇
Copyright © NTT Communications Corporation. All right reserved.
⾃⼰紹介
u 名前:仲 裕介(@Tukimikage)
u 所属:NTTコミュニケーションズ 技術開発部
u コミュニティワーク:
html5j⾃動⾞部部⻑
http://automotive.html5j.org
WebRTC Meetup Tokyo 主催
http://webrtcjp.info/
2
Copyright © NTT Communications Corporation. All right reserved.
⾃⼰紹介
u オフィシャルワーク1
HTML5 Experts.jpの運営
・HTML5に特化した
Web技術者向け情報メディア
・⽇本最⾼峰のWebエキスパート、
コントリビューターによる情報発信
3
http://html5experts.jp
Copyright © NTT Communications Corporation. All right reserved.
⾃⼰紹介
u オフィシャルワーク2
WebRTC開発者向けプラットフォームSkyWayの開発・運営
・2013年12⽉5⽇に提供開始
・約1100名の開発者が利⽤
・詳しくは後ほど!
4
https://skyway.io
Copyright © NTT Communications Corporation. All right reserved.
本⽇の内容
u 概要編
u WebRTCとは
u WebRTCの技術要素
u 標準化編
u WebRTC標準化の進め⽅
u 最新の標準化動向
u ORTC編
u ORTCとは
u ORTCの歴史
u ORTCの技術仕様
u ORTCの今後
u 活⽤事例編
u WebRTC活⽤事例
u デモンストレーション
u 最後に
5
Copyright © NTT Communications Corporation. All right reserved.
想定読者・聴者
1. WebRTC/ORTCについては名前を聞いたことがあるレベル、
機会があれば触ってみたいと思っている⼈
2. WebRTC/ORTCについてはそれなりに知っているが、業界の
最新動向をひと通り頭に⼊れておきたい⼈
3. WebRTC/ORTCは完全マスター!バリバリコードも書いてて、
最新動向もバッチリ!
4. それ以外
6
7Copyright © NTT Communications Corporation. All right reserved.
概要編
WebRTCとは
Copyright © NTT Communications Corporation. All right reserved.
HTML5の全体像
HTML5が提供する機能は多岐にわたる。WebRTCはその⼀つの技術。
8
引⽤元:http://www.slideshare.net/dynamis/web-standards-infographics
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは(概要)
n ひとことで⾔うと「ブラウザでテレビ電話を実現する技術」
n ブラウザだけで、プラグインのインストール無しに、Web会議、
ボイスチャット、テキストチャット、ファイル転送、電話との
連携等が実現可能。
9
従来のWeb WebRTC
カメラやマイ
クを利⽤可
リアルタイ
ムに送受信
ブラウザ間
の直接通信
サーバ⇔ク
ライアント
間の通信
リクエストと
レスポンスの
繰り返し
カメラやマイ
クの利⽤不可
サーバ サーバ
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは(技術⾯)
技術的には2つの側⾯がある。
1. ⾳声、映像、データのリアルタイム・コミュニケーションのオープン標準
l 従来のサービス(WebEx、Skype等)は互換性がなく、独⾃技術を含む。
WebRTCは相互接続が保証され、ライセンス使⽤料が不要。
l 以下の内容が定められた。
① ⾳声と映像の形式(コーデック)
② ネットワーク機器(NAT、Firewall等)を越えて直接通信するための⼿順
③ 暗号化、到達保証、順序制御、流量・輻輳制御を実現するプロトコル
2. ブラウザとネイティブアプリの両⽅で利⽤できる
l WebRTC対応ブラウザにURLを⼊⼒するだけで、WebRTCを利⽤したサービス
を利⽤できる。
l オープンソースのC++のコードを利⽤しコンパイルすれば、ネイティブアプリ
にWebRTC機能を組み込むこともできる。
10
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとは(ビジネス⾯)
ビジネス⾯では以下の3つの影響がある。
1. リアルタイム・コミュニケーションのオープン標準
• マルチデバイス、マルチOSのコミュニケーション系サービスを開発する際の
WebRTCの活⽤が始まり、徐々に拡⼤している。
• IoT分野で、リアルタイム通信が必要な場合に、WebRTC採⽤の
機器も登場している。
2. ブラウザで利⽤できる
• インストール不要なため、サポートコストの削減や低ITリテラシ層の利⽤が可能。
• HTML5、JavaScriptの記述だけで動作するため、既存のWebサービスや社内シス
テムとの連携や組み込みが容易。
3. 電話との連携
• WebRTCを端末⇔ゲートウェイ間で利⽤することにより、電話と連携できる。
コンタクトセンタ分野にもWebRTCが適⽤できる。
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの対応状況
12
対応状況 OS アプリ 備考
✔ Windows Chrome
✔ Windows Firefox テレビ電話機能も搭載
✘ Windows IE
2014年10⽉に開発着⼿を発表
ORTCが実装される予定
✔ Windows ネイティブ 要コンパイル
✔ Mac Chrome
✔ Mac Firefox テレビ電話機能も搭載
✘ Mac Safari 標準化に参加し始めたらしい
✔ Mac ネイティブ 要コンパイル
✔ Android Chrome
✔ Android Firefox
✔ Android 標準ブラウザ Android 5.0で対応
✔ Android ネイティブ 要コンパイル
✘ iOS Chrome
✘ iOS Safari 標準化に参加し始めたらしい
✔ iOS ネイティブ 要コンパイル
13Copyright © NTT Communications Corporation. All right reserved.
概要編
WebRTCの技術要素
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの仕組み
14
WebRTCと⼀⾔で⾔っても様々な技術が使われている。
仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
1.ICE
2.シグナリング
3.P2Pによるセキュアなリアルタイム通信
4.⾳声、映像処理
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの仕組み
15
1.ICE
2.シグナリング
3.P2Pによるセキュアなリアルタイム通信
4.⾳声、映像処理
WebRTCと⼀⾔で⾔っても様々な技術が使われている。
仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
16
NAT
NAT
STUN
サーバ
Signaling
サーバ
STUN
サーバ
WebRTC Cli WebRTC Cli
• WebRTCクライアント同⼠がPeerToPeerでネットワークを介してつな
がるために必要な仕組みを提供する
・STUN
・⾃分のグローバルIP、
ポート番号を知る
・UDPホールパンチングという
仕組みでNATに⽳を開ける
・NATの種類を判定
(WebRTCでは使ってない)
・TURN
・どうしてもNATに⽳を開けら
れない場合に、データ通信を
中継する仕組み
・WebRTCコネクション全体の
8〜9%はTURNが必要と
⾔われている
TURN
サーバ
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
17
• UDPホールパンチング
NAT
STUN
NAT
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
18
• UDPホールパンチング
俺のグローバル
IPとポート番号
教えて
111.111.111.111
50000番やで
NAT
STUN
NAT
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
19
• UDPホールパンチング
俺のグローバル
IPとポート番号
教えて
222.222.222.222
20000番やで
NAT
STUN
NAT
IP:111.111.111.111
PORT:10000番
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
20
• UDPホールパンチング
NAT
STUN
NAT
IP:111.111.111.111
PORT:10000番
IP:222.222.222.222
PORT:20000番
互いのIPと
PORTを何らか
の⼿段で交換
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
21
• UDPホールパンチング
NAT
STUN
NAT
IP:222.222.222.222
PORT:20000番
IP:111.111.111.111
PORT:10000番
アクセスさせ
てー! だめー。
⽳開いた!
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
22
• UDPホールパンチング
NAT
STUN
NAT
IP:222.222.222.222
PORT:20000番
IP:111.111.111.111
PORT:10000番
通れる!!
アクセスさせてー。
⽳開いた!
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
23
• UDPホールパンチング
NAT
STUN
NAT
IP:222.222.222.222
PORT:20000番
IP:111.111.111.111
PORT:10000番
もしかして!
通れる!!
Copyright © NTT Communications Corporation. All right reserved.
ICE(Interactive Connectivity Establishment)
24
• STUNとTURNの使いどころ
これらNATの仕組みについてはこちらの資料がオススメ!
「WebRTCの裏側にあるNATの話」(@iwashi86)ー http://goo.gl/Ps2p0i
NAT
Type
フルコーン 制限付きフ
ルコーン
ポート制限
付きフル
コーン
シンメト
リック
フルコーン STUN STUN STUN STUN *1
制限付きフ
ルコーン
STUN STUN STUN STUN *2
ポート制限
付きフル
コーン
STUN STUN STUN TURN
シンメト
リック
STUN *1 STUN *2 TURN TURN
※厳密に細分化すると9パターンあります。
*1 2015/1/26修正
*2 2017/2/13修正
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの仕組み
25
1.ICE
2.シグナリング
3.P2Pによるセキュアなリアルタイム通信
4.⾳声、映像処理
WebRTCと⼀⾔で⾔っても様々な技術が使われている。
仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
Copyright © NTT Communications Corporation. All right reserved.
シグナリング
26
NAT
NAT
STUN
サーバ
Signaling
サーバ
STUN
サーバ
WebRTC Cli WebRTC Cli
• ICEの仕組み等を利⽤して取得した情報を、互いにやりとりするため
に必要な情報を交換する仕組み
・どのような仕組みを⽤いても良い
・WebSocket
・XHRロングポーリング
・SIP
・⼿動(笑)
・情報はSDP(Session Description Protocol)
を⽤いて情報交換する
・テキストベースのプロトコル
・IPアドレス、ポート番号、
映像、⾳声コーデック情報
などを記載して交換する
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの仕組み
27
1.ICE
2.シグナリング
3.P2Pによるセキュアなリアルタイム通信
4.⾳声、映像処理
WebRTCと⼀⾔で⾔っても様々な技術が使われている。
仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
Copyright © NTT Communications Corporation. All right reserved.
P2Pによるセキュアなリアルタイム通信
28
• すべての準備が整うとP2Pによる通信
を開始
・P2P接続を維持するために、
接続後も裏で定期的にSTUNへの
通信やSDP情報の交換が⾏われる
・DTLS
・通信経路暗号化
・データ整合性の保証
・認証⾏為は⾏わない(オレオレ証明書)
・映像・⾳声
・セキュアなリアルタイム通信(SRTP)
・AES(共通鍵暗号化)
・鍵交換にDTLSを⽤いる(DTLS-SRTP)
・データ
・TCP同様の信頼性、到達順序性、フロー制御、
輻輳制御をUDP上で実現
・セキュアなDTLS上で動作する
NAT
NAT
STUN
サーバ
Signaling
サーバ
STUN
サーバ
WebRTC Cli WebRTC Cli
IP
UDP
SCTPSRTP
DTLS
⾳声・映像 データ
Copyright © NTT Communications Corporation. All right reserved.
WebRTCの仕組み
29
1.ICE
2.シグナリング
3.P2Pによるセキュアなリアルタイム通信
4.⾳声、映像処理
WebRTCと⼀⾔で⾔っても様々な技術が使われている。
仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
Copyright © NTT Communications Corporation. All right reserved.
⾳声、動画処理
30
• WebブラウザはPCの⾳声映像ストリームにアクセスできる
・getUserMedia(WebAPI)
プラットフォーム上の
⾳声、映像ストリームを取得できる
w3cによって規定されたAPI
・ブラウザに実装された
エンジンによって、
エンコード、デコード処理がなされる
・コーデック
・Video*1:VP8、H.264
・Audio:Opus、G.711 PCMA & PCMU
※1 2014/11のIETF91で、Webブラウザは
両⽅のコーデックを搭載することと決まった。
デバイスハードウェア
⾳声処理エンジン
コーデック
ジッタ/パケロス補正
エコー除去
ノイズリダクション
映像処理エンジン
コーデック
ジッタ/パケロス補正
⾳声・動画同期
画像補正
⾳声キャプチャ 動画キャプチャ
内部WebRTC API
WebAPI(W3C)
引⽤元:オライリー・ジャパン
「ハイパフォーマンスブラウザネットワーキング」 P.301
31Copyright © NTT Communications Corporation. All right reserved.
標準化編
WebRTC標準化の進め⽅
Copyright © NTT Communications Corporation. All right reserved.
W3CとIETFによる標準化
n WebRTCとIETFによって標準化が進められている。
• W3C
• Web Real-Time Communications Working Group
• http://www.w3.org/2011/04/webrtc/
• Webブラウザに実装するAPIの標準化を担当する
• IETF
• Real-Time Communication in WEB-browsers Working Group
• http://tools.ietf.org/wg/rtcweb/
• プロトコルレベルでの標準化を担当する
• オーディオやビデオのコーデック、セキュリティ、JSEP、ICE、データ通信プロトコル等
の標準化を担当する
32
今回は主にW3Cに関しての標準化を取り上げます
Copyright © NTT Communications Corporation. All right reserved.
W3Cによる標準化
n W3Cによる標準化のロードマップ
33
WebRTC 1.0
Media Capture
and Streams
MediaStream
Recording
MediaStream
Image Capture
MediaStream
Depth Stream
Extensions
Identifiers for
WebRTC’s
Statistics API
※W3C公式のWorking draftになっているものだけ記載
2013/9/10
Working Draft
2014.12013.6 2014.6 2015.1
2014/12/5
Editor’s Draft
2015.6
2013/9/3
Working Draft
2014/12/6
Editor’s Draft
2015 1Q
Last Call
2013/2/5
Working Draft
2013/7/9
Working Draft
2014/10/7
Working Draft
2014/10/21
Working Draft
2015/1/23
Editor’s Draft
2015/1/17
Editor’s Draft
Copyright © NTT Communications Corporation. All right reserved.
W3Cによる標準化
n W3Cによる標準化のロードマップ
34
WebRTC 1.0
Media Capture
and Streams
MediaStream
Recording
MediaStream
Image Capture
MediaStream
Depth Stream
Extensions
Identifiers for
WebRTC’s
Statistics API
※W3C公式のWorking draftになっているものだけ記載
2013/9/10
Working Draft
2014.12013.6 2014.6 2015.1
2014/12/5
Editor’s Draft
2015.6
2013/9/3
Working Draft
2014/12/6
Editor’s Draft
2015 1Q
Last Call
2013/2/5
Working Draft
2013/7/9
Working Draft
2014/10/7
Working Draft
2014/12/21
Working Draft
2015/1/23
Editor’s Draft
2015/1/17
Editor’s Draft
Media Capture Task Forceが標準を担当
(WebRTC WGとDeviceAPIs WG合同のTF)
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n W3Cで議論中の主要なAPI
35
WebRTC 1.0
p RTCPeerConnection API
Ø ICEの仕組みを利⽤してリモートのPeerと接続する機能を提供する
Ø リモートのPeerとの間でストリームの送受信を⾏う
Ø リモートのPeerとの間で任意のデータの送受信を⾏う
Media Capture and Streams
p MediaStream API
Ø マイクやカメラなどのローカルマルチメディアデバイスへの、
アクセス⼿段を提供する
Ø 取得したメディストリームを管理するための機能を提供する
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n W3Cで議論中の主要なAPI
36
WebRTC 1.0
p RTCPeerConnection API
Ø ICEの仕組みを利⽤してリモートのPeerと接続する機能を提供する
Ø リモートのPeerとの間でストリームの送受信を⾏う
Ø リモートのPeerとの間で任意のデータの送受信を⾏う
Media Capture and Streams
p MediaStream API
Ø マイクやカメラなどのローカルマルチメディアデバイスへの、
アクセス⼿段を提供する
Ø 取得したメディストリームを管理するための機能を提供する
getUserMediaもこちら
37Copyright © NTT Communications Corporation. All right reserved.
標準化編
最新の標準化動向
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n 標準化の場でどのような議論がなされて
いるのか?
• 2013/11/12@TPAC2013 オフライン・
ミーティング
ü 中国 深セン
• 2014/05/19-21@オフライン・ミーティン
グ
ü アメリカ ワシントンDC
• 2014/10/30-31@TPAC2014 オフライ
ン・ミーティング
ü アメリカ ワシントンDC
⾊々な話題が議論されているが、私が考える重要項⽬を4つピックアップ
引⽤元:http://html5experts.jp/alan-iida/11325/
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n WebRTC Stats APIの提案
• 様々な統計情報を収集するAPI
• 2014/10のTPACで提案がなされる
ü 統計情報としてどのような情報を開発者は知りたいのか?
ü 必要性を含めて継続してディスカッションする必要あり
• 2014/5のオフミで継続議論
ü いくつかのAPIが提案される
ü ICEに関する様々情報を収集するAPI
ü メディアストリームに関する様々情報を収集するAPI
ü https://www.w3.org/2011/04/webrtc/wiki/Stats
• 2014/10/21に最初のWorkingDraftをリリース
ü http://www.w3.org/TR/2014/WD-webrtc-stats-20141021/
Ø ピア・ツー・ピア接続で送信されるオーディオ・ビデオ・データパケットの損失や
ネットワークの遅延状況など、潜在的なネットワークの性能を、WebRTCアプリ
ケーションで監視するためのAPIを提供する。
39
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n DTLS Key Controlの提案
• DTLSの証明書はPeer⾃⾝が本⼈であることを証明するもの
(現在はブラウザが⾃動⽣成するオレオレ証明書だけど・・)
• これを、WebCryptoAPIを利⽤して⽣成できるようにするAPI
を提案
• 利⽤イメージ
theKey = RTCKeys.generate(algorithm);
pc = new RTCPeerConnection({ dtlsKeys: [ theKey ] } );
• WebCryptoAPIが公開鍵暗号(楕円曲線暗号⽅式)に対応して
いるかどうかが課題となり、議論は先送りに(2014.10
TPAC)
40
引⽤元:https://www.w3.org/2011/04/webrtc/wiki/images/f/f3/Keys.pdf
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n RTCRtpSender / RTCRtpReceiver の提案
• SDPを扱うための新しいアプローチとしてGoogleから提案
• メディアストリームをトラックという概念で扱い、
RTPSender/Receiverオブジェクトに紐付けて管理することで、
メディアを扱いやすく(エンコードパラメータ変更やトラック
の追加削除、複製等が簡単に)する
• ORTCで提案された仕様がまさにこれ
• WebRTC1.0でどこまで取り込むかはこれから議論
41
引⽤元:
https://www.w3.org/2011/04/webrtc/wik
i/images/6/6c/WebRTC_RTCSender-
Receiver%2C_TPAC_2014.pdf
Copyright © NTT Communications Corporation. All right reserved.
W3C標準化動向
n Promises利⽤の提案
• WebRTC 1.0仕様書の中の⼀部のAPI並びに、
getUserMedianでは、callbackの記述⽅法としてPromises
が推奨になった
• エラー処理の集中とネストが深くならないようにする
navigator.mediaDevices.getUserMedia({ video: true })
.then(stream => pc1.addStream(v1.srcObject = stream))
.then(() => pc1.createOffer())
.then(offer => pc1.setLocalDescription(offer))
.then(() => pc2.setRemoteDescription(pc1.localDescription))
.then(() => pc2.createAnswer())
.then(answer => pc2.setLocalDescription(answer))
.then(() => pc1.setRemoteDescription(pc2.localDescription))
.then(() => log(“Connected!”))
.catch(reason => log(“Failed to connect! ” + reason.message));
引⽤元:https://www.w3.org/2011/04/webrtc/wiki/images/9/97/ModernWebRTC.pdf
43Copyright © NTT Communications Corporation. All right reserved.
ORTC編
ORTCとは
D(NTT Comグループ限り)
Copyright © NTT Communications Corporation. All right reserved.
ORTCとはなにか?
n 現⾏のWebRTC1.0のイケてない点を改善すべく提案さ
れたもう⼀つのRTC API
n Robin RaymondとErik Lagerway(Hookflashという
RTCアプリの開発会社の同僚)の呼びかけで検討がス
タート
44
Copyright © NTT Communications Corporation. All right reserved.
WebRTCのなにがイケてないの?
n APIが⾼機能すぎる
Ø もっとローレベルなAPIが必要
n SDPフォーマットはレガシー&難解であり可読性が良くない
Ø JSエンジニアにはがハードル⾼すぎる
n SDPにも様々な拡張がありサポートの有無が異なってくると相互運⽤性に問題が出
てくる
Ø 私達はJSONを使う⽅法を提案する
n SDPのOffer/Answerモデルはピア同⼠がステートフルに情報を交換するため処理が
複雑になる
Ø ステートレスなやりとりが必須である
n SDPのOffer/AnswerモデルはWebRTCのユースケースにマッチしない場合がある
Ø 例えば、あるピアから別のピアにメディアを配信する場合(双⽅向ではない場
合)も、双⽅向でSDP情報を交換する必要がある
45
Copyright © NTT Communications Corporation. All right reserved.
WebRTCのなにがイケてないの?
46
引⽤元:http://blog.webrtc.is/2013/03/06/sdp-the-webrtc-boat-anchor/
Copyright © NTT Communications Corporation. All right reserved.
褒めている部分もある
n WebRTCは標準化でシグナリングの⼿法を定めていないこと
Ø 将来的に様々なプロトコルを⽤いることが出来るためとてもよい判断
だった
47
48Copyright © NTT Communications Corporation. All right reserved.
ORTC編
ORTCの歴史
D(NTT Comグループ限り)
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
49
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
50
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
Robin Raymondと
Erik Lagerwayの2
⼈で検討開始
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
51
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
IETFのMLに問題点
を投げてみたら、
「そこまで⾔うなら
Draft書けよ」とい
うので、書いてみた2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
52
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
Ciscoらがまずは現
⾏のWebRTCの仕様
をFIXさせることが
最優先だと発⾔し、
ペンディング状態に2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
53
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
しかし、Micrrosoft、
MS Open
Technologiesの賛同を
得られて、CG発⾜
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
54
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
参加メンバは43⼈余り、
それなりに盛況
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
55
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
このWalkthroughはかなり盛況
だった。
GoogleでWebRTCに関わっている、
Justin UbertiやPeter Thatcherら
も、この時にORTC-CGに参加を表
明。
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
ORTCの歴史
n 歴史
56
※1 ORCA : Object RTC API Community Group
※2 ORTC Draft:http://goo.gl/HuyLWL
2013.62013.1 2014.1 2014.6 2015.1
CG初のFacetoFace Meetingが開
催され、グループの名称を変更し
た
2013.7
ORCA CG発⾜(※1)
2013はじめ
検討開始
2013.11
ORTC Draft公開(※2)
2013.11
IETF88でORTCのWalkthrough実施
2014.1
ORTC Draft更新
2014.2
ORTC CGに改名
2014.7
ORTC Draft更新
2013.6
IETFでDraft公開
Copyright © NTT Communications Corporation. All right reserved.
MicrosoftがORTCを黎明期からサポートする訳
n MicrosoftはCU-RTC-WEBというAPIを独⾃提案していた
• 特徴としては
ü MediaコーデックのMandatoryを決めない
ü RTCPeerConnectionというピア同⼠のコネクションを抽象化する
⼿法を取っていない
ü セッション制御にJSEP/SDPを採⽤していない
ü メディア並びにリアルタイム通信を取り扱うブラウザコンポーネ
ントへ直接アクセスが出来るローレベルAPIを⽤意
57
W3CのWebRTC WGでこの提案を取り込むかどうかの投票が⾏われ、賛成票が
4票、反対票が22票で不採⽤に。
不採⽤になった理由は、ローレベルAPIを直接操作できることに対して、セキュ
リティ⾯での懸念点がある、ということ。
しかしながら・・・・
Copyright © NTT Communications Corporation. All right reserved.
MicrosoftがORTCを黎明期からサポートする訳
n MicrosoftはCU-RTC-WEBというAPIを独⾃提案していた
• 特徴としては
ü MediaコーデックのMandatoryを決めない
ü RTCPeerConnectionというピア同⼠のコネクションを抽象化する
⼿法を取っていない
ü セッション制御にJSEP/SDPを採⽤していない
ü メディア並びにリアルタイム通信を取り扱うブラウザコンポーネ
ントへ直接アクセスが出来るローレベルAPIを⽤意
58
W3CのWebRTC WGでこの提案を取り込むかどうかの投票が⾏われ、賛成票が
4票、反対票が22票で不採⽤に。
不採⽤になった理由は、ローレベルAPIを直接操作できることに対して、セキュ
リティ⾯での懸念点がある、ということ。
しかしながら・・・・
CU-RTC-WebはORTCと設計思想が似ているため、
サポートを表明したのではないか?
あくまで推測ですが。
59Copyright © NTT Communications Corporation. All right reserved.
ORTC編
ORTCの技術仕様
Copyright © NTT Communications Corporation. All right reserved.
ORTCの技術仕様
n ORTCが出た当初からORTC陣営が⾔っていること
• 仕様⾯
ü SDPを直接JavaScriptで操作することはない
ü ステートレスにリアルタイム通信を⾏うためのAPI設計
ü H.264/SVCなどのモバイルにやさしいコーデックを推奨
• 実装⾯
ü モバイル・アプリケーションとのプロトコルの互換性を担保
ü キャリアスケールオペレーションに必要な監視、診断機能を⽤意
ü サーバサイドのORTC Client実装をリファレンス提供
ü STUN/TURNの認証管理の仕組みを提供
ü オーディオ、ビデオのミキシングの仕組みをリファレンス提供
等
60
Copyright © NTT Communications Corporation. All right reserved.
ORTCの技術仕様
n ORTCの仕様書で定義されているオブジェクト群
61
垂直⽅向の⽮印:メソッドとイベントのやりとり
⽔平⽅向の⽮印:メディアやデータのやり取り
Copyright © NTT Communications Corporation. All right reserved.
ORTCの技術仕様
n ORTCの仕様書で定義されているオブジェクト群
62
垂直⽅向の⽮印:メソッドとイベントのやりとり
⽔平⽅向の⽮印:メディアやデータのやり取り
DTLSによるデー
タ転送を司るオ
ブジェクト DTLSのコネク
ションからRTP
パケットを取り
出すリスナー
Copyright © NTT Communications Corporation. All right reserved.
ORTCの技術仕様
n ORTCの仕様書で定義されているオブジェクト群
63
垂直⽅向の⽮印:メソッドとイベントのやりとり
⽔平⽅向の⽮印:メディアやデータのやり取り
ICEを利⽤して接続先候補を収
集し、⼀番効率がよいルートで
接続を⾏う
STUN、TRUNの仕組みも活⽤
Copyright © NTT Communications Corporation. All right reserved.
ORTCの技術仕様
n ORTCの仕様書で定義されているオブジェクト群
64
垂直⽅向の⽮印:メソッドとイベントのやりとり
⽔平⽅向の⽮印:メディアやデータのやり取り
MediaStreamのコ
ントロール(送信
や停⽌等)を⾏う
MediaStreamのコ
ントロール(受信
や停⽌等)を⾏う
65Copyright © NTT Communications Corporation. All right reserved.
ORTC編
ORTCの今後
D(NTT Comグループ限り)
Copyright © NTT Communications Corporation. All right reserved.
WebRTCとの融合
n 昨年のTPACでのRTCRtpSender / RTCRtpReceiver の提案が
あったように、今後WebRTCと融合していく⽅向で議論が進ん
でいる
n WebRTC 1.1または2.0では、ORTC陣営のアイディアが取り込
まれ、よりよいRTC API仕様ができるだろう。
66
ORTCについての詳細はこちら
http://ortc.org/
67Copyright © NTT Communications Corporation. All right reserved.
活⽤事例編
WebRTC活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
n Bistri
SNSと連携しているワンクリックコールサービス。URLを生成してそこにアク
セスした人とビデオチャットが出来る。
Facebook, Google+, Windows Live, Yahoo, Jabber対応
サービスとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
n MistCDN
ブラウザ間でコンテンツをシェアするCDNサービス。日本の学生ベンチャー。
サービスとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
n Frozen Mountain
WebRTCを利用したサービスを開発するためのSDK(IceLink)を提供。
Chrome、FirefoxだけではなくiOSとIEでもWebRTCの機能を利用可能とする
ライブラリとなっている。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
n Weemo
ビデオチャットを既存のアプリケーションに埋込むためのSDKとクラウドを提
供。Safari、IE、Firefox、Chrome、Android、iOSに対応。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
n tokbox
Face-to-Faceのコミュニケーションを実現する、OpenTokというプラットフォ
ームと開発者向けのライブラリを提供。今年は、Firefoxと連携しFirefox Hello
を提供。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
Requestec
Flash、SIPとWebRTCを相互連携できるSDKとAPIを提供する。JavaScript,
Flash, iOSとAndroidに対応。ユーザ認証等の機能も提供。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
Add Live
WebRTC開発者向けのSDK、シグナリングなどのクラウド・サービス、IEやiOS
にも対応するWebRTCクライアントライブラリ、アナリティクス、エンタープラ
イズに対応するサポートなどを提供する。
5000以上の案件、250000ユーザー、2000000分/月アプリが利用されている。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
Browsetel
WebPhoneやClick-to-Call、Web Conferenceなどの機能を簡単に組み込むこと
が可能なクラウド・サービスを提供。
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
NAT
NAT
76
SkyWayは、WebRTC活⽤サービスの提供者向けのフレームワーク。
複雑なシグナリング処理を担うAPI群とライブラリで構成される。
n2013年12⽉5⽇に提供開始
n約1100名の開発者が利⽤
n提供内容
• シグナリングAPI
• NAT越えAPI (=STUN)
• ライブラリ(オープンソース)
STUN
API
Signaling
API
STUN
API
ライブラリ ライブラリ
開発者はPeer to
Peer通信のプログラ
ミングに専念できる
SkyWayが
シグナリングを
担うので、
プラットフォームとしての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
Dialogic
PowerMedia XMSというサーバソフトウェアを提供。WebRTCとSIP Deviceで
通話する際のシグナリングやコーデックのトランスコード(VP8からH.264)
、メディアのレコーディング、ミキシング等を行うサーバを簡単に構築する事
ができる。コンタクトセンター向けソリューション。
ベンダー製品としての活⽤事例
引⽤元:http://www.dialogic.com/en/landing/webrtc.aspx
・JAVA製ソフトウェア(CentOSやRHREで動作可能)
・Audioは同時1000セッション、Videoは同時450セッション
Copyright © NTT Communications Corporation. All right reserved.
callstats.io
WebRTCを活用したビデオ会議等提供事業者向け(スタートアップ、エンター
プライズ向け)に、映像品質のリアルタイムコントロール、遅延等の常時監視
機能を提供する。
運⽤系としての活⽤事例
Copyright © NTT Communications Corporation. All right reserved.
IoT分野での活⽤事例
• ビデオ会議機能を備えた遠隔操作ロボット。
• Double Robotics社、Romotive社のロボットは、WebRTC技術を採⽤。
• 難病で登校できない⼦供が、学校に配備されたロボットを利⽤するなどの事例もある。
(VGo社)
79
Romo by Romotive
www.romotive.jp
¥15,660
ロボット側はiPhoneに、操作側は
ChromeとFirefoxに対応。
Double by Double Robotics
www.doublerobotics.com
$2,499
ロボット側はiPadに、
操作側はiPadとChromeに対応。
80Copyright © NTT Communications Corporation. All right reserved.
活⽤事例編
デモンストレーション
Copyright © NTT Communications Corporation. All right reserved.
コンシューマ向けWeb会議
• インストール不要、認証も不要、URLにアクセスするだけで開始。
• ビデオの場合は8⼈まで、オーディオのみの場合は
20⼈までの、グループチャットに対応。
818181
SkyWaySkyWayで
シグナリング
WebRTCでメッシュ状に接続し、
マイク⾳声、カメラ映像を
すべての相⼿に送信
WebRTC Chat on SkyWay
chat.skyway.io
2014年4⽉21⽇ サービス開始
Copyright © NTT Communications Corporation. All right reserved.
スマホで撮った多数の映像を表⽰
• 2000⼈規模のカンファレンス(HTML Conference 2013)会場で
スマホで撮った約150名の来場者の顔を、壇上のスクリーンに表⽰した。
82
SkyWay
SkyWayで
シグナリング
カメラの映像を
WebRTCで送信
HTML5 JUMBOTRON
jt.skyway.io
Copyright © NTT Communications Corporation. All right reserved.
ゲーム
n CUBE SLAM
• WebRTCを活⽤したオンライン対戦型エアホッケー
• https://www.cubeslam.com
83
Copyright © NTT Communications Corporation. All right reserved.
ビジネス向けWeb会議
n GoToMeeting
• https://free.gotomeeting.com/
84
Copyright © NTT Communications Corporation. All right reserved.
Firefox
n Firefox Hello
• https://www.mozilla.org/ja/firefox/hello/
n Firefoxでスクリーンシェア
• https://talky.io/
ü ChromeではExtensionやAppsでできることは有名
ü Firefoxも33から対応
ü AddonをインストールかMozillaに申請し、ドメインをホワイトリ
ストに追加してもらう必要あり
85
Copyright © NTT Communications Corporation. All right reserved.
データチャネル
n データチャネル系
• MistCDN
ü http://www.mist-t.co.jp/
ü WebRTCを利⽤したCDNサービス
86
Copyright © NTT Communications Corporation. All right reserved.
ORTC
n ORTCデモ
• http://html5labs.interoperabilitybridges.com/prototype
s/object-rtc/object-rtc/info
• 動作させるにはWin端末が必要なので、今回は記事でご紹介
ü http://qiita.com/Tukimikage/items/f75617b81501eba86093
87
88Copyright © NTT Communications Corporation. All right reserved.
最後に・・・
Copyright © NTT Communications Corporation. All right reserved.
WebRTC Conference Japan開催決定!
89
⽇本初のカンファレンス、海外からのゲストも多数参加します!
http://webrtcconference.jp
90Copyright © NTT Communications Corporation. All right reserved.
ご清聴ありがとうございました。

More Related Content

What's hot

WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
You_Kinjoh
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
Yoshiaki Sugimoto
 

What's hot (20)

Apache Pulsarの概要と近況
Apache Pulsarの概要と近況Apache Pulsarの概要と近況
Apache Pulsarの概要と近況
 
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
 
WebRTCハンズオン
WebRTCハンズオンWebRTCハンズオン
WebRTCハンズオン
 
本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話本当は恐ろしい分散システムの話
本当は恐ろしい分散システムの話
 
WebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample updateWebRTC SFU Mediasoup Sample update
WebRTC SFU Mediasoup Sample update
 
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
 
WebSocketのキホン
WebSocketのキホンWebSocketのキホン
WebSocketのキホン
 
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
Unityによるリアルタイム通信とMagicOnionによるC#大統一理論の実現
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3WebRTC mediasoup on raspberrypi3
WebRTC mediasoup on raspberrypi3
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Flutterアプリ開発におけるモジュール分割戦略
Flutterアプリ開発におけるモジュール分割戦略Flutterアプリ開発におけるモジュール分割戦略
Flutterアプリ開発におけるモジュール分割戦略
 
ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門ゼロからはじめるKVM超入門
ゼロからはじめるKVM超入門
 
WebRTC SFU mediasoup sample
WebRTC SFU mediasoup sampleWebRTC SFU mediasoup sample
WebRTC SFU mediasoup sample
 
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
WebブラウザでP2Pを実現する、WebRTCのAPIと周辺技術
 
HTTP/2 入門
HTTP/2 入門HTTP/2 入門
HTTP/2 入門
 
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
新たなgitのブランチモデル「Git Feature Flow」!Git Flow,Git Hub Flow,Git Lab Flowを超えれるか?
 
ネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分けネットワーク ゲームにおけるTCPとUDPの使い分け
ネットワーク ゲームにおけるTCPとUDPの使い分け
 
DPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキングDPDKによる高速コンテナネットワーキング
DPDKによる高速コンテナネットワーキング
 

Viewers also liked

Viewers also liked (20)

注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
 
ArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろうArduinoでMidiコントローラーを作ろう
ArduinoでMidiコントローラーを作ろう
 
スマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTCスマホ(Android・iPhone)でWebRTC
スマホ(Android・iPhone)でWebRTC
 
スマートフォンでの WebRTC活用
スマートフォンでのWebRTC活用スマートフォンでのWebRTC活用
スマートフォンでの WebRTC活用
 
はじめてのWebRTC/ORTC
はじめてのWebRTC/ORTCはじめてのWebRTC/ORTC
はじめてのWebRTC/ORTC
 
WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側WebRTC開発者向けプラットフォーム SkyWayの裏側
WebRTC開発者向けプラットフォーム SkyWayの裏側
 
5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ5分で分るWebRTCコーデックウォーズ
5分で分るWebRTCコーデックウォーズ
 
WebRTCサービスを個人で運営してみた話
WebRTCサービスを個人で運営してみた話WebRTCサービスを個人で運営してみた話
WebRTCサービスを個人で運営してみた話
 
Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性Web of Thingsの現状とWebRTC活用の可能性
Web of Thingsの現状とWebRTC活用の可能性
 
getUserMedia
getUserMediagetUserMedia
getUserMedia
 
Value Added Services and WebRTC
Value Added Services and WebRTCValue Added Services and WebRTC
Value Added Services and WebRTC
 
WebRTC on Native App
WebRTC on Native AppWebRTC on Native App
WebRTC on Native App
 
WebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみるWebRTCでリアル店舗を作ってみる
WebRTCでリアル店舗を作ってみる
 
WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発WebRTC NextVersion時代のJavaScript開発
WebRTC NextVersion時代のJavaScript開発
 
MediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live StreamingMediaRecorder と WebM で、オレオレ Live Streaming
MediaRecorder と WebM で、オレオレ Live Streaming
 
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ    uv4l-webrtc 軽くハックしてみたよ!
ラズパイでWebRTC ヾ(*´∀`*)ノキャッキャ uv4l-webrtc 軽くハックしてみたよ!
 
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用) 色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
色々なデバイスの映像を使ったWebブラウザでのWebRTC映像中継(GotAPIからのWebRTC利用)
 
WebRTCと ORTCについて 整理しておこう
WebRTCとORTCについて整理しておこうWebRTCとORTCについて整理しておこう
WebRTCと ORTCについて 整理しておこう
 
スマートデバイス またはモバイルOS / Web OS / スマート何とか
スマートデバイス またはモバイルOS / Web OS / スマート何とかスマートデバイス またはモバイルOS / Web OS / スマート何とか
スマートデバイス またはモバイルOS / Web OS / スマート何とか
 
Fakta Tentang Bank, Duit Digital dan RIBA
Fakta Tentang Bank, Duit Digital dan RIBAFakta Tentang Bank, Duit Digital dan RIBA
Fakta Tentang Bank, Duit Digital dan RIBA
 

Similar to WebRTC/ORTCの最新動向まるわかり!

NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
Yukimitsu Izawa
 

Similar to WebRTC/ORTCの最新動向まるわかり! (20)

Web rtcの使い方
Web rtcの使い方Web rtcの使い方
Web rtcの使い方
 
WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~WebRTC入門 ~沖縄編~
WebRTC入門 ~沖縄編~
 
iPhoneでなんちゃってWebRTC
iPhoneでなんちゃってWebRTCiPhoneでなんちゃってWebRTC
iPhoneでなんちゃってWebRTC
 
究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!究極のゲーム用通信プロトコルを探せ!
究極のゲーム用通信プロトコルを探せ!
 
SkyWay HandsOn
SkyWay HandsOnSkyWay HandsOn
SkyWay HandsOn
 
エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策エフサミ2014 web rtcの傾向と対策
エフサミ2014 web rtcの傾向と対策
 
Lagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそばLagopus workshop@Internet weekのそば
Lagopus workshop@Internet weekのそば
 
WebRTC の紹介
WebRTC の紹介WebRTC の紹介
WebRTC の紹介
 
SkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaSSkyWay国内唯一のCPaaS
SkyWay国内唯一のCPaaS
 
02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu02172016 web rtc_conf_komasshu
02172016 web rtc_conf_komasshu
 
HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )HTML5 Night 2014 Web x Network Technology ( WebRTC )
HTML5 Night 2014 Web x Network Technology ( WebRTC )
 
WebRTCが拓く 新たなWebビジネスの世界
WebRTCが拓く新たなWebビジネスの世界WebRTCが拓く新たなWebビジネスの世界
WebRTCが拓く 新たなWebビジネスの世界
 
Interrop ctrix netscaler on Softlayer 2015
Interrop ctrix netscaler on Softlayer 2015Interrop ctrix netscaler on Softlayer 2015
Interrop ctrix netscaler on Softlayer 2015
 
WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会WebRTCを始めよう! HTML5fun 第一回勉強会
WebRTCを始めよう! HTML5fun 第一回勉強会
 
エンタープライズ環境におけるWebRTC活用のポイント
エンタープライズ環境におけるWebRTC活用のポイントエンタープライズ環境におけるWebRTC活用のポイント
エンタープライズ環境におけるWebRTC活用のポイント
 
WebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボットWebRTCで動かす“テレイグジスタンス”ロボット
WebRTCで動かす“テレイグジスタンス”ロボット
 
NTPを使ったDDoSについて
NTPを使ったDDoSについてNTPを使ったDDoSについて
NTPを使ったDDoSについて
 
IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話IoT用途で簡単に使えるWebRTC Engineを作った話
IoT用途で簡単に使えるWebRTC Engineを作った話
 
ION Tokyo: Keynote Presentation -- "Can we go back to the original? A Return ...
ION Tokyo: Keynote Presentation -- "Can we go back to the original? A Return ...ION Tokyo: Keynote Presentation -- "Can we go back to the original? A Return ...
ION Tokyo: Keynote Presentation -- "Can we go back to the original? A Return ...
 
5分でわかるWebRTC
5分でわかるWebRTC5分でわかるWebRTC
5分でわかるWebRTC
 

More from Yusuke Naka

SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したことSkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
SkyWayとWebRTC開発者コミュニティ4年間の軌跡とCMC_Meetupで学んだこと、実践したこと
Yusuke Naka
 

More from Yusuke Naka (14)

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で学んだこと、実践したこと
 
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけNTTコミュニケーションズがちょっと変わったメディアを作ったわけ
NTTコミュニケーションズがちょっと変わったメディアを作ったわけ
 
HTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニングHTML5 Experts.jp パフォーマンス・チューニング
HTML5 Experts.jp パフォーマンス・チューニング
 
TypeScriptをオススメする理由
TypeScriptをオススメする理由TypeScriptをオススメする理由
TypeScriptをオススメする理由
 
FuelPHP活用事例
FuelPHP活用事例FuelPHP活用事例
FuelPHP活用事例
 
Chrome Extensionで スクリーンシェアをやってみる
Chrome ExtensionでスクリーンシェアをやってみるChrome Extensionでスクリーンシェアをやってみる
Chrome Extensionで スクリーンシェアをやってみる
 
ORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みするORTCの仕様書をざっくり斜め読みする
ORTCの仕様書をざっくり斜め読みする
 
第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)第72回読書するエンジニアの会(テーマ:変人)
第72回読書するエンジニアの会(テーマ:変人)
 
5jCup WebRTC賞
5jCup WebRTC賞5jCup WebRTC賞
5jCup WebRTC賞
 
Webrtc最新動向
Webrtc最新動向Webrtc最新動向
Webrtc最新動向
 
SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術SPAを実現するために必要な通信技術
SPAを実現するために必要な通信技術
 

WebRTC/ORTCの最新動向まるわかり!

  • 1. Copyright © NTT Communications Corporation. All right reserved. HTML5 Conference WebRTC/ORTC 最新動向まるわかり! NTTコミュニケーションズ ナカユウスケ 2015年1⽉25⽇
  • 2. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 u 名前:仲 裕介(@Tukimikage) u 所属:NTTコミュニケーションズ 技術開発部 u コミュニティワーク: html5j⾃動⾞部部⻑ http://automotive.html5j.org WebRTC Meetup Tokyo 主催 http://webrtcjp.info/ 2
  • 3. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 u オフィシャルワーク1 HTML5 Experts.jpの運営 ・HTML5に特化した Web技術者向け情報メディア ・⽇本最⾼峰のWebエキスパート、 コントリビューターによる情報発信 3 http://html5experts.jp
  • 4. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 u オフィシャルワーク2 WebRTC開発者向けプラットフォームSkyWayの開発・運営 ・2013年12⽉5⽇に提供開始 ・約1100名の開発者が利⽤ ・詳しくは後ほど! 4 https://skyway.io
  • 5. Copyright © NTT Communications Corporation. All right reserved. 本⽇の内容 u 概要編 u WebRTCとは u WebRTCの技術要素 u 標準化編 u WebRTC標準化の進め⽅ u 最新の標準化動向 u ORTC編 u ORTCとは u ORTCの歴史 u ORTCの技術仕様 u ORTCの今後 u 活⽤事例編 u WebRTC活⽤事例 u デモンストレーション u 最後に 5
  • 6. Copyright © NTT Communications Corporation. All right reserved. 想定読者・聴者 1. WebRTC/ORTCについては名前を聞いたことがあるレベル、 機会があれば触ってみたいと思っている⼈ 2. WebRTC/ORTCについてはそれなりに知っているが、業界の 最新動向をひと通り頭に⼊れておきたい⼈ 3. WebRTC/ORTCは完全マスター!バリバリコードも書いてて、 最新動向もバッチリ! 4. それ以外 6
  • 7. 7Copyright © NTT Communications Corporation. All right reserved. 概要編 WebRTCとは
  • 8. Copyright © NTT Communications Corporation. All right reserved. HTML5の全体像 HTML5が提供する機能は多岐にわたる。WebRTCはその⼀つの技術。 8 引⽤元:http://www.slideshare.net/dynamis/web-standards-infographics
  • 9. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは(概要) n ひとことで⾔うと「ブラウザでテレビ電話を実現する技術」 n ブラウザだけで、プラグインのインストール無しに、Web会議、 ボイスチャット、テキストチャット、ファイル転送、電話との 連携等が実現可能。 9 従来のWeb WebRTC カメラやマイ クを利⽤可 リアルタイ ムに送受信 ブラウザ間 の直接通信 サーバ⇔ク ライアント 間の通信 リクエストと レスポンスの 繰り返し カメラやマイ クの利⽤不可 サーバ サーバ
  • 10. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは(技術⾯) 技術的には2つの側⾯がある。 1. ⾳声、映像、データのリアルタイム・コミュニケーションのオープン標準 l 従来のサービス(WebEx、Skype等)は互換性がなく、独⾃技術を含む。 WebRTCは相互接続が保証され、ライセンス使⽤料が不要。 l 以下の内容が定められた。 ① ⾳声と映像の形式(コーデック) ② ネットワーク機器(NAT、Firewall等)を越えて直接通信するための⼿順 ③ 暗号化、到達保証、順序制御、流量・輻輳制御を実現するプロトコル 2. ブラウザとネイティブアプリの両⽅で利⽤できる l WebRTC対応ブラウザにURLを⼊⼒するだけで、WebRTCを利⽤したサービス を利⽤できる。 l オープンソースのC++のコードを利⽤しコンパイルすれば、ネイティブアプリ にWebRTC機能を組み込むこともできる。 10
  • 11. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは(ビジネス⾯) ビジネス⾯では以下の3つの影響がある。 1. リアルタイム・コミュニケーションのオープン標準 • マルチデバイス、マルチOSのコミュニケーション系サービスを開発する際の WebRTCの活⽤が始まり、徐々に拡⼤している。 • IoT分野で、リアルタイム通信が必要な場合に、WebRTC採⽤の 機器も登場している。 2. ブラウザで利⽤できる • インストール不要なため、サポートコストの削減や低ITリテラシ層の利⽤が可能。 • HTML5、JavaScriptの記述だけで動作するため、既存のWebサービスや社内シス テムとの連携や組み込みが容易。 3. 電話との連携 • WebRTCを端末⇔ゲートウェイ間で利⽤することにより、電話と連携できる。 コンタクトセンタ分野にもWebRTCが適⽤できる。
  • 12. Copyright © NTT Communications Corporation. All right reserved. WebRTCの対応状況 12 対応状況 OS アプリ 備考 ✔ Windows Chrome ✔ Windows Firefox テレビ電話機能も搭載 ✘ Windows IE 2014年10⽉に開発着⼿を発表 ORTCが実装される予定 ✔ Windows ネイティブ 要コンパイル ✔ Mac Chrome ✔ Mac Firefox テレビ電話機能も搭載 ✘ Mac Safari 標準化に参加し始めたらしい ✔ Mac ネイティブ 要コンパイル ✔ Android Chrome ✔ Android Firefox ✔ Android 標準ブラウザ Android 5.0で対応 ✔ Android ネイティブ 要コンパイル ✘ iOS Chrome ✘ iOS Safari 標準化に参加し始めたらしい ✔ iOS ネイティブ 要コンパイル
  • 13. 13Copyright © NTT Communications Corporation. All right reserved. 概要編 WebRTCの技術要素
  • 14. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 14 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理
  • 15. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 15 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  • 16. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 16 NAT NAT STUN サーバ Signaling サーバ STUN サーバ WebRTC Cli WebRTC Cli • WebRTCクライアント同⼠がPeerToPeerでネットワークを介してつな がるために必要な仕組みを提供する ・STUN ・⾃分のグローバルIP、 ポート番号を知る ・UDPホールパンチングという 仕組みでNATに⽳を開ける ・NATの種類を判定 (WebRTCでは使ってない) ・TURN ・どうしてもNATに⽳を開けら れない場合に、データ通信を 中継する仕組み ・WebRTCコネクション全体の 8〜9%はTURNが必要と ⾔われている TURN サーバ
  • 17. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 17 • UDPホールパンチング NAT STUN NAT
  • 18. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 18 • UDPホールパンチング 俺のグローバル IPとポート番号 教えて 111.111.111.111 50000番やで NAT STUN NAT
  • 19. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 19 • UDPホールパンチング 俺のグローバル IPとポート番号 教えて 222.222.222.222 20000番やで NAT STUN NAT IP:111.111.111.111 PORT:10000番
  • 20. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 20 • UDPホールパンチング NAT STUN NAT IP:111.111.111.111 PORT:10000番 IP:222.222.222.222 PORT:20000番 互いのIPと PORTを何らか の⼿段で交換
  • 21. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 21 • UDPホールパンチング NAT STUN NAT IP:222.222.222.222 PORT:20000番 IP:111.111.111.111 PORT:10000番 アクセスさせ てー! だめー。 ⽳開いた!
  • 22. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 22 • UDPホールパンチング NAT STUN NAT IP:222.222.222.222 PORT:20000番 IP:111.111.111.111 PORT:10000番 通れる!! アクセスさせてー。 ⽳開いた!
  • 23. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 23 • UDPホールパンチング NAT STUN NAT IP:222.222.222.222 PORT:20000番 IP:111.111.111.111 PORT:10000番 もしかして! 通れる!!
  • 24. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 24 • STUNとTURNの使いどころ これらNATの仕組みについてはこちらの資料がオススメ! 「WebRTCの裏側にあるNATの話」(@iwashi86)ー http://goo.gl/Ps2p0i NAT Type フルコーン 制限付きフ ルコーン ポート制限 付きフル コーン シンメト リック フルコーン STUN STUN STUN STUN *1 制限付きフ ルコーン STUN STUN STUN STUN *2 ポート制限 付きフル コーン STUN STUN STUN TURN シンメト リック STUN *1 STUN *2 TURN TURN ※厳密に細分化すると9パターンあります。 *1 2015/1/26修正 *2 2017/2/13修正
  • 25. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 25 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  • 26. Copyright © NTT Communications Corporation. All right reserved. シグナリング 26 NAT NAT STUN サーバ Signaling サーバ STUN サーバ WebRTC Cli WebRTC Cli • ICEの仕組み等を利⽤して取得した情報を、互いにやりとりするため に必要な情報を交換する仕組み ・どのような仕組みを⽤いても良い ・WebSocket ・XHRロングポーリング ・SIP ・⼿動(笑) ・情報はSDP(Session Description Protocol) を⽤いて情報交換する ・テキストベースのプロトコル ・IPアドレス、ポート番号、 映像、⾳声コーデック情報 などを記載して交換する
  • 27. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 27 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  • 28. Copyright © NTT Communications Corporation. All right reserved. P2Pによるセキュアなリアルタイム通信 28 • すべての準備が整うとP2Pによる通信 を開始 ・P2P接続を維持するために、 接続後も裏で定期的にSTUNへの 通信やSDP情報の交換が⾏われる ・DTLS ・通信経路暗号化 ・データ整合性の保証 ・認証⾏為は⾏わない(オレオレ証明書) ・映像・⾳声 ・セキュアなリアルタイム通信(SRTP) ・AES(共通鍵暗号化) ・鍵交換にDTLSを⽤いる(DTLS-SRTP) ・データ ・TCP同様の信頼性、到達順序性、フロー制御、 輻輳制御をUDP上で実現 ・セキュアなDTLS上で動作する NAT NAT STUN サーバ Signaling サーバ STUN サーバ WebRTC Cli WebRTC Cli IP UDP SCTPSRTP DTLS ⾳声・映像 データ
  • 29. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 29 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  • 30. Copyright © NTT Communications Corporation. All right reserved. ⾳声、動画処理 30 • WebブラウザはPCの⾳声映像ストリームにアクセスできる ・getUserMedia(WebAPI) プラットフォーム上の ⾳声、映像ストリームを取得できる w3cによって規定されたAPI ・ブラウザに実装された エンジンによって、 エンコード、デコード処理がなされる ・コーデック ・Video*1:VP8、H.264 ・Audio:Opus、G.711 PCMA & PCMU ※1 2014/11のIETF91で、Webブラウザは 両⽅のコーデックを搭載することと決まった。 デバイスハードウェア ⾳声処理エンジン コーデック ジッタ/パケロス補正 エコー除去 ノイズリダクション 映像処理エンジン コーデック ジッタ/パケロス補正 ⾳声・動画同期 画像補正 ⾳声キャプチャ 動画キャプチャ 内部WebRTC API WebAPI(W3C) 引⽤元:オライリー・ジャパン 「ハイパフォーマンスブラウザネットワーキング」 P.301
  • 31. 31Copyright © NTT Communications Corporation. All right reserved. 標準化編 WebRTC標準化の進め⽅
  • 32. Copyright © NTT Communications Corporation. All right reserved. W3CとIETFによる標準化 n WebRTCとIETFによって標準化が進められている。 • W3C • Web Real-Time Communications Working Group • http://www.w3.org/2011/04/webrtc/ • Webブラウザに実装するAPIの標準化を担当する • IETF • Real-Time Communication in WEB-browsers Working Group • http://tools.ietf.org/wg/rtcweb/ • プロトコルレベルでの標準化を担当する • オーディオやビデオのコーデック、セキュリティ、JSEP、ICE、データ通信プロトコル等 の標準化を担当する 32 今回は主にW3Cに関しての標準化を取り上げます
  • 33. Copyright © NTT Communications Corporation. All right reserved. W3Cによる標準化 n W3Cによる標準化のロードマップ 33 WebRTC 1.0 Media Capture and Streams MediaStream Recording MediaStream Image Capture MediaStream Depth Stream Extensions Identifiers for WebRTC’s Statistics API ※W3C公式のWorking draftになっているものだけ記載 2013/9/10 Working Draft 2014.12013.6 2014.6 2015.1 2014/12/5 Editor’s Draft 2015.6 2013/9/3 Working Draft 2014/12/6 Editor’s Draft 2015 1Q Last Call 2013/2/5 Working Draft 2013/7/9 Working Draft 2014/10/7 Working Draft 2014/10/21 Working Draft 2015/1/23 Editor’s Draft 2015/1/17 Editor’s Draft
  • 34. Copyright © NTT Communications Corporation. All right reserved. W3Cによる標準化 n W3Cによる標準化のロードマップ 34 WebRTC 1.0 Media Capture and Streams MediaStream Recording MediaStream Image Capture MediaStream Depth Stream Extensions Identifiers for WebRTC’s Statistics API ※W3C公式のWorking draftになっているものだけ記載 2013/9/10 Working Draft 2014.12013.6 2014.6 2015.1 2014/12/5 Editor’s Draft 2015.6 2013/9/3 Working Draft 2014/12/6 Editor’s Draft 2015 1Q Last Call 2013/2/5 Working Draft 2013/7/9 Working Draft 2014/10/7 Working Draft 2014/12/21 Working Draft 2015/1/23 Editor’s Draft 2015/1/17 Editor’s Draft Media Capture Task Forceが標準を担当 (WebRTC WGとDeviceAPIs WG合同のTF)
  • 35. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n W3Cで議論中の主要なAPI 35 WebRTC 1.0 p RTCPeerConnection API Ø ICEの仕組みを利⽤してリモートのPeerと接続する機能を提供する Ø リモートのPeerとの間でストリームの送受信を⾏う Ø リモートのPeerとの間で任意のデータの送受信を⾏う Media Capture and Streams p MediaStream API Ø マイクやカメラなどのローカルマルチメディアデバイスへの、 アクセス⼿段を提供する Ø 取得したメディストリームを管理するための機能を提供する
  • 36. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n W3Cで議論中の主要なAPI 36 WebRTC 1.0 p RTCPeerConnection API Ø ICEの仕組みを利⽤してリモートのPeerと接続する機能を提供する Ø リモートのPeerとの間でストリームの送受信を⾏う Ø リモートのPeerとの間で任意のデータの送受信を⾏う Media Capture and Streams p MediaStream API Ø マイクやカメラなどのローカルマルチメディアデバイスへの、 アクセス⼿段を提供する Ø 取得したメディストリームを管理するための機能を提供する getUserMediaもこちら
  • 37. 37Copyright © NTT Communications Corporation. All right reserved. 標準化編 最新の標準化動向
  • 38. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n 標準化の場でどのような議論がなされて いるのか? • 2013/11/12@TPAC2013 オフライン・ ミーティング ü 中国 深セン • 2014/05/19-21@オフライン・ミーティン グ ü アメリカ ワシントンDC • 2014/10/30-31@TPAC2014 オフライ ン・ミーティング ü アメリカ ワシントンDC ⾊々な話題が議論されているが、私が考える重要項⽬を4つピックアップ 引⽤元:http://html5experts.jp/alan-iida/11325/
  • 39. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n WebRTC Stats APIの提案 • 様々な統計情報を収集するAPI • 2014/10のTPACで提案がなされる ü 統計情報としてどのような情報を開発者は知りたいのか? ü 必要性を含めて継続してディスカッションする必要あり • 2014/5のオフミで継続議論 ü いくつかのAPIが提案される ü ICEに関する様々情報を収集するAPI ü メディアストリームに関する様々情報を収集するAPI ü https://www.w3.org/2011/04/webrtc/wiki/Stats • 2014/10/21に最初のWorkingDraftをリリース ü http://www.w3.org/TR/2014/WD-webrtc-stats-20141021/ Ø ピア・ツー・ピア接続で送信されるオーディオ・ビデオ・データパケットの損失や ネットワークの遅延状況など、潜在的なネットワークの性能を、WebRTCアプリ ケーションで監視するためのAPIを提供する。 39
  • 40. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n DTLS Key Controlの提案 • DTLSの証明書はPeer⾃⾝が本⼈であることを証明するもの (現在はブラウザが⾃動⽣成するオレオレ証明書だけど・・) • これを、WebCryptoAPIを利⽤して⽣成できるようにするAPI を提案 • 利⽤イメージ theKey = RTCKeys.generate(algorithm); pc = new RTCPeerConnection({ dtlsKeys: [ theKey ] } ); • WebCryptoAPIが公開鍵暗号(楕円曲線暗号⽅式)に対応して いるかどうかが課題となり、議論は先送りに(2014.10 TPAC) 40 引⽤元:https://www.w3.org/2011/04/webrtc/wiki/images/f/f3/Keys.pdf
  • 41. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n RTCRtpSender / RTCRtpReceiver の提案 • SDPを扱うための新しいアプローチとしてGoogleから提案 • メディアストリームをトラックという概念で扱い、 RTPSender/Receiverオブジェクトに紐付けて管理することで、 メディアを扱いやすく(エンコードパラメータ変更やトラック の追加削除、複製等が簡単に)する • ORTCで提案された仕様がまさにこれ • WebRTC1.0でどこまで取り込むかはこれから議論 41 引⽤元: https://www.w3.org/2011/04/webrtc/wik i/images/6/6c/WebRTC_RTCSender- Receiver%2C_TPAC_2014.pdf
  • 42. Copyright © NTT Communications Corporation. All right reserved. W3C標準化動向 n Promises利⽤の提案 • WebRTC 1.0仕様書の中の⼀部のAPI並びに、 getUserMedianでは、callbackの記述⽅法としてPromises が推奨になった • エラー処理の集中とネストが深くならないようにする navigator.mediaDevices.getUserMedia({ video: true }) .then(stream => pc1.addStream(v1.srcObject = stream)) .then(() => pc1.createOffer()) .then(offer => pc1.setLocalDescription(offer)) .then(() => pc2.setRemoteDescription(pc1.localDescription)) .then(() => pc2.createAnswer()) .then(answer => pc2.setLocalDescription(answer)) .then(() => pc1.setRemoteDescription(pc2.localDescription)) .then(() => log(“Connected!”)) .catch(reason => log(“Failed to connect! ” + reason.message)); 引⽤元:https://www.w3.org/2011/04/webrtc/wiki/images/9/97/ModernWebRTC.pdf
  • 43. 43Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCとは D(NTT Comグループ限り)
  • 44. Copyright © NTT Communications Corporation. All right reserved. ORTCとはなにか? n 現⾏のWebRTC1.0のイケてない点を改善すべく提案さ れたもう⼀つのRTC API n Robin RaymondとErik Lagerway(Hookflashという RTCアプリの開発会社の同僚)の呼びかけで検討がス タート 44
  • 45. Copyright © NTT Communications Corporation. All right reserved. WebRTCのなにがイケてないの? n APIが⾼機能すぎる Ø もっとローレベルなAPIが必要 n SDPフォーマットはレガシー&難解であり可読性が良くない Ø JSエンジニアにはがハードル⾼すぎる n SDPにも様々な拡張がありサポートの有無が異なってくると相互運⽤性に問題が出 てくる Ø 私達はJSONを使う⽅法を提案する n SDPのOffer/Answerモデルはピア同⼠がステートフルに情報を交換するため処理が 複雑になる Ø ステートレスなやりとりが必須である n SDPのOffer/AnswerモデルはWebRTCのユースケースにマッチしない場合がある Ø 例えば、あるピアから別のピアにメディアを配信する場合(双⽅向ではない場 合)も、双⽅向でSDP情報を交換する必要がある 45
  • 46. Copyright © NTT Communications Corporation. All right reserved. WebRTCのなにがイケてないの? 46 引⽤元:http://blog.webrtc.is/2013/03/06/sdp-the-webrtc-boat-anchor/
  • 47. Copyright © NTT Communications Corporation. All right reserved. 褒めている部分もある n WebRTCは標準化でシグナリングの⼿法を定めていないこと Ø 将来的に様々なプロトコルを⽤いることが出来るためとてもよい判断 だった 47
  • 48. 48Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの歴史 D(NTT Comグループ限り)
  • 49. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 49 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 50. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 50 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 Robin Raymondと Erik Lagerwayの2 ⼈で検討開始 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 51. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 51 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 IETFのMLに問題点 を投げてみたら、 「そこまで⾔うなら Draft書けよ」とい うので、書いてみた2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 52. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 52 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 Ciscoらがまずは現 ⾏のWebRTCの仕様 をFIXさせることが 最優先だと発⾔し、 ペンディング状態に2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 53. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 53 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 しかし、Micrrosoft、 MS Open Technologiesの賛同を 得られて、CG発⾜ 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 54. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 54 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 参加メンバは43⼈余り、 それなりに盛況 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 55. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 55 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 このWalkthroughはかなり盛況 だった。 GoogleでWebRTCに関わっている、 Justin UbertiやPeter Thatcherら も、この時にORTC-CGに参加を表 明。 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 56. Copyright © NTT Communications Corporation. All right reserved. ORTCの歴史 n 歴史 56 ※1 ORCA : Object RTC API Community Group ※2 ORTC Draft:http://goo.gl/HuyLWL 2013.62013.1 2014.1 2014.6 2015.1 CG初のFacetoFace Meetingが開 催され、グループの名称を変更し た 2013.7 ORCA CG発⾜(※1) 2013はじめ 検討開始 2013.11 ORTC Draft公開(※2) 2013.11 IETF88でORTCのWalkthrough実施 2014.1 ORTC Draft更新 2014.2 ORTC CGに改名 2014.7 ORTC Draft更新 2013.6 IETFでDraft公開
  • 57. Copyright © NTT Communications Corporation. All right reserved. MicrosoftがORTCを黎明期からサポートする訳 n MicrosoftはCU-RTC-WEBというAPIを独⾃提案していた • 特徴としては ü MediaコーデックのMandatoryを決めない ü RTCPeerConnectionというピア同⼠のコネクションを抽象化する ⼿法を取っていない ü セッション制御にJSEP/SDPを採⽤していない ü メディア並びにリアルタイム通信を取り扱うブラウザコンポーネ ントへ直接アクセスが出来るローレベルAPIを⽤意 57 W3CのWebRTC WGでこの提案を取り込むかどうかの投票が⾏われ、賛成票が 4票、反対票が22票で不採⽤に。 不採⽤になった理由は、ローレベルAPIを直接操作できることに対して、セキュ リティ⾯での懸念点がある、ということ。 しかしながら・・・・
  • 58. Copyright © NTT Communications Corporation. All right reserved. MicrosoftがORTCを黎明期からサポートする訳 n MicrosoftはCU-RTC-WEBというAPIを独⾃提案していた • 特徴としては ü MediaコーデックのMandatoryを決めない ü RTCPeerConnectionというピア同⼠のコネクションを抽象化する ⼿法を取っていない ü セッション制御にJSEP/SDPを採⽤していない ü メディア並びにリアルタイム通信を取り扱うブラウザコンポーネ ントへ直接アクセスが出来るローレベルAPIを⽤意 58 W3CのWebRTC WGでこの提案を取り込むかどうかの投票が⾏われ、賛成票が 4票、反対票が22票で不採⽤に。 不採⽤になった理由は、ローレベルAPIを直接操作できることに対して、セキュ リティ⾯での懸念点がある、ということ。 しかしながら・・・・ CU-RTC-WebはORTCと設計思想が似ているため、 サポートを表明したのではないか? あくまで推測ですが。
  • 59. 59Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの技術仕様
  • 60. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCが出た当初からORTC陣営が⾔っていること • 仕様⾯ ü SDPを直接JavaScriptで操作することはない ü ステートレスにリアルタイム通信を⾏うためのAPI設計 ü H.264/SVCなどのモバイルにやさしいコーデックを推奨 • 実装⾯ ü モバイル・アプリケーションとのプロトコルの互換性を担保 ü キャリアスケールオペレーションに必要な監視、診断機能を⽤意 ü サーバサイドのORTC Client実装をリファレンス提供 ü STUN/TURNの認証管理の仕組みを提供 ü オーディオ、ビデオのミキシングの仕組みをリファレンス提供 等 60
  • 61. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 61 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り
  • 62. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 62 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り DTLSによるデー タ転送を司るオ ブジェクト DTLSのコネク ションからRTP パケットを取り 出すリスナー
  • 63. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 63 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り ICEを利⽤して接続先候補を収 集し、⼀番効率がよいルートで 接続を⾏う STUN、TRUNの仕組みも活⽤
  • 64. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 64 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り MediaStreamのコ ントロール(送信 や停⽌等)を⾏う MediaStreamのコ ントロール(受信 や停⽌等)を⾏う
  • 65. 65Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの今後 D(NTT Comグループ限り)
  • 66. Copyright © NTT Communications Corporation. All right reserved. WebRTCとの融合 n 昨年のTPACでのRTCRtpSender / RTCRtpReceiver の提案が あったように、今後WebRTCと融合していく⽅向で議論が進ん でいる n WebRTC 1.1または2.0では、ORTC陣営のアイディアが取り込 まれ、よりよいRTC API仕様ができるだろう。 66 ORTCについての詳細はこちら http://ortc.org/
  • 67. 67Copyright © NTT Communications Corporation. All right reserved. 活⽤事例編 WebRTC活⽤事例
  • 68. Copyright © NTT Communications Corporation. All right reserved. n Bistri SNSと連携しているワンクリックコールサービス。URLを生成してそこにアク セスした人とビデオチャットが出来る。 Facebook, Google+, Windows Live, Yahoo, Jabber対応 サービスとしての活⽤事例
  • 69. Copyright © NTT Communications Corporation. All right reserved. n MistCDN ブラウザ間でコンテンツをシェアするCDNサービス。日本の学生ベンチャー。 サービスとしての活⽤事例
  • 70. Copyright © NTT Communications Corporation. All right reserved. n Frozen Mountain WebRTCを利用したサービスを開発するためのSDK(IceLink)を提供。 Chrome、FirefoxだけではなくiOSとIEでもWebRTCの機能を利用可能とする ライブラリとなっている。 プラットフォームとしての活⽤事例
  • 71. Copyright © NTT Communications Corporation. All right reserved. n Weemo ビデオチャットを既存のアプリケーションに埋込むためのSDKとクラウドを提 供。Safari、IE、Firefox、Chrome、Android、iOSに対応。 プラットフォームとしての活⽤事例
  • 72. Copyright © NTT Communications Corporation. All right reserved. n tokbox Face-to-Faceのコミュニケーションを実現する、OpenTokというプラットフォ ームと開発者向けのライブラリを提供。今年は、Firefoxと連携しFirefox Hello を提供。 プラットフォームとしての活⽤事例
  • 73. Copyright © NTT Communications Corporation. All right reserved. Requestec Flash、SIPとWebRTCを相互連携できるSDKとAPIを提供する。JavaScript, Flash, iOSとAndroidに対応。ユーザ認証等の機能も提供。 プラットフォームとしての活⽤事例
  • 74. Copyright © NTT Communications Corporation. All right reserved. Add Live WebRTC開発者向けのSDK、シグナリングなどのクラウド・サービス、IEやiOS にも対応するWebRTCクライアントライブラリ、アナリティクス、エンタープラ イズに対応するサポートなどを提供する。 5000以上の案件、250000ユーザー、2000000分/月アプリが利用されている。 プラットフォームとしての活⽤事例
  • 75. Copyright © NTT Communications Corporation. All right reserved. Browsetel WebPhoneやClick-to-Call、Web Conferenceなどの機能を簡単に組み込むこと が可能なクラウド・サービスを提供。 プラットフォームとしての活⽤事例
  • 76. Copyright © NTT Communications Corporation. All right reserved. NAT NAT 76 SkyWayは、WebRTC活⽤サービスの提供者向けのフレームワーク。 複雑なシグナリング処理を担うAPI群とライブラリで構成される。 n2013年12⽉5⽇に提供開始 n約1100名の開発者が利⽤ n提供内容 • シグナリングAPI • NAT越えAPI (=STUN) • ライブラリ(オープンソース) STUN API Signaling API STUN API ライブラリ ライブラリ 開発者はPeer to Peer通信のプログラ ミングに専念できる SkyWayが シグナリングを 担うので、 プラットフォームとしての活⽤事例
  • 77. Copyright © NTT Communications Corporation. All right reserved. Dialogic PowerMedia XMSというサーバソフトウェアを提供。WebRTCとSIP Deviceで 通話する際のシグナリングやコーデックのトランスコード(VP8からH.264) 、メディアのレコーディング、ミキシング等を行うサーバを簡単に構築する事 ができる。コンタクトセンター向けソリューション。 ベンダー製品としての活⽤事例 引⽤元:http://www.dialogic.com/en/landing/webrtc.aspx ・JAVA製ソフトウェア(CentOSやRHREで動作可能) ・Audioは同時1000セッション、Videoは同時450セッション
  • 78. Copyright © NTT Communications Corporation. All right reserved. callstats.io WebRTCを活用したビデオ会議等提供事業者向け(スタートアップ、エンター プライズ向け)に、映像品質のリアルタイムコントロール、遅延等の常時監視 機能を提供する。 運⽤系としての活⽤事例
  • 79. Copyright © NTT Communications Corporation. All right reserved. IoT分野での活⽤事例 • ビデオ会議機能を備えた遠隔操作ロボット。 • Double Robotics社、Romotive社のロボットは、WebRTC技術を採⽤。 • 難病で登校できない⼦供が、学校に配備されたロボットを利⽤するなどの事例もある。 (VGo社) 79 Romo by Romotive www.romotive.jp ¥15,660 ロボット側はiPhoneに、操作側は ChromeとFirefoxに対応。 Double by Double Robotics www.doublerobotics.com $2,499 ロボット側はiPadに、 操作側はiPadとChromeに対応。
  • 80. 80Copyright © NTT Communications Corporation. All right reserved. 活⽤事例編 デモンストレーション
  • 81. Copyright © NTT Communications Corporation. All right reserved. コンシューマ向けWeb会議 • インストール不要、認証も不要、URLにアクセスするだけで開始。 • ビデオの場合は8⼈まで、オーディオのみの場合は 20⼈までの、グループチャットに対応。 818181 SkyWaySkyWayで シグナリング WebRTCでメッシュ状に接続し、 マイク⾳声、カメラ映像を すべての相⼿に送信 WebRTC Chat on SkyWay chat.skyway.io 2014年4⽉21⽇ サービス開始
  • 82. Copyright © NTT Communications Corporation. All right reserved. スマホで撮った多数の映像を表⽰ • 2000⼈規模のカンファレンス(HTML Conference 2013)会場で スマホで撮った約150名の来場者の顔を、壇上のスクリーンに表⽰した。 82 SkyWay SkyWayで シグナリング カメラの映像を WebRTCで送信 HTML5 JUMBOTRON jt.skyway.io
  • 83. Copyright © NTT Communications Corporation. All right reserved. ゲーム n CUBE SLAM • WebRTCを活⽤したオンライン対戦型エアホッケー • https://www.cubeslam.com 83
  • 84. Copyright © NTT Communications Corporation. All right reserved. ビジネス向けWeb会議 n GoToMeeting • https://free.gotomeeting.com/ 84
  • 85. Copyright © NTT Communications Corporation. All right reserved. Firefox n Firefox Hello • https://www.mozilla.org/ja/firefox/hello/ n Firefoxでスクリーンシェア • https://talky.io/ ü ChromeではExtensionやAppsでできることは有名 ü Firefoxも33から対応 ü AddonをインストールかMozillaに申請し、ドメインをホワイトリ ストに追加してもらう必要あり 85
  • 86. Copyright © NTT Communications Corporation. All right reserved. データチャネル n データチャネル系 • MistCDN ü http://www.mist-t.co.jp/ ü WebRTCを利⽤したCDNサービス 86
  • 87. Copyright © NTT Communications Corporation. All right reserved. ORTC n ORTCデモ • http://html5labs.interoperabilitybridges.com/prototype s/object-rtc/object-rtc/info • 動作させるにはWin端末が必要なので、今回は記事でご紹介 ü http://qiita.com/Tukimikage/items/f75617b81501eba86093 87
  • 88. 88Copyright © NTT Communications Corporation. All right reserved. 最後に・・・
  • 89. Copyright © NTT Communications Corporation. All right reserved. WebRTC Conference Japan開催決定! 89 ⽇本初のカンファレンス、海外からのゲストも多数参加します! http://webrtcconference.jp
  • 90. 90Copyright © NTT Communications Corporation. All right reserved. ご清聴ありがとうございました。