• Like
WebRTC/ORTCの最新動向まるわかり!
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

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

  • 285 views
Published

HTML5 Conferenceでの講演資料です。 …

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

Published in Internet
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
285
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
3
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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  主催     https://atnd.org/events/60983 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 TURN 制限付きフ ルコーン STUN STUN STUN TURN ポート制限 付きフル コーン STUN STUN STUN TURN シンメト リック TURN TURN TURN TURN ※厳密に細分化すると9パターンあります。
  • 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/wiki/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群とライブラリで構成される。 n 2013年年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/ prototypes/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. ご清聴ありがとうございました。