A mobile-first WebRTC client framework for building native apps

With OpenWebRTC you can build native WebRTC apps that communicate with browsers that supports the WebRTC standard, such as Chrome, Firefox and Bowser. OpenWebRTC is especially focused on mobile platforms, with powerful features such as hardware accelerated video coding and OpenGL-based video rendering. 

The OpenWebRTC project is free and Open Source with a permissive BSD-2 license. The code is available on GitHub, there is a mailing list and Twitter account for discussions and questions. This site and its blog are maintained by Ericsson Research.


icon-heart.png

Flexible and modular

The modular architecture of OpenWebRTC makes it easy to modify and extend. The WebRTC standard is still evolving and the flexibility of OpenWebRTC will allow it to quickly adopt changes and new features.

modular.png

Cross-platform

Support for iOS, Android, Mac OS X and Linux is built right in. No Windows? Nope, but feel free to get started, it should not be too much work.

Based on GStreamer

Among other great projects, OpenWebRTC is built on top of widely used and powerful GStreamer multimedia framework.

 

1409143368_chrome-48.png

Interoperability

Applications built on top of OpenWebRTC will be interoperable with popular browsers such as Chrome and Firefox. Not all functionality in the WebRTC standard is supported yet, see the roadmap.

icon-video.png

H.264 and VP8

With support for both H.264 (OpenH264) and VP8 (libvpx) video codecs OpenWebRTC is compatible with most video communication services

 

Open license

The permissive BSD 2-clause allows you to use the code as you please with very few limitations.


Background

OpenWebRTC is built on the belief that the WebRTC standard would transcend the pure browser environment and that native apps, implementing the same protocols and API's, would become an important part of the WebRTC ecosystem. This is especially true on mobile platforms where native app distribution is often preferred over pure web apps. Native OpenWebRTC apps can either talk to other native apps or browsers that support WebRTC. OpenWebRTC can also provide the WebRTC-backend to web browsers. 

Having independent, interoperable, implementations is important for the health of any standard, and WebRTC is no exception. The ambition of OpenWebRTC is to follow the WebRTC standard closely as it continues to evolve. The bulk of the API layer is therefore implemented in JavaScript, making it super fast to modify and extend with new functionality (one such candidate is ORTC). 

The initial version of the OpenWebRTC implementation was developed internally at Ericsson Research over the last few years. OpenWebRTC and Bowser were released publicly as free and Open Source in October of 2014. Before being released publicly, OpenWebRTC has been used to build several research prototypes such as this, this and that