ORTC and the Future of WebRTC

| by Abel Avram Follow 5 Followers on Aug 21, 2014. Estimated reading time: 2 minutes |

A note to our readers: You asked so we have developed a set of features that allow you to reduce the noise: you can get email and web notifications for topics you are interested in. Learn more about our new features.

The first stable ORTC (Object RTC) specification is out. The questions is how is it going to impact WebRTC?

Back in 2013, Robin Raymond, Chief Architect at Hookflash, has expressed his discontent with the use of SDP (Session Description Protocol) in WebRTC. He summarized his issues with SDP as following:

  1. unneeded – much too high level an API
  2. arcane format – legacy and problematic
  3. offer/answer
  4. incompatibilities
  5. lack of API contact
  6. doesn’t truly solve goal of compatibility to legacy systems

In the following months others joined him and the W3C Object RTC (ORTC) Community Group was formed to define “a set of ECMAScript APIs in WebIDL to allow media to be sent and received from another browser or device”. The group currently has 60 members including Microsoft and Google, and has produced the first stable specification draft: Object RTC (ORTC) API for WebRTC.

Doug Mahugh (Microsoft) considers that ORTC is now “complete enough for implementations to gain experience with it, so that a ‘call for implementations’ will go out.” He outlines some of the reasons why ORTC is useful:

The ORTC API is well suited to a “mobile first, cloud first” world because it supports advanced video features such as scalable video coding and simulcast. These advanced video technologies have proven difficult to support in an interoperable way within SDP in WebRTC 1.0. By contrast, utilizing these advanced video technologies within a JavaScript object API is more straightforward.

Also, the ORTC FAQ provides more reasons for a new web communication specification:

ORTC provides greater access to more controls via JavaScript. The result is web developers have more power and flexibility in the way they build real-time communications applications and features. Some examples; Layered Video Coding, Codec Settings Per Track and…


The primary API for ORTC is written in JavaScript. To modify the same controls in WebRTC 1.0 would necessitate browser source code changes. When we asked web developers which they would prefer, most of them said they would like access to more control in their applications without having to wait for browser or other software vendor updates.

Now that Microsoft and Google are pushing ORTC, one might wonder what will happen to WebRTC? Since several browser makers – Google, Mozilla, Opera, Microsoft - have already invested a lot in supporting WebRTC they are not going to dump it but rather adapt it to support ORTC. According to Justin Uberti (Google), WebRTC 1.1 will integrate ORTC (see video @ 29m20s). So, developers won’t have to rewrite their RTC applications but they are encouraged to transition towards using the ORTC API which is a more natural one to use in the browser.

There are a number of libraries on GitHub helping developers to use ORTC: JavaScript shim library for WebRTC for clients, Node.js library for server apps, and a C++ wrapper for mobile devices.

According to Uberti and Serge Lachappelle (Google), some 450 companies have developed WebRTC apps so far, and there are ~1.7B devices supporting it (video @ 43m40s), the number being supposed to grow to 4B by 2018 considering that WebRTC is to be used for video chat, voice calling, file sharing in all sorts of devices, a Google team demonstrating a rover with a 3D camera operated over WebRTC (video @ 2m36s).

Rate this Article

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread
Community comments

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread


Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you