Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

19,547 views

Published on

HTML5 Conferenceでの講演資料です。
ルームB 13:20-14:00

2017/02/13
P24ページの対応表を修正しました。
【誤】制限付きフルコーン☓シンメトリック:TURN
【正】制限付きフルコーン☓シンメトリック:STUN

2015/1/26
P24ページの対応表を修正しました。
【誤】シンメトリック☓フルコーン:TURN
【正】シンメトリック☓フルコーン:STUN

Published in: Internet

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

  1. 1. Copyright © NTT Communications Corporation. All right reserved. HTML5 Conference WebRTC/ORTC 最新動向まるわかり! NTTコミュニケーションズ ナカユウスケ 2015年1⽉25⽇
  2. 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. 3. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 u オフィシャルワーク1 HTML5 Experts.jpの運営 ・HTML5に特化した Web技術者向け情報メディア ・⽇本最⾼峰のWebエキスパート、 コントリビューターによる情報発信 3 http://html5experts.jp
  4. 4. Copyright © NTT Communications Corporation. All right reserved. ⾃⼰紹介 u オフィシャルワーク2 WebRTC開発者向けプラットフォームSkyWayの開発・運営 ・2013年12⽉5⽇に提供開始 ・約1100名の開発者が利⽤ ・詳しくは後ほど! 4 https://skyway.io
  5. 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. 6. Copyright © NTT Communications Corporation. All right reserved. 想定読者・聴者 1. WebRTC/ORTCについては名前を聞いたことがあるレベル、 機会があれば触ってみたいと思っている⼈ 2. WebRTC/ORTCについてはそれなりに知っているが、業界の 最新動向をひと通り頭に⼊れておきたい⼈ 3. WebRTC/ORTCは完全マスター!バリバリコードも書いてて、 最新動向もバッチリ! 4. それ以外 6
  7. 7. 7Copyright © NTT Communications Corporation. All right reserved. 概要編 WebRTCとは
  8. 8. Copyright © NTT Communications Corporation. All right reserved. HTML5の全体像 HTML5が提供する機能は多岐にわたる。WebRTCはその⼀つの技術。 8 引⽤元:http://www.slideshare.net/dynamis/web-standards-infographics
  9. 9. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは(概要) n ひとことで⾔うと「ブラウザでテレビ電話を実現する技術」 n ブラウザだけで、プラグインのインストール無しに、Web会議、 ボイスチャット、テキストチャット、ファイル転送、電話との 連携等が実現可能。 9 従来のWeb WebRTC カメラやマイ クを利⽤可 リアルタイ ムに送受信 ブラウザ間 の直接通信 サーバ⇔ク ライアント 間の通信 リクエストと レスポンスの 繰り返し カメラやマイ クの利⽤不可 サーバ サーバ
  10. 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. 11. Copyright © NTT Communications Corporation. All right reserved. WebRTCとは(ビジネス⾯) ビジネス⾯では以下の3つの影響がある。 1. リアルタイム・コミュニケーションのオープン標準 • マルチデバイス、マルチOSのコミュニケーション系サービスを開発する際の WebRTCの活⽤が始まり、徐々に拡⼤している。 • IoT分野で、リアルタイム通信が必要な場合に、WebRTC採⽤の 機器も登場している。 2. ブラウザで利⽤できる • インストール不要なため、サポートコストの削減や低ITリテラシ層の利⽤が可能。 • HTML5、JavaScriptの記述だけで動作するため、既存のWebサービスや社内シス テムとの連携や組み込みが容易。 3. 電話との連携 • WebRTCを端末⇔ゲートウェイ間で利⽤することにより、電話と連携できる。 コンタクトセンタ分野にもWebRTCが適⽤できる。
  12. 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. 13. 13Copyright © NTT Communications Corporation. All right reserved. 概要編 WebRTCの技術要素
  14. 14. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 14 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理
  15. 15. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 15 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  16. 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. 17. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 17 • UDPホールパンチング NAT STUN NAT
  18. 18. Copyright © NTT Communications Corporation. All right reserved. ICE(Interactive Connectivity Establishment) 18 • UDPホールパンチング 俺のグローバル IPとポート番号 教えて 111.111.111.111 50000番やで NAT STUN NAT
  19. 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. 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. 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. 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. 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. 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. 25. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 25 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  26. 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. 27. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 27 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  28. 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. 29. Copyright © NTT Communications Corporation. All right reserved. WebRTCの仕組み 29 1.ICE 2.シグナリング 3.P2Pによるセキュアなリアルタイム通信 4.⾳声、映像処理 WebRTCと⼀⾔で⾔っても様々な技術が使われている。 仕組みを順に追いながら、使⽤されている技術要素を⾒ていく。
  30. 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. 31. 31Copyright © NTT Communications Corporation. All right reserved. 標準化編 WebRTC標準化の進め⽅
  32. 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. 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. 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. 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. 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. 37. 37Copyright © NTT Communications Corporation. All right reserved. 標準化編 最新の標準化動向
  38. 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. 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. 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. 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. 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. 43. 43Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCとは D(NTT Comグループ限り)
  44. 44. Copyright © NTT Communications Corporation. All right reserved. ORTCとはなにか? n 現⾏のWebRTC1.0のイケてない点を改善すべく提案さ れたもう⼀つのRTC API n Robin RaymondとErik Lagerway(Hookflashという RTCアプリの開発会社の同僚)の呼びかけで検討がス タート 44
  45. 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. 46. Copyright © NTT Communications Corporation. All right reserved. WebRTCのなにがイケてないの? 46 引⽤元:http://blog.webrtc.is/2013/03/06/sdp-the-webrtc-boat-anchor/
  47. 47. Copyright © NTT Communications Corporation. All right reserved. 褒めている部分もある n WebRTCは標準化でシグナリングの⼿法を定めていないこと Ø 将来的に様々なプロトコルを⽤いることが出来るためとてもよい判断 だった 47
  48. 48. 48Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの歴史 D(NTT Comグループ限り)
  49. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 59. 59Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの技術仕様
  60. 60. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCが出た当初からORTC陣営が⾔っていること • 仕様⾯ ü SDPを直接JavaScriptで操作することはない ü ステートレスにリアルタイム通信を⾏うためのAPI設計 ü H.264/SVCなどのモバイルにやさしいコーデックを推奨 • 実装⾯ ü モバイル・アプリケーションとのプロトコルの互換性を担保 ü キャリアスケールオペレーションに必要な監視、診断機能を⽤意 ü サーバサイドのORTC Client実装をリファレンス提供 ü STUN/TURNの認証管理の仕組みを提供 ü オーディオ、ビデオのミキシングの仕組みをリファレンス提供 等 60
  61. 61. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 61 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り
  62. 62. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 62 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り DTLSによるデー タ転送を司るオ ブジェクト DTLSのコネク ションからRTP パケットを取り 出すリスナー
  63. 63. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 63 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り ICEを利⽤して接続先候補を収 集し、⼀番効率がよいルートで 接続を⾏う STUN、TRUNの仕組みも活⽤
  64. 64. Copyright © NTT Communications Corporation. All right reserved. ORTCの技術仕様 n ORTCの仕様書で定義されているオブジェクト群 64 垂直⽅向の⽮印:メソッドとイベントのやりとり ⽔平⽅向の⽮印:メディアやデータのやり取り MediaStreamのコ ントロール(送信 や停⽌等)を⾏う MediaStreamのコ ントロール(受信 や停⽌等)を⾏う
  65. 65. 65Copyright © NTT Communications Corporation. All right reserved. ORTC編 ORTCの今後 D(NTT Comグループ限り)
  66. 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. 67. 67Copyright © NTT Communications Corporation. All right reserved. 活⽤事例編 WebRTC活⽤事例
  68. 68. Copyright © NTT Communications Corporation. All right reserved. n Bistri SNSと連携しているワンクリックコールサービス。URLを生成してそこにアク セスした人とビデオチャットが出来る。 Facebook, Google+, Windows Live, Yahoo, Jabber対応 サービスとしての活⽤事例
  69. 69. Copyright © NTT Communications Corporation. All right reserved. n MistCDN ブラウザ間でコンテンツをシェアするCDNサービス。日本の学生ベンチャー。 サービスとしての活⽤事例
  70. 70. Copyright © NTT Communications Corporation. All right reserved. n Frozen Mountain WebRTCを利用したサービスを開発するためのSDK(IceLink)を提供。 Chrome、FirefoxだけではなくiOSとIEでもWebRTCの機能を利用可能とする ライブラリとなっている。 プラットフォームとしての活⽤事例
  71. 71. Copyright © NTT Communications Corporation. All right reserved. n Weemo ビデオチャットを既存のアプリケーションに埋込むためのSDKとクラウドを提 供。Safari、IE、Firefox、Chrome、Android、iOSに対応。 プラットフォームとしての活⽤事例
  72. 72. Copyright © NTT Communications Corporation. All right reserved. n tokbox Face-to-Faceのコミュニケーションを実現する、OpenTokというプラットフォ ームと開発者向けのライブラリを提供。今年は、Firefoxと連携しFirefox Hello を提供。 プラットフォームとしての活⽤事例
  73. 73. Copyright © NTT Communications Corporation. All right reserved. Requestec Flash、SIPとWebRTCを相互連携できるSDKとAPIを提供する。JavaScript, Flash, iOSとAndroidに対応。ユーザ認証等の機能も提供。 プラットフォームとしての活⽤事例
  74. 74. Copyright © NTT Communications Corporation. All right reserved. Add Live WebRTC開発者向けのSDK、シグナリングなどのクラウド・サービス、IEやiOS にも対応するWebRTCクライアントライブラリ、アナリティクス、エンタープラ イズに対応するサポートなどを提供する。 5000以上の案件、250000ユーザー、2000000分/月アプリが利用されている。 プラットフォームとしての活⽤事例
  75. 75. Copyright © NTT Communications Corporation. All right reserved. Browsetel WebPhoneやClick-to-Call、Web Conferenceなどの機能を簡単に組み込むこと が可能なクラウド・サービスを提供。 プラットフォームとしての活⽤事例
  76. 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. 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. 78. Copyright © NTT Communications Corporation. All right reserved. callstats.io WebRTCを活用したビデオ会議等提供事業者向け(スタートアップ、エンター プライズ向け)に、映像品質のリアルタイムコントロール、遅延等の常時監視 機能を提供する。 運⽤系としての活⽤事例
  79. 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. 80. 80Copyright © NTT Communications Corporation. All right reserved. 活⽤事例編 デモンストレーション
  81. 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. 82. Copyright © NTT Communications Corporation. All right reserved. スマホで撮った多数の映像を表⽰ • 2000⼈規模のカンファレンス(HTML Conference 2013)会場で スマホで撮った約150名の来場者の顔を、壇上のスクリーンに表⽰した。 82 SkyWay SkyWayで シグナリング カメラの映像を WebRTCで送信 HTML5 JUMBOTRON jt.skyway.io
  83. 83. Copyright © NTT Communications Corporation. All right reserved. ゲーム n CUBE SLAM • WebRTCを活⽤したオンライン対戦型エアホッケー • https://www.cubeslam.com 83
  84. 84. Copyright © NTT Communications Corporation. All right reserved. ビジネス向けWeb会議 n GoToMeeting • https://free.gotomeeting.com/ 84
  85. 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. 86. Copyright © NTT Communications Corporation. All right reserved. データチャネル n データチャネル系 • MistCDN ü http://www.mist-t.co.jp/ ü WebRTCを利⽤したCDNサービス 86
  87. 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. 88. 88Copyright © NTT Communications Corporation. All right reserved. 最後に・・・
  89. 89. Copyright © NTT Communications Corporation. All right reserved. WebRTC Conference Japan開催決定! 89 ⽇本初のカンファレンス、海外からのゲストも多数参加します! http://webrtcconference.jp
  90. 90. 90Copyright © NTT Communications Corporation. All right reserved. ご清聴ありがとうございました。

×