Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Started with WebRTC

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for Chad Chad
February 11, 2015

Getting Started with WebRTC

Chad Hart's presentation at Mobile Tea at Wistia. Covers:
*Major WebRTC deployment
*Other WebRTC use cases
*What WebRTC is and how it got here
*The WebRTC API's
*Ways to get started with WebRTC
*Back-end considerations and challenges
*Chad's favorite WebRTC resources

Avatar for Chad

Chad

February 11, 2015
Tweet

Other Decks in Technology

Transcript

  1. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    4 IP Telephony + WebRTC Media Server PowerMedia™ XMS Multi-party conferencing Interworking Transcoding Stream processing Person-to-machine Recording
  2. Use case: dog training 12/10/2014 Scotch Streaming and Scaling 13

    https://webrtchacks.com/javascript-dog-trainer/
  3. Use case: peer-to-peer data CDNs File Transfer Private Networks bitcoin

    Peer web-servers Internet of Things 12/10/2014 Scotch Streaming and Scaling 14 grimwire wearables, security, industrial machine vision, ???
  4. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    17 WebRTC is world-class VoIP engine for free OPUS On2 Global IP Solutions .org Video Codec Google acquires On2 for $133 million VoIP Media Engine Google acquires Global IP Solutions for $68.2M Audio codec Opus - open, royalty-free, highly versatile standardized audio codec Open Source Communities
  5. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    18 WebRTC is a Web and Internet Standard webrtc rtcweb http://www.w3.org/TR/webrtc/ https://tools.ietf.org/wg/rtcweb/
  6. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    19 WebRTC is State-of-the-Art Technology Firewall/NAT Traversal • ICE/STUN/TURN • RTCP Multiplex • RTP Bundle Audio Codecs • Opus • G.711 Video Codecs • VP8, VP9 • H.264 Mandatory Encryption • DTLS Media Negotiation Signaling • Session Description Protocol
  7. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    20 WebRTC is 3 JavaScript APIs (& Java) getUserMedia CreatePeer Connection Data Channel Creates a media connection (RTP) between 2 peers Grants access to local microphone, camera, or screen Allows the user to send arbitrary data between peers
  8. Browser Support: WTF - No IE & Safari?? 12/10/2014 Scotch

    Streaming and Scaling 24 iswebrtcreadyyet.com Fallback to a plug-in or (ugh) Flash
  9. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    26 Many ways to work with WebRTC Level of effort Low-level source Frameworks, Tools, and SDKs Cloud API’s Amount of control Website Plug- ins & widgets
  10. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    27 Building WebRTC from scratch – 2 options Official Build by Google Ericsson Lab’s OpenWebRTC
  11. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    28 Build with tools Open Source Commercial Server-side libraries JavaScript libraries Mobile SDK’s Cross-platform frameworks Infrastructure elements
  12. COMPANY CONFIDENTIAL © COPYRIGHT 2013 DIALOGIC INC. ALL RIGHTS RESERVED.

    29 Consuming WebRTC API’s from the cloud Signaling Authentication Push Notifications SIP Gateway Transcoding STUN TURN Servers Low Latency Elasticity Recording Geographic redundancy Bandwidth Service monitoring Multi-party Identity
  13. Back-end Considerations • Servers • Signaling server • STUN/TURN •

    Media servers/processing • Gateways • Network • Bandwidth • Latency 12/10/2014 Scotch Streaming and Scaling 32
  14. The hard parts of WebRTC as you grow Server-side •

    Defining signaling for your signaling server • TURN servers for NAT traversal • Multi-party video conferencing • Real-time transcoding • Interworking with existing telephony networks (gateways) Client-side • Mobile optimizations • Non-WebRTC browser support • Keeping up with browser updates 12/10/2014 Scotch Streaming and Scaling 33
  15. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.

    34 TURN will relay your media media client Signaling Server TURN Server STUN Server client
  16. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.

    35 Mesh does not Scale for Many Video Conferees 35 Full Mesh Clients get overloaded Encode costs more than decode Limited uplink bandwidth Inconsistent performance across participants
  17. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.

    36 Media servers for scalable multi-party conferencing MCU SFU Multipoint Control Unit Selective Forwarding Unit
  18. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.

    37 Core WebRTC Gateway & Peripheral Functions HTTP-to-SIP (H2S) Media GW Transcoder Web SIP SBC STUN Server TURN Server API Gateway Regulates API calls Provides media anchoring for NAT Traversal Tells a client what its IP address is Converts non- standard web signaling to SIP Web SDK/ Widget Mobile SDK/ Widget Kit for adding Calls to webpage Kit for adding Calls to native applications Converts one codec to another, trans-rates/sizing Encryption & transport interworking SIP interworking, media binding, and security
  19. COMPANY CONFIDENTIAL: © COPYRIGHT 2015 DIALOGIC INC. ALL RIGHTS RESERVED.

    38 Example: Large, Web-Centric Network Architecture Web server SIP/IMS Network SIP Media Server Firewall API Manager API Calls H2S Server Identity Server App Server App Server WSS server STUN/ TURN Internal REST APIs WebRTC Browser
  20. Chad’s Favorite WebRTC Resources • webrtcHacks • github.com/webrtc • WebRTC

    Experiment • html5rocks.com • webrtcweekly.com 12/10/2014 Scotch Streaming and Scaling 39