4 ms·
I am so happy that WebRTC has so many implementations. Every developer thinks differently, it's good to have a implementation that matches your mindset. * http
by Sean-Der 2y ago
I am so happy that WebRTC has so many implementations. Every developer thinks differently, it's good to have a implementation that matches your mindset.
* https://github.com/shinyoshiaki/werift-webrtc https://github.com/shinyoshiaki/werift-webrtc (Typescript)
* https://github.com/pion/webrtc https://github.com/pion/webrtc (Golang)
* https://github.com/webrtc-rs/webrtc https://github.com/webrtc-rs/webrtc (Rust)
* https://github.com/algesten/str0m https://github.com/algesten/str0m (Rust)
* hhttps://github.com/sepfy/libpeer https://github.com/sepfy/libpeer (C/Embedded)
* https://webrtc.googlesource.com/src/ https://webrtc.googlesource.com/src/ (C++)
* https://github.com/sipsorcery-org/sipsorcery https://github.com/sipsorcery-org/sipsorcery (C#)
* https://github.com/paullouisageneau/libdatachannel https://github.com/paullouisageneau/libdatachannel (C++)
* https://github.com/elixir-webrtc https://github.com/elixir-webrtc (Elixir)
* https://github.com/aiortc/aiortc https://github.com/aiortc/aiortc (Python)
* GStreamer’s webrtcbin (C)
See https://github.com/sipsorcery/webrtc-echoes https://github.com/sipsorcery/webrtc-echoes for examples of some running against each other.
- esafak 2y agoAnyone used a JVM implementation?
- lostmsu 2y agoSadly, SipSorcery is lagging behind as of now. We only have H.264 and VP8 support for video, data channels only have partial implementation (only reliable ordered), and the performance of data channels is far from what it could be. But it is a great starting point for anyone working in C#.
- shay_ker 2y agoUnfortunately, there's massive drift between WebRTC implementations. The status quo is Google's, which is used by Chrome: https://webrtc.googlesource.com/src/ https://webrtc.googlesource.com/src/ And everyone else has to play catch-up. A big source of the drift is having a common library for SDP parsing, but also necessary features like BWE, different encodings, etc. For example, aiortc, python's WebRTC implementation, isn't quite at the level most would want. It isn't necessarily easy to tell, without clear benchmarks, which implementation is at-par with Google's.
- Sean-Der 2y agoWhy do you consider it the status quo? It isn’t used in servers, embedded devices or software like OBS. Yes it’s popular because of usage in Chromium/Mobile, but I don’t believe that qualifies it as status quo. aiortc is good enough to empower lots of businesses/projects! If anything comes up that really is a show stopper it will get addressed.