2

Recently I have worked using WebRTC and I'm wondering if it would make more sense to implement a Real Time Communication open standard at a native level.

Let's say that instead of a web browser API we have a native API that any native app, including the browser can leverage.

Part of the promise of WebRTC is to have RTC on the browser without plugins but why stop there, why not have RTC on any device with media capabilities without plugins. There are many devices with media capabilities that will not run a web browser, e.g., wearables. It seems to me that the browser itself has become the plugin and I think we need to get rid of it as far as RTC is concerned.

It sounds like OpenWebRTC is going in a similar direction but so far they are only working inside the browser.

  • Are there open standards for native RTC? So far it looks like RTCWeb is only concerned about the browser.
  • Are there any projects/initiatives for native implementations of an open standard for RTC?
pgpb.padilla
  • 2,318
  • 2
  • 20
  • 44

2 Answers2

3
  1. webrtc definition. webrtc is stuck into two parts, complementary but separated. the W3C consortium is standardizing a JS API for browsers named webRTC. The IETF is standardizing the underlying protocols and what happen on the wire for interoperability, it is named rtcweb.

  2. the IETF's rtcweb group defines everything you need to interoperate with a browser, without being a browser yourself, i.e. for gateways, devices, .... It has been made explicit at the latest meeting in hawaii last november, and there is for example a corresponding draft.

  3. On the client side, the implementation of webRTC JS API is done on top of c/C++ implementations. Those "native" (as in non-browser, C/C++) APIs can be use directly for servers, embeddable devices, gateway, ect, or can also be wrapped in different languages (obj-c, java) to provide "native" (as in mobile native) APIs.

  4. Note that BOTH openWebrtc.io and webrtc.org have a full implementation of webRTC in C/C++ that you can use. openWebrtc provides iOS wrappers, and webkit wrappers (for safari), but do not provide data channel support, ORTC API support, nor compile under windows. webrtc.org supports all desktop OSes, and provide wrappers for both iOS and Android. The build tools are specific to google's chrome though, unlike openWebRTC which uses standard auto tools, github, ...

HTH

Community
  • 1
  • 1
Dr. Alex Gouaillard
  • 2,078
  • 14
  • 13
1

Currently there is no effort in this direction. The guys in the webrtc standardization committee have their hands full standardizing just the javascript API. As you know the current spec is not final and is currently still worked on. And now ORTC will generate even more work.

There are many reasons why no one is currently trying to standardize any form of native RTC. Here are some that come to my mind:

  • What exactly is native? Javascript is native for the browsers. The chrome version of webrtc is in C++ but the OpnWebRTC one is in C. Android developers use mostedly Java, iOS developers use ObjectiveC. Should there be standards for all these languages? That's going to take forever.

  • As I said standardization committee already have their hands full.

  • There is still quite a lot of experimentation that goes on with WebRTC. Standardization may prevent this.

  • The API of the native libraries tend to be very similar to the JS API.

Svetlin Mladenov
  • 4,307
  • 24
  • 31