SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1 スペシャルバージョン-

  • View
    387

  • Download
    11

Embed Size (px)

Text of SkyWayを使いこなすために How to use SkyWay -SkyWay UG Kansai #1...

  1. 1. Copyright NTT Communications Corporation. All rights reserved. #WebRTCSkyWay SkyWay SkyWay UG Kansai #1 2018.1.12 Yusuke Naka@SkyWay DevRel @Tukimikage
  2. 2. @iwashi86 https://goo.gl/tzJj3X
  3. 3. SkyWay
  4. 4. 1. 2. 3. 4. 5.
  5. 5. 1.
  6. 6. 2013SkyWayPeerJS http://peerjs.com/
  7. 7. PeerJS
  8. 8. PeerJS 2015/9
  9. 9. PeerJS 2015/9 SkyWayPeerJS
  10. 10. PeerJS 2015/9 SkyWayPeerJS No
  11. 11. JavaScript SDK API WebRTC API
  12. 12. JavaScript SDK API WebRTC API e.g. SafariAPI RtpTransceiver SDK https://github.com/skyway/skyway-js-sdk/blob/master/src/peer/negotiator.js#L340-L344
  13. 13. API JavaScript SDK
  14. 14. API SDKAPI https://webrtc.ecl.ntt.com/migration.html JavaScript SDK
  15. 15. Breaking Deprecation ( PeerJS API) JavaScript SDK
  16. 16. Breaking Deprecation (x.y.z e.g. 1.0.1) x y z JavaScript SDK
  17. 17. 2. JavaScript iOS/Android
  18. 18. Peer
  19. 19. Peer
  20. 20. Peer open Peer ID Peer ID
  21. 21. Peer Peer ID Peer ID
  22. 22. Peer debug WebRTC SkyWayUP
  23. 23. Peer config RTCPeerConnection
  24. 24. Peer config RTCPeerConnection TURN
  25. 25. / 1:1 MediaChannel
  26. 26. P2P Media Channel(/) Peer IDcall =>
  27. 27. P2P Media Channel(/) Peer IDcall => call answer
  28. 28. P2P Media Channel(/) / stream
  29. 29. P2P Media Channel(/) / stream autoplay play()
  30. 30. / MediaChannel
  31. 31. SkyWaySFU SFU : SFU: : SFU:
  32. 32. MultiParty( / SFU) mode joinRoom()
  33. 33. MultiParty( / SFU) / stream
  34. 34. https://conf.webrtc.ecl.ntt.com/
  35. 35. : MultiPartydeprecated Room API
  36. 36. 1:1 DataChannel
  37. 37. P2P Data Channel Peer IDconnect
  38. 38. P2P Data Channel Peer IDconnect connection
  39. 39. P2P Data Channel connection
  40. 40. P2P Data Channel connection data
  41. 41. DataChannel WebSocket WebSocket(socket.io) DataChannel
  42. 42. room
  43. 43. room data
  44. 44. room data
  45. 45. 3.
  46. 46.
  47. 47. P2P/ TURN call() joinRoom() e.g. 200 kbps
  48. 48. P2P/ VP9 e.g. H264
  49. 49. SFU 2018/1 SFU
  50. 50.
  51. 51. P2P call e.g. Peer ID
  52. 52. P2P call
  53. 53. P2P call
  54. 54. ( / )
  55. 55. P2P(/)
  56. 56. P2P(/) stream
  57. 57.
  58. 58.
  59. 59. joinRoommesh
  60. 60. 4.
  61. 61. ()
  62. 62. getStats() RTCPeerConnection getStats()
  63. 63. getStats() RTCPeerConnection getStats() _negotiator._pc.getStats()
  64. 64. getStats() RTCPeerConnection getStats() _negotiator._pc.getStats() API
  65. 65. getStats() : e.g.
  66. 66. getStats() : e.g.
  67. 67. getStats() : e.g.
  68. 68. getStats() : e.g.
  69. 69. getStats() : e.g.
  70. 70. SkyWay WebRTC https://goo.gl/FxJ9eo
  71. 71. TURN as a Service (SkyWayTURN)
  72. 72. TURN as a Service SkyWayTURN new Peer() -> open
  73. 73. TURN as a Service SkyWayTURN new Peer() -> open
  74. 74. TURN as a Service SkyWayTURN new Peer() -> open
  75. 75.
  76. 76. STUN/TURN
  77. 77. STUN/TURN https://pixabay.com/ja/%E4%B8%96%E7%95%8C-%E5%9C%B0%E5%9B%B3-%E5%A4%A7%E9%99%B8-%E5%9B%BD-%E5%9C%B0%E7%90%86%E5%AD%A6-%E6%83%91%E6%98%9F-%E5%9C%B0%E7%90%83-%E3%82%A2%E3%83%95%E3%83%AA%E3%82%AB-%E3%82%A2%E3%82%B8%E3%82%A2-117174/ /// ()
  78. 78. TURN TURN-UDP TURN-TCP TURN-TLS 443 (HTTPS) TLS()
  79. 79. SFU
  80. 80. SFU
  81. 81. SFU SFU ICE-UDP ICE-TCP ICE-SSLTCP (Chrome) SSLSSL 10000(UDP) / 443 (TCP/SSLTCP)
  82. 82.
  83. 83. e.g. 24 /TURN/SFU
  84. 84. e.g. 24 /TURN/SFU SkyWay
  85. 85. e.g. 24 /TURN/SFU SkyWay 12 Factor AppsInfrastructure as Code
  86. 86. 5.
  87. 87. SDK
  88. 88. SDK: 4
  89. 89. JavaScript SDK JavaScript SDK P2P: Chrome / Firefox / Safari / Edge SFU: Chrome / Firefox (e.g. SFU: Safari)
  90. 90. JavaScript SDK npm CDN $ npm install -s skyway-js //cdn.webrtc.ecl.ntt.com/skyway-latest.js
  91. 91. iOS SDK iOS SDK iOS 8+ Objective-C / Swift
  92. 92. iOS SDK CocoaPods SkyWay-iOS-SDK SDK
  93. 93. Android SDK Android SDK Android 4.2+ (API Level 17+) kotlin
  94. 94.
  95. 95. Chrome / Firefox ChromeExtension Firefox
  96. 96. Promise(getUserMedia)
  97. 97.
  98. 98. API
  99. 99. API JavaScript API iOS/Android SDK
  100. 100. SkyWay
  101. 101. SkyWay SkyWay
  102. 102. SkyWay SkyWay
  103. 103. Server 1. Peer ID (e.g. )
  104. 104. Server 1. Peer ID (e.g. ) 2.
  105. 105. Server 1. Peer ID (e.g. ) 2. 3. https://github.com/skyway/skyway-peer-authentication-samples
  106. 106. Server 1. Peer ID (e.g. ) 2. 3. 4.
  107. 107. Server 1. Peer ID (e.g. ) 2. 3. 4. 5. new Peer()
  108. 108. Server 1. Peer ID (e.g. ) 2. 3. 4. 5. new Peer() 6.
  109. 109. API
  110. 110. reCAPTCHASkyWayAPI https://goo.gl/nq3vaH
  111. 111.
  112. 112.
  113. 113. https://www.flickr.com/photos/donkeyhotey/5666065982/in/photolist-9CG51N-iSVsHR-6BwEGo-4FRmzv-TsvWqd-uHbzbq-6mjqJY-b5wN6R-h9pYTx-4a6jX9-s7EWjn-jPUuDi-qDm2oy-qurhKS-afTGc7-8PPonW-56c1Bv-f2BHW3-QWD62z-H5z2n6-T9GYM2-kCSr67-TdZSEE-e4TCJJ-EiD3UR-eemkAU-onnXYp-578snM-8QB2Pq-FDvnar-7ggUqp-dhweee-9CFYBE-54kbk6-oLpFmq-636bwM-RX2Bq7-jo7gvp-WJFsgL-XhKWTw-UhCpCS-W7cMac-W8c9ux-WKBC7Q-HRUzeG-VzJ2Ns-qskcfy-9scYYm-bCS5Qy-dBy9xV