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

WebRTC: Real-time Communication for Everyone! - Goruco 2014

WebRTC: Real-time Communication for Everyone! - Goruco 2014

Introducing the NY Ruby community to WebRTC.

Lisa Larson-Kelley

June 21, 2014
Tweet

More Decks by Lisa Larson-Kelley

Other Decks in Technology

Transcript

  1. @lisamarienyc | LearnFromLisa.com Goruco 2014 Real-time Communication 
 on the

    Web – for Everyone! Goruco 2014 June 21, 2014 ! Lisa Larson-Kelley LearnFromLisa.com [email protected] @lisamarienyc
  2. @lisamarienyc | LearnFromLisa.com Goruco 2014 RTCDataChannel Fast and efficient sharing

    of data ❖ Great for: ❖ Multiplayer games ❖ Text chat ❖ Remote applications ❖ File transfer Encrypted Congestion control built in Same API as WebSockets (basically)
  3. @lisamarienyc | LearnFromLisa.com Goruco 2014 Initiating a peer connection Set

    up signalling channel Get local media Set up peer connection Attach 
 media to connection Exchange session descriptions mediaStream API RTCPeerConnection API Overall architecture diagram from www.WebRTC.org
  4. @lisamarienyc | LearnFromLisa.com Goruco 2014 The full WebRTC environment Web

    Servers PSTN Gateway Jingle Client Tablet Mobile Phone Phone PSTN Laptop PC SIP Client Other Servers WebRTC
  5. @lisamarienyc | LearnFromLisa.com Goruco 2014 WebRTC app, with signaling webpage

    [HTML / JS] signaling server [HTTP or Websockets] webpage [HTML / JS]
  6. @lisamarienyc | LearnFromLisa.com Goruco 2014 WebRTC app, with signaling webpage

    [HTML / JS] signaling server [HTTP or Websockets] webpage [HTML / JS]
  7. @lisamarienyc | LearnFromLisa.com Goruco 2014 Establishing Peer Connections: An Overview

    192.168.0.3 225.35.6.2.188 192.168.0.3 = 225.35.6.2.188 192.168.0.4 = 225.35.6.2.189 192.168.0.5 = 225.35.6.2.190 192.168.0.6 = 225.35.6.2.191 Respond to 192.168.0.3
  8. @lisamarienyc | LearnFromLisa.com Goruco 2014 How STUN servers work “Hey,

    what’s my external IP address?” “My IP address is 41.19.4.1.255” STUN Your external IP Address is 225.35.6.2.188 “My IP address is 225.35.6.2.188 Peer-to-Peer
  9. @lisamarienyc | LearnFromLisa.com Goruco 2014 What do you need? ✓

    Core programming skills ✓ HTML, CSS and JavaScript ✓ Your preferred HTML editor ✓ Webcam and microphone ✓ Latest build of 
 Chrome or 
 Firefox
  10. @lisamarienyc | LearnFromLisa.com Goruco 2014 §WebRTC services and platforms -

    Tokbox.com Open Tok platform - Vidyo.com - rtc.io - Xirsys.com hosted server infrastructure § Instant free video conferencing - apprtc.appspot.com - AddLive.com - Vline.com - Vsee.com (free and premium) - Appear.in
 Some ready-to-use services
  11. @lisamarienyc | LearnFromLisa.com Goruco 2014 Prebuilt frameworks ❖ PeerJS ❖

    SimpleWebRTC ❖ easyRTC ❖ webRTC.io ❖ RTC.io (node toolbox) ! ! ❖ PSTN Frameworks ❖ Phono - Open source JavaScript phone API: ❖ sipML5 - Open source JavaScript SIP client ❖ FreeSWITCH - scalable open source cross-platform telephony platform
  12. @lisamarienyc | LearnFromLisa.com Goruco 2014 Resources § Simplest possible API

    demos § HTML5Rocks tutorials § Video chat: apprtc.appspot.com 
 (with source code) § webrtc-experiment.com - Muaz Khan § http://webrtcbook.com - Alan Johnston and Daniel Burnett § And more! http://bit.ly/lisa-rtc
  13. @lisamarienyc | LearnFromLisa.com Goruco 2014 “What’s the biggest barrier to

    WebRTC adoption?” Source: WebRTC World Outlook 2014 Survey
  14. "It's kind of fun 
 to do the impossible." -

    Walt Disney @lisamarienyc | LearnFromLisa.com WebRTC
  15. @lisamarienyc | LearnFromLisa.com Goruco 2014 @lisamarienyc | LearnFromLisa.com bit.ly/learnwebrtc Thank

    you. Welcome to the new frontier of real-time communication on the web!