SlideShare a Scribd company logo
WebRTC Standards Q&A
Amir Zmora
TheNewDialTone
Dan Burnett
StandardsPlay
Recording is now available
Watch it now: http://ccst.io/e/webrtcstandards1
We use CrowdCast….It’s WebRTC
About Us
• Amir Zmora • Dan Burnett
WebRTCStandards.info
WebRTC Browser Support
IsWebRTCReadyYet.com
thenewdialtone.com/webrtc-in-safari
Codec Support
WebRTC Broadcast
Hangouts On Air
CrowdCast
Yodlr
Ubivent
BigMarker
ClassOnLive
Citrix (Future)
Periscope & Meerkat
Service
TokBox (Spotlight)
PaaS
WebRTC
Experiments
WebRTC Scalable
Broadcast (NPM)
Flashphoner
Open Source/Demos/SDKs
Also look at Peer Assisted CDN: Peer5, StreamRoot, Peeracle…
WebRTC Broadcast
NPM WebRTC Scalable Broadcast
WebRTC Broadcast
Flashphoner
Track-level controls
Senders, Receivers, & Transceivers
Object RTC (ORTC)
• Started by Hookflash in 2013
• Originally positioned as alternative to WebRTC 1.0
• Developed in a non-standards-track Community Group at W3C
• Active participants: Microsoft and Google, others
• Peer Connection establishment
• WebRTC 1.0: SDP Offer/Answer protocol (JSEP)
• ORTC: Capabilities API + proprietary agreement
• Now, ORTC aiming to be compatible with WebRTC
WebRTC & ORTC
• Great news!
• For WebRTC > 1.0, ORTC and WebRTC participants have agreed
• All official WebRTC standardization work will happen in WebRTC Working Group
• New API controls will not be required to have an SDP implementation
• WebRTC 1.0 will be included as a required part of the next version
• Erik Lagerway of Hookflash now a co-chair of WebRTC working group
• Bernard Aboba of Microsoft now a co-editor of WebRTC spec
ORTC -> WebRTC
• So, ORTC APIs will eventually end up in WebRTC
• Guess what? Some controls moving now (into WebRTC 1.0)!
Why new controls?
• WebRTC designed to ease set up of basic calls
• … but developers want more control
• Specifically, control over how media is transported over a peer connection
• things like codecs, priority, congestion-caused changes
• and absolutely anything that can accelerate call setup time!
• This has caused fundamental changes in the architecture
• Focus now on tracks, not streams
• addTrack(), removeTrack()
New track-level controls
• RTCRtpSenders
• RTCRtpReceivers
pc.addTrack(myVideoTrack)
.then(function(sender) {myVideoSender = sender;};
pc.ontrackadded = function (e) {
myAudioReceiver = e.receiver;};
Info on senders/receivers
• Transports
• RTCDtlsTransport
• sender.transport and sender.rtcpTransport, can be shared according to BUNDLE and RTCP-MUX
• Contains
• (ICE) transport, state, getRemoteCertificates()
• ICE transport info: component, role, state, gatheringState, local/remote candidates/parameters,
and selected candidate pair
• state is new, connecting, connected, closed, failed
• certificates are DTLS certificate chain used by the remote side
• Parameters
• (simulcast) encodings, codecs, rtcp parameters, RTP header extensions
Controls on senders/receivers
• Post-O/A codec control
• Simulcast
• degradationPreference
params = sender.getParameters();
var save0 = params.codecs[0];
params.codecs[0] = params.codecs[1];
params.codecs[1] = save0;
sender.setParameters(params);
params = sender.getParameters();
params.encodings.scaleResolutionDownBy = 2.0;
params.encodings.scaleResolutionDownBy = 4.0;
sender.setParameters(params);
params = sender.getParameters();
params.degradationPreference = "maintain-framerate";
sender.setParameters(params);
Transceivers
• Why?
• JSEP automatically assigns tracks to SDP media lines
• … sometimes in a way you don't want
• RTCRtpTransceivers provide explicit control over which SDP media sections used for which
tracks
• … and show you which sender and receiver are tied together in SDP
• What?
t1 = pc.addTransceiver("audio", {send: false, receive: true});
t2 = pc.addTransceiver(myVideoTrack);
(… later)
receivedAudio = t1.receiver.track;
receivedVideo = t2.receiver.track;
Controls on transceivers
• Pre-O/A codec control
• Pre-allocation to speed up call setup
transceiver.setCodecPreferences(["audio/OPUS", "audio/PCMU"]);
audioT = pc.addTransceiver("audio");
// do O/A now, which lets DTLS get started
navigator.mediaDevices.getUserMedia("audio":true)
.then(function(realAudioTrack) {
audioT.sender.replaceTrack(realAudioTrack);
});
WebRTC Standards Q&A Live Session 1 by Dan Burnett & Amir Zmora
Thank You
Amir Zmora
TheNewDialTone
Dan Burnett
StandardsPlay

More Related Content

PDF
Webrtc puzzle
PPTX
IEEE1588-v2
PPTX
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
PDF
TRex Traffic Generator - Hanoch Haim
PDF
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
PDF
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
PDF
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
PDF
Rina sim workshop
Webrtc puzzle
IEEE1588-v2
Barak Perlman, ConteXtream - SFC (Service Function Chaining) Using Openstack ...
TRex Traffic Generator - Hanoch Haim
【EPN Seminar Nov.10.2015】 Services Function Chaining Architecture, Standardiz...
Virtualizing the Network to enable a Software Defined Infrastructure (SDI)
Tech Talk by John Casey (CTO) CPLANE_NETWORKS : High Performance OpenStack Ne...
Rina sim workshop

What's hot (20)

PPTX
L2 and L3 agent restructure
PPTX
Data centre networking at London School of Economics and Political Science - ...
PDF
Ieee 1588 ptp
PDF
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
PPTX
DEVNET-1175 OpenDaylight Service Function Chaining
PDF
Tungsten Fabric Overview
PPTX
Eduroam workshop nic mitev loughborough uni - networkshop44
PPTX
Part 9 : Congestion control and IPv6
PDF
Beyond TCP: The evolution of Internet transport protocols
PPTX
Precision Time Protocol
PDF
Service Chaining overview (English) 2015/10/05
PDF
Sfo15 408- odp-dpdk platform performance
PDF
Ixiaexplorer
PPTX
501 ch 3 network technologies tools
PDF
Ryu sdn framework
PPTX
LISP and NSH in Open vSwitch
PPTX
Making our networking stack truly extensible
PDF
Ryu SDN Framework
PDF
Precision Time Synchronization
PPTX
IPv6 at Mythic Beasts - Networkshop44
L2 and L3 agent restructure
Data centre networking at London School of Economics and Political Science - ...
Ieee 1588 ptp
Tech Tutorial by Vikram Dham: Let's build MPLS router using SDN
DEVNET-1175 OpenDaylight Service Function Chaining
Tungsten Fabric Overview
Eduroam workshop nic mitev loughborough uni - networkshop44
Part 9 : Congestion control and IPv6
Beyond TCP: The evolution of Internet transport protocols
Precision Time Protocol
Service Chaining overview (English) 2015/10/05
Sfo15 408- odp-dpdk platform performance
Ixiaexplorer
501 ch 3 network technologies tools
Ryu sdn framework
LISP and NSH in Open vSwitch
Making our networking stack truly extensible
Ryu SDN Framework
Precision Time Synchronization
IPv6 at Mythic Beasts - Networkshop44
Ad

Similar to WebRTC Standards Q&A Live Session 1 by Dan Burnett & Amir Zmora (20)

PDF
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
PDF
WebRTC. Yet Another Overview, for IT Technicians.
PDF
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
PPTX
WebRTC overview
PDF
WebRTC DataChannels demystified
PDF
Osnug meetup-tungsten fabric - overview.pptx
PDF
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
PDF
BWE in Janus
PDF
WebRTC standards update - November 2014
PPTX
WebRTC Seminar Report
PPTX
WebRTC
PDF
Approved MikroTik training programs and certificates outlines
PDF
Introduction to WebRTC
PDF
Tutorial: Network State Awareness Troubleshooting
PDF
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
PPTX
Building a Router
PDF
Toolkit Titans - Crafting a Cutting-Edge, Open-Source Security Operations Too...
PPTX
Infrastructure as Code Presentation v5.pptx
PPTX
.NET Conf 2022 - Networking in .NET 7
PDF
Security defined routing_cybergamut_v1_1
WebRTC Webinar & Q&A - W3C WebRTC JS API Test Platform & Updates from W3C Lis...
WebRTC. Yet Another Overview, for IT Technicians.
WebRTC Webinar & Q&A - Sumilcast Standards & Implementation
WebRTC overview
WebRTC DataChannels demystified
Osnug meetup-tungsten fabric - overview.pptx
WebRTC Standards & Implementation Q&A - WebRTC Standards Feature Complete 
No...
BWE in Janus
WebRTC standards update - November 2014
WebRTC Seminar Report
WebRTC
Approved MikroTik training programs and certificates outlines
Introduction to WebRTC
Tutorial: Network State Awareness Troubleshooting
WebRTC Standards & Implementation Q&A - WebRTC NV planning face-to-face meeting
Building a Router
Toolkit Titans - Crafting a Cutting-Edge, Open-Source Security Operations Too...
Infrastructure as Code Presentation v5.pptx
.NET Conf 2022 - Networking in .NET 7
Security defined routing_cybergamut_v1_1
Ad

More from Amir Zmora (20)

PDF
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
PDF
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
PDF
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
PDF
WebRTC Standards & Implementation Q&A - IP address privacy revisited
PDF
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
PDF
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
PDF
WebRTC Standards & Implementation Q&A - The Future is Now2!
PDF
WebRTC Standards & Implementation Q&A - The Future is Now!
PDF
WebRTC Standards & Implementation Q&A - WebRTC Constrains
PDF
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
PDF
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
PDF
WebRTC Standards & Implementation Q&A - All about browser interoperability
PDF
WebRTC Webinar & Q&A - Standards Update
PDF
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
PDF
Web rtc standards live session #13 - The Browser-Standards Gap
PDF
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
PDF
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
PDF
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
PDF
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
PDF
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...
FlexiWAN Webinar - The Role of Open Source in Your SD-WAN Strategy
WebRTC Standards & Implementation Q&A - All You Wanted to Know About W3C TPAC...
WebRTC Standards & Implementation Q&A - getDisplayMedia 1.0
WebRTC Standards & Implementation Q&A - IP address privacy revisited
WebRTC Standards & Implementation Q&A - Implications of WebRTC 1.0 changes an...
WebRTC Standards & Implementation Q&A - Testing WebRTC 1.0
WebRTC Standards & Implementation Q&A - The Future is Now2!
WebRTC Standards & Implementation Q&A - The Future is Now!
WebRTC Standards & Implementation Q&A - WebRTC Constrains
WebRTC Standards & Implementation Q&A - The Internals of WebRTC Browsers Impl...
WebRTC Standards & Implementation Q&A - Legacy API Support Changes
WebRTC Standards & Implementation Q&A - All about browser interoperability
WebRTC Webinar & Q&A - Standards Update
WebRTC Webinar & Q&A - All About Microsoft & WebRTC Hosting Guest Speaker Ja...
Web rtc standards live session #13 - The Browser-Standards Gap
WebRTC Webinar & Q&A - Sending DTMF in WebRTC the standard way
WebRTC Webinar & Q&A - W3C WebRTC W3C MediaStream Recording
WebRTC Webinar & Q&A - Debugging Networking Issues in WebRTC
WebRTC Webinar and Q&A - IP Address Privacy and Microsoft Edge Interoperability
WebRTC Live Q&A Session #5 - JavaScript Promises and WebRTC Interoperability ...

Recently uploaded (20)

PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Encapsulation theory and applications.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Approach and Philosophy of On baking technology
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
NewMind AI Weekly Chronicles - August'25 Week I
Building Integrated photovoltaic BIPV_UPV.pdf
MIND Revenue Release Quarter 2 2025 Press Release
Encapsulation theory and applications.pdf
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Chapter 3 Spatial Domain Image Processing.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Approach and Philosophy of On baking technology
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Encapsulation_ Review paper, used for researhc scholars
Review of recent advances in non-invasive hemoglobin estimation
The Rise and Fall of 3GPP – Time for a Sabbatical?
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
NewMind AI Weekly Chronicles - August'25 Week I

WebRTC Standards Q&A Live Session 1 by Dan Burnett & Amir Zmora

  • 1. WebRTC Standards Q&A Amir Zmora TheNewDialTone Dan Burnett StandardsPlay
  • 2. Recording is now available Watch it now: http://ccst.io/e/webrtcstandards1
  • 4. About Us • Amir Zmora • Dan Burnett
  • 8. WebRTC Broadcast Hangouts On Air CrowdCast Yodlr Ubivent BigMarker ClassOnLive Citrix (Future) Periscope & Meerkat Service TokBox (Spotlight) PaaS WebRTC Experiments WebRTC Scalable Broadcast (NPM) Flashphoner Open Source/Demos/SDKs Also look at Peer Assisted CDN: Peer5, StreamRoot, Peeracle…
  • 9. WebRTC Broadcast NPM WebRTC Scalable Broadcast
  • 12. Object RTC (ORTC) • Started by Hookflash in 2013 • Originally positioned as alternative to WebRTC 1.0 • Developed in a non-standards-track Community Group at W3C • Active participants: Microsoft and Google, others • Peer Connection establishment • WebRTC 1.0: SDP Offer/Answer protocol (JSEP) • ORTC: Capabilities API + proprietary agreement • Now, ORTC aiming to be compatible with WebRTC
  • 13. WebRTC & ORTC • Great news! • For WebRTC > 1.0, ORTC and WebRTC participants have agreed • All official WebRTC standardization work will happen in WebRTC Working Group • New API controls will not be required to have an SDP implementation • WebRTC 1.0 will be included as a required part of the next version • Erik Lagerway of Hookflash now a co-chair of WebRTC working group • Bernard Aboba of Microsoft now a co-editor of WebRTC spec
  • 14. ORTC -> WebRTC • So, ORTC APIs will eventually end up in WebRTC • Guess what? Some controls moving now (into WebRTC 1.0)!
  • 15. Why new controls? • WebRTC designed to ease set up of basic calls • … but developers want more control • Specifically, control over how media is transported over a peer connection • things like codecs, priority, congestion-caused changes • and absolutely anything that can accelerate call setup time! • This has caused fundamental changes in the architecture • Focus now on tracks, not streams • addTrack(), removeTrack()
  • 16. New track-level controls • RTCRtpSenders • RTCRtpReceivers pc.addTrack(myVideoTrack) .then(function(sender) {myVideoSender = sender;}; pc.ontrackadded = function (e) { myAudioReceiver = e.receiver;};
  • 17. Info on senders/receivers • Transports • RTCDtlsTransport • sender.transport and sender.rtcpTransport, can be shared according to BUNDLE and RTCP-MUX • Contains • (ICE) transport, state, getRemoteCertificates() • ICE transport info: component, role, state, gatheringState, local/remote candidates/parameters, and selected candidate pair • state is new, connecting, connected, closed, failed • certificates are DTLS certificate chain used by the remote side • Parameters • (simulcast) encodings, codecs, rtcp parameters, RTP header extensions
  • 18. Controls on senders/receivers • Post-O/A codec control • Simulcast • degradationPreference params = sender.getParameters(); var save0 = params.codecs[0]; params.codecs[0] = params.codecs[1]; params.codecs[1] = save0; sender.setParameters(params); params = sender.getParameters(); params.encodings.scaleResolutionDownBy = 2.0; params.encodings.scaleResolutionDownBy = 4.0; sender.setParameters(params); params = sender.getParameters(); params.degradationPreference = "maintain-framerate"; sender.setParameters(params);
  • 19. Transceivers • Why? • JSEP automatically assigns tracks to SDP media lines • … sometimes in a way you don't want • RTCRtpTransceivers provide explicit control over which SDP media sections used for which tracks • … and show you which sender and receiver are tied together in SDP • What? t1 = pc.addTransceiver("audio", {send: false, receive: true}); t2 = pc.addTransceiver(myVideoTrack); (… later) receivedAudio = t1.receiver.track; receivedVideo = t2.receiver.track;
  • 20. Controls on transceivers • Pre-O/A codec control • Pre-allocation to speed up call setup transceiver.setCodecPreferences(["audio/OPUS", "audio/PCMU"]); audioT = pc.addTransceiver("audio"); // do O/A now, which lets DTLS get started navigator.mediaDevices.getUserMedia("audio":true) .then(function(realAudioTrack) { audioT.sender.replaceTrack(realAudioTrack); });