←back to thread

86 points stargrave | 3 comments | | HN request time: 0s | source
Show context
lxgr ◴[] No.40087224[source]
> WebRTC-based solutions are insane bloated incredible monsters [...] They work mainly only if you use the same kind of software and codecs, for example Chromium[...]

That's just not true anymore these days. I've used WebRTC between Firefox, Safari, and Chrome without any issues.

> only if you use the same kind of software and codecs, for example Chromium, that requires dozens of gigabytes of disk space and much RAM, CPU time to build it.

There seem to be non-browser implementations [1] [2], although I can't vouch for their quality.

[1] https://liburtc.org/

[2] https://github.com/awslabs/amazon-kinesis-video-streams-webr...

replies(2): >>40087932 #>>40090115 #
Karrot_Kream ◴[] No.40090115[source]
I'm generally not a person who rails at bloat, but WebRTC is definitely a package. It's a suite of SIP, SRTP, ICE, STUN, TURN, and codecs to do voice/video calls. This makes it versatile and seamless but yes also heavy and opinionated. A good example is just how few blessed ways there are to use WebRTC outside of the browser.
replies(1): >>40090196 #
1. Sean-Der ◴[] No.40090196[source]
What makes something a 'blessed way'? Are you looking for community support, large corporate users etc..? Not being snarky, curious about how people see the space. Lots of implementations exist and I have used most of them for different projects, not all these projects went to production though.

* https://github.com/elixir-webrtc (Elixir)

* https://github.com/pion/webrtc (Golang)

* https://github.com/webrtc-rs/webrtc (Rust)

* https://github.com/algesten/str0m (Rust)

* https://github.com/sepfy/libpeer (C/Embedded)

* https://github.com/awslabs/amazon-kinesis-video-streams-webr... (C/Embedded)

* https://github.com/paullouisageneau/libdatachannel (C++)

* https://webrtc.googlesource.com/src/ (C++)

* https://github.com/shinyoshiaki/werift-webrtc (Typescript)

* https://github.com/sipsorcery-org/sipsorcery (C#)

* https://github.com/aiortc/aiortc (Python)

* GStreamer’s webrtcbin (C)

replies(1): >>40090790 #
2. Karrot_Kream ◴[] No.40090790[source]
> Are you looking for community support, large corporate users etc..?

Lots of documentation and demonstrations. And honestly, probably a bit better SEO or maybe searching on my part. For some reason GStreamer's webrtcbin totally flew under my radar.

Also not trying to be snarky/negative about WebRTC. I think it's fantastic at what it does. But as a tinkerer, I want something with more tinkering surface area. Not to detract from the great work on WebRTC and how accessible it's made low-latency streaming.

replies(1): >>40090915 #
3. lxgr ◴[] No.40090915[source]
WebRTC actually feels exceptionally tinkerable to me, with human(-ish) readable SDP offers, public RFCs, various implementations, and importantly it being accessible from JavaScript playgrounds right within the browser!

I've learned a lot about it over the years by following https://webrtchacks.com/, which does just that, i.e. taking apart various open and closed VoIP implementations (WebRTC or otherwise) and seeing how they work.