• Stars
    star
    1,797
  • Rank 25,860 (Top 0.6 %)
  • Language
    C
  • License
    BSD 2-Clause "Sim...
  • Created about 10 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A cross-platform WebRTC client framework based on GStreamer

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.

More Repositories

1

openwebrtc-examples

Examples apps showing how to use OpenWebRTC
Objective-C
338
star
2

calvin-base

Calvin is an application environment that lets things talk to things, among other things.
Python
282
star
3

bowser

A WebRTC browser for iOS developed in the open
HTML
208
star
4

scream

SCReAM - Mobile optimised congestion control algorithm
Shell
178
star
5

openwebrtc-ios-sdk

SDK for adding OpenWebRTC to your iOS apps using CocoaPods
Objective-C
69
star
6

spindump

Spindump is an in-network latency measurement tool with support for QUIC and TCP
C
61
star
7

openwebrtc-gst-plugins

OpenWebRTC specific GStreamer plugins
C
51
star
8

openwebrtc-android-sdk

SDK for adding OpenWebRTC to your Android app
Java
45
star
9

kollagen

C++
32
star
10

UDA-4-TSC

Unsupervised Domain Adaptation for Time Series Classification
Python
22
star
11

scott-eu

SCOTT – Secure Connected Trustable Things
Python
20
star
12

cerbero

OpenWebRTC cerbero fork
Python
19
star
13

openwebrtc-build-scripts

Build scripts for OpenWebRTC
Shell
16
star
14

openwebrtc-browser-extensions

Add WebRTC support to existing browsers using OpenWebRTC
HTML
15
star
15

cloud-native-app-simulator

HydraGen: A Microservice Benchmark Generator
Go
15
star
16

plasticsearch

Prolog
9
star
17

secure-rewind-and-discard

C
8
star
18

calvin-constrained

C based implementation of Calvin runtime for constrained devices
C
7
star
19

ipso-odm

Tools for translating IPSO/LwM2M and OneDM SDF models
JavaScript
7
star
20

monad

Repo for Project CS 2015 - Uppsala University - http://www.it.uu.se/edu/course/homepage/projektDV/ht15
Python
7
star
21

oslc_prolog

Implementation of OSLC Core in SWI-Prolog
Prolog
7
star
22

xdpfrer

Partial BPF/XDP implementation of experimental research prototype IEEE 802.1CB FRER for Linux
C
7
star
23

OpenSAW

OpenSAW is a framework that uses concolic execution to find bugs in compiled programs."
C++
6
star
24

v2x-self-revocation

Artifacts for NDSS'24 paper "Efficient and Timely Revocation of V2X Credentials"
Python
6
star
25

meca

Java
6
star
26

damp

Decentralized Air quality Monitoring and Prediction
Jupyter Notebook
6
star
27

spreadnet

Uppsala Project CS 2022
Python
6
star
28

arms

Python
5
star
29

fl-moe

This repo contains code for the paper Adaptive Expert Models for Personalization in Federated Learning to appear in International Workshop on Trustworthy Federated Learning in Conjunction with IJCAI 2022 (FL-IJCAI'22).
Python
4
star
30

trap

Transport Abstraction Package
Java
4
star
31

coap-actuators

Makefile
3
star
32

eon

3
star
33

Blind-Cache-Drafts

Makefile
2
star
34

gnn-neighbors-xai

Official implementation of “Evaluating Neighbor Explainability for Graph Neural Networks”
Jupyter Notebook
2
star
35

Robust-Tracking-MPC-over-Lossy-Networks

Python
2
star
36

FluxHELayers.jl

Julia
2
star
37

icassp-2023

Python
2
star
38

urdf-yang

The repository contains network extensions modelled in Yang of the URDF descritions of various IoT devices
Python
2
star
39

ldap4pl

C
2
star
40

udp-ping

C++
1
star
41

droneacharya

Collaboration project with KCL around AI planning
Python
1
star
42

EST-OSCORE

Protecting EST payloads with OSCORE
Makefile
1
star
43

EDHOC

C
1
star
44

iot-framework-api-java

Java
1
star
45

bloombility

Python
1
star
46

sdradrustffi

Rust
1
star
47

congruent-federated-learning

This repository contains the implementation of the congruent federated learning (CFL) to be published at IEEE TMLCN
Python
1
star