Answers to common questions about the ORTC API…
Q. How does this compare to the work being done in the W3C WEBRTC WG?
A. The W3C WEBRTC WG is working toward locking down the functionality in WebRTC 1.0 in order to bring that work to a conclusion. Rather than distracting the existing WG from its mission, a separate ORTC Community Group was formed, with the charter of developing a next generation API.
Q: Do you see the work being done in the ORTC CG converging with the WebRTC WG?
A: Yes, the WebRTC WG has already started adopting many of the objects contained within the ORTC API. The ORTC API is seen as the path for the next generation of the WebRTC API. The WebRTC WG remains the group creating and finalizing the official standards track proposal for the official WebRTC API. The general thinking is that once enough of ORTC API has been proven in real world implementations and the WebRTC WG has finalized the WebRTC 1.0 API that our CG members and our peers in the WebRTC WG will see value in merging the two entirely, but that remains to be seen.
Q: What is the approach being taken to enable developers to transition to use of the ORTC API?
A: The ORTC CG envisages that “up shim” libraries will be developed to enable applications written to a subset of the ORTC API to run on browsers implementing the existing WebRTC 1.0 API. Conversely, “down shim” (aka adapter) library allows application builders to continue to use the WebRTC 1.0 API and adjust and take advantage of the greater control available in ORTC over time.
The “down shim” feasibility has been proven in both adapter.js and the adapter included in ORTC Lib. The feasibility of the “up shim” approach is an important milestone for the ORTC API prototyping effort that has not yet been achieved. Since an important goal of the ORTC API is to enable advanced functionality not currently available in WebRTC 1.0, it should be understood that not all features of ORTC API would be available within such a “shim”.
Q: What is the biggest difference in approach between ORTC API and WebRTC API?
A: ORTC provides greater access to more controls of the RTP engine. The result is developers have more power and flexibility in the way they build real-time communications applications and features. Some examples: SVC (Scalable Video Coding), Simulcast, codec settings per track, direct access and control of encoding and decoding information.
Q: What advanced features is the W3C ORTC CG looking to support with ORTC API?
A. By using separate sender and receiver objects, the ORTC API potentially enables a number of advanced features. These include support for simulcast and scalable video coding. Also, developers working with legacy systems may very well find ORTC an easier fit to their systems than the current WebRTC 1.0 approach as adjusting to custom media encoding scenarios via direct control may be easier than indirect control via manipulating a description of media encoded in SDP.
Q: What features do the ORTC API and WebRTC APIs have in common?
In a number of areas (such as the Data Channel and DTMF), the ORTC API utilizes a very similar approach to WebRTC 1.0. The ORTC API does not require any changes to getUserMedia or MediaStreamTracks.
Q: What is the level of participation within the W3C ORTC Community Group?
Currently the ORTC CG has 100+ members ranging from independent developers to very large companies with membership growing steadily.
Q: Are there implementations of ORTC API?
Yes. Microsoft has included ORTC in its Edge Browser. ORTC Lib has a full implementation of the ORTC API for mobile scenarios targeting UWP, iOS, and Android. With the release of the most recent ORTC API revision, enough details are now available for fully functional ORTC API implementations. We expect the feedback from implementations to result in refinements to the specification as time goes on.
Q: Is ORTC API ready for use in commercial products and services?
While ORTC API is still very much under refinement, the ORTC API is available in production environments now. Use within projects is encouraged.
Q: How does the ORTC API relate to CU-RTCWEB?
ORTC API was originally proposed by Robin Raymond, formerly Chief Architect @ Hookflash. The ORTC API has no direct relationship to CU-RTCWEB, other than both being object centric. Microsoft appears to have completely abandoned and obsoleted CU-RTCWEB API proposal in favour of the ORTC API.
Q: Where can I go to learn more about ORTC?
The main page of the ortc.org is filled with links to all kind of related resources.