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

WebRTC Presentation

WebRTC Presentation

Presentation about WebRTC I gave to the Dundee Software Society on 3rd July 2014

Paul Sutherland

July 03, 2014
Tweet

More Decks by Paul Sutherland

Other Decks in Technology

Transcript

  1. Who am I Paul Sutherland Construction Surveyor at Black &

    Veatch Moved across to application deployment Working on mobile app development Member of Software Society since its formation in 2011 [email protected]
  2. Motivation Dive in to understand what the technology is Do

    a talk to bring everyone here up to speed Use it in my web projects Have fun with leading edge technology
  3. "The Web we know now, which loads into a browser

    window in essentially static screenfuls, is only an embryo of the Web to come. The first glimmerings of Web 2.0 are beginning to appear, and we are just starting to see how that embryo might develop. The Web will be understood not as screenfuls of text and graphics but as a transport mechanism, the ether through which interactivity happens. It will [...] appear on your computer screen, [...] on your TV set [...] your car dashboard [...] your cell phone [...] hand-held game machines [...] maybe even your microwave oven". https://en.wikipedia.org/wiki/Web_2.0
  4. A world where through the browser you can: Share Files

    Live Chat Sensor Feeds Data Feeds Screen Sharing Gaming
  5. History Google purchase Global IP Solutions (GIPS) for $68m in

    2010 Google release WebRTC as a proposed standard in June 2011 They have pushed the W3C and IETF to develop standards Ericsson Labs release a prototype
  6. MediaStream Obtains the audio and video tracks Captures them as

    separate tracks Combines both the tracks to form a stream You interact via navigator.getUserMedia();
  7. Constraints getUserMedia takes constraints Determining the width and height of

    video Chrome allows screen capture (experimental)
  8. RTCDataChannel Uses RTCPeerConnection to send data This is in the

    form of JSON This can support gaming This can handle file transfers
  9. How do we find a Browser NATs and Firewalls cause

    problems Difficult to obtain a public IP
  10. STUN & TURN Stun can determine the public IP address

    of a browser Simple server which connects browsers peer to peer Google have released the source code for their STUN servers Images on Amazon available Stund package is available for Ubuntu
  11. TURN TURN server is the back up Relays the connection

    is peer to peer fails Seamless in the background determining STUN or TURN
  12. Welcome ICE Managing the best connection rests with the ICE

    framework Figures out the best option for the call Utilises STUN as first resort
  13. Apple Not supporting it They are very silent on it

    They would need to replace the VP8 codec with H.264 Replace Opus voice codec with AAC-LD
  14. API Differences W3C Standard Chrome Firefox getUserMedia webkitGetUserMedia mozGetUserMedia RTCPeerConnection

    webkitRTCPeerConnection mozRTCPeerConnection RTCSessionDescription RTCSessionDescription mozRTCSessionDescription RTCIceCandidate RTCIceCandidate mozRTCIceCandidate
  15. Outside the Browser sipML5 open source JavaScript SIP client Phono

    open source JavaScript phone API Zingaya embeddable phone widget