Skip to content
A cross-platform WebRTC client framework based on GStreamer
Branch: master
Clone or download
stefhak Update README.md
Added note about being actively maintained.
Latest commit 4cbd779 Mar 18, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bindings add missing gstcontext java mapping, this fixes #648 Mar 30, 2017
bridge Updated to allow RTX to be negotiated for h264 since this seems fixed… Sep 20, 2016
docs
git_hooks Fix git hook installation Oct 7, 2014
gst
local Fix build with gcc-7 (#700) Oct 18, 2017
m4
owr
tests Fix wrongly handled absence of candidates Jan 5, 2017
transport Fix build with gcc-7 (#700) Oct 18, 2017
CONTRIBUTING.md Update CONTRIBUTING.md Apr 1, 2015
COPYING Update Copyright year for Ericsson AB copyrights Apr 17, 2015
ChangeLog
LICENSE Update Copyright year for Ericsson AB copyrights Apr 17, 2015
Makefile.am gst: new sub-library Apr 22, 2015
README.md Update README.md Mar 18, 2018
ROADMAP.md Some more stuff done Dec 9, 2015
autogen.sh Don't require gtk-doc if autogen.sh is invoked with --disable-gtk-doc. Jan 5, 2017
configure.ac OwrLocalMediaSource: add volume and mute properties Jan 5, 2017
git.mk
libopenwebrtc.exp libopenwebrtc.exp: Add missing new API symbol Mar 30, 2017
libtool.diff Fix libtool to work properly with -weak_framework linking Oct 22, 2014

README.md

OWR Logo

A flexible, mobile-first, cross-platform WebRTC client framework based on GStreamer. OpenWebRTC currently supports iOS, Android, Mac OS X and Linux. Windows support is quite doable too if needed.

Note: OpenWebRTC is currently not being actively maintained.

Also note that the upcoming gstreamer release 1.14 will have built in support for WebRTC.

Releases

Downloadable binary releases are available here.

API Documentation

API documentation is available here.

Examples using OpenWebRTC

Bowser is a mobile browser that uses OpenWebRTC as a WebRTC back-end. As you can see here, Bowser is in fact a very thin layer of UI code on top of OpenWebRTC.

We are also writing some example code and applications to help you get started using OpenWebRTC on various platforms.

Before being released publicly, OpenWebRTC has been used by Ericsson Research to build several research prototypes such as this and that.

Building

Take a look at the Building OpenWebRTC wiki page for information about how to build the framework.

Community

For support, questions and discussions:

License

OpenWebRTC is released under BSD-2 clause. See LICENSE for details.

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.

Architecture

OpenWebRTC was designed for flexibility and modularity. The bulk of the API layer is implemented in JavaScript, making it super fast to modify and extend with new functionality. Below is a simplified sketch of the architecture.

Simplified architecture

Applications built on top of OpenWebRTC will be interoperable with popular WebRTC-enabled browsers such as Chrome and Firefox.

You can’t perform that action at this time.