Your SlideShare is downloading. ×
0
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
WebRTC Standards from Tim Panton
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

WebRTC Standards from Tim Panton

1,243

Published on

WebRTC Standards from Tim Panton

WebRTC Standards from Tim Panton

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,243
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
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. WEBRTC STANDARDS AND UNDERPINNINGS Tim Panton, Westhawk Ltd - @steely_glint
  2. What is webRTC?      Haven’t used webRTC Your laptop is on wifi Have Chrome/firefox Browse to: http://phono.com – click ‘call’
  3. What did we just do?       Placed a video call with no plugins zero config just by browsing to a site encrypted free over local wifi
  4. WebRTC Definition       Realtime voice / video /data browser based no plugins secure interoperable
  5. Standards      IETF W3C Loosely based on pre-existing standards $100s Millions of IPR - donated Google, Cisco, Mozilla, Skype, Tropo, ATT, E///, Lucent etc.
  6. Big Picture HTTP(s) signaling via webserver Peer to Peer media between Browsers
  7. Protocol standards (IETF) The IETF has responsibility for the wire protocols in RTCWeb
  8. Signaling Standards None!  It is up to the javascript in the browser to do what ever is needed.
  9. Media Standards (RIA 2.0) Many!         STUN ICE TURN DTLS SRTP RTCP OPUS ULAW
  10. Why so many? The network environment of a web browser is not the same as a desk phone.    Security – hostile lans (coffee shops/hotels) Variablity – home networks, wifi/3g Programability – Javascript is dynamically loadable This stack of media standards addresses the differences.
  11. NAT NAT STUN and ICE address NAT ICE sends multiple STUN packets down all possible interfaces to try and find a path. First Bi-directional route found is used.
  12. TURN NAT NAT TURN is for when ICE fails to find a viable path A TURN server in the cloud acts as a packet reflector Many Telco 3g networks isolate users from each other.
  13. MS NAT NAT Bridging via a media server. If additional services are required – recording, conferences, PSTN interop etc. then bridging via a media server may be required.
  14. DTLS DTLS is the UDP version of TLS (as used in https etc) It serves 2 purposes in the WebRTC   Exchange keys used by the SRTP media encryption Carry the data channel streams
  15. Demo – sharefest.me Data channel provides Peer 2 Peer data between browsers. It can be used for file transfer, game moves etc. It may also become important in M2M or IOT as a secure NAT friendly P2P protocol. Demo show file transfer between 2 browsers by sharing a URL, but not through that server.
  16. SRTP + RTCP Encrypted version of the classic RTP protocol, with the RTCP reporting mechanism. Multiple media streams may be multiplexed over the same pair of ports – still under discussion.
  17. Standard Codecs Audio   OPUS Wideband Flexible, efficient, loss correcting Expensive to transcode ULAW Narrowband PSTN codec High bandwidth Poor in lossy/variable networks
  18. Codecs - No video standard yet. Video   VP8 H264 Differences are largely commercial and legal rather than technical, either is plenty good enough.
  19. Standard APIs (W3c) These are the API’s offered to the javascript programmer – aka ‘JSEP’
  20. Javascript : getUserMedia() navigator.webkitGetUserMedia({ 'audio':true, 'video':true }, function(stream) { var url =webkitURL.createObjectURL(stream); createPeer(stream); }, function(error) { });
  21. Javascript : RTCPeerConnection pc = new RTCPeerConnection(configuration,constraints); pc.onicecandidate = function(evt) { sendCandyToAlice(evt.candidate); }; pc.onaddstream = function (event) { var remotePlay = document.getElementById(”videoTag"); remotePlay.src = webkitURL.createObjectURL(event.stream); }; pc.addStream(localStream); pc.createOffer( function(offer) { pc.setLocalDescription(offer); sendOfferToAlice(pc.localDescription.sdp); }, null, constraints);
  22. HTML : <Video> tag     Extended to accept a webRTC stream as a source Either a local or remote See previous slides Additional mute etc.
  23. Javascript:RTCSessionDescription function onMessageFromAlice(message){ var sd = new RTCSessionDescription( {'sdp':message,'type':"answer”} ); pc.setRemoteDescription(sd,sessionOk,sessionFail); }
  24. Dissention with SDP as an API       SDP is emitted by pc.createOffer() Complex SDP May be manipulated to select codecs/candidates… Source of much complaint Currently ill defined May be replaced in 2.0 std
  25. Other co-operating W3C APIs   WebGL Can be used to apply effects to video WebAudio Can be used to apply effects to audio Both will be able to be applied to local or remote streams
  26. Javascript libraries      Most web coders will use a library JS Sip ATT.js Phono OpenRTC
  27. Demo – WebGL effects Demo of WebGL doing realtime effects on a webRTC video stream

×