OpenWebRTC is a WebRTC client framework released as open source by Ericsson. It allows building native applications and supports the only iOS browser, Bowser, that implements WebRTC. Releasing OpenWebRTC as open source provides a second WebRTC implementation, helps standardization efforts, and promotes interoperability. The framework has a modular architecture and supports cross-platform development of real-time communications applications.
2. Overview
› Ericsson and WebRTC
› What is OpenWebRTC?
› What is Bowser?
› Why Release OpenWebRTC as Open Source?
› API
› Architecture
› What Can I Do with Them Now?
› Future
› How Does OpenWebRTC Impact WebRTC?
Ericsson Internal | 2011-10-19 | Page 2
3. Ericsson and WebRTC
› Prototyped WebRTC API
› Iterations of WebRTC framework
› First desktop browser with WebRTC support (prototype
implemented in WebKit GTK+)
› First mobile browser with WebRTC support (Bowser for
iOS/Android)
› Internal projects and experiments
– Back office support (OpenWebRTC works on Google Glass!)
– Remote excavation (VERY low latency requirements)
Ericsson Internal | 2011-10-19 | Page 3
4. what is OpenWebRTC?
› WebRTC client framework
› BSD 2-clause (“Simplified” BSD)
› Modular, flexible, extensible, …
› C/GObject, gobject-introspection and JavaScript
› Build native applications
› We plan to integrate OpenWebRTC into the WebKit GTK+
browser engine
Ericsson Internal | 2011-10-19 | Page 4
5. What is Bowser?
› The only iOS web browser supporting WebRTC
› UIWebView
– Soon WKWebView
› OpenWebRTC ‘bridge’
– Start the bridge
– Inject the JavaScript to load the WebRTC API from the bridge
server
› Option for native rendering coming soon!
Ericsson Internal | 2011-10-19 | Page 5
6. Why Release OpenWebRTC
as Open Source?
› Second implementation
› Standardization
› Interoperability
› Native applications
› GStreamer
Ericsson Internal | 2011-10-19 | Page 6
7. API
› Tried to minimize API - easier to add API than to take it
away
› Newly-written so changes possible
› Asynchronous
› Introspected language bindings (Python, JavaScript and
other languages supported with gobject-introspection)
› OpenWebRTC C API low-level and flexible
› WebRTC API implemented in JavaScript – API is still
changing and new API proposals exist
Ericsson Internal | 2011-10-19 | Page 7
11. What Can I Do with
THem Now?
› Interoperate with Chrome and Firefox
› Bowser: WebRTC web applications on iOS
› Develop cross-platform native WebRTC applications
› Try out new ideas
– Modular, flexible design may allow you to try things in applications
that you couldn’t do before
– Standardization
› Easy-to-modify WebRTC API in JavaScript
› Add new features for demonstration
Ericsson Internal | 2011-10-19 | Page 11
12. Future / Coming Soon
› In the pipeline
– API documentation
– Robustness (almost)
– Device listing on all platforms (almost)
– Native overlay video rendering (almost)
– Hardware codecs (hardware decoding already in place on some
platforms)
– Tutorials (some already done)
– WebKit GTK+ integration
– Raspberry Pi support
– ORTC?
– Other API?
› Contributions!
Ericsson Internal | 2011-10-19 | Page 12
13. How Does OpenWebRTC
Impact WebRTC?
› Completely independent implementation of the standard
– May help finalizing WebRTC ‘1.0’ API
– Improve WebRTC ‘1.0’ API specification clarity
› Not tied to current WebRTC API
› Focus on flexibility
› Competition in the WebRTC ecosystem
› Hardware codec support
› iOS support
Ericsson Internal | 2011-10-19 | Page 13
14.
15. And One More Thing…
Ericsson Internal | 2011-10-19 | Page 15
We’re hiring!
Media Protocols and
Applications, Ericsson
Research