LiveKit – Open source, high performance WebRTC infrastructure
github.com
github.com
I also really love as a company how LiveKit operates. I work on an Open Source library they use (Pion). They contributed so much upstream and take an active part in the community. They also publicize that they are using it. It is great seeing people doing the 'right thing' succeed :)
Until ICE supports TLS/DTLS it is worth deploying. I hope to fix this in the near future though!
[0] https://stackoverflow.com/questions/61287054/understanding-s...
Is there a way to get a standard TURN server to reuse outbound streams for 3+ user chat? E.g. I have a CoTURN install that is strictly used for audio and while I'm not too concerned about bandwidth at my server, I'm very concerned about uplink bandwidth for users with asymmetric connections (which is practically all of them).
I'm sorry to bug you here, but it's so hard to find anyone who actually knows much of anything about WebRTC who isn't just parroting stuff they read on Stack Overflow. Half the time I get the same, subtly-wrong answers about basic signaling, even when my question isn't even about signaling.
You will need to use a SFU to reuse outbound streams unfortunately.
Happy to help more on https://pion.ly/slack! I come back to HN once or twice a day, but will see your questions instantly. I am `Sean-Der` in `#pion`
Also having a TURN server allows for very restricted corporate scenarios, such as everybody connecting through a single, well known port (as Sean's S.O. reply mentions in the sibling comment).
For example in OpenVidu (not trying to plug it here so won't put a link) a Coturn server is deployed, and TURN credentials are automatically shared with all clients (web browsers, mobile phones) so they can access the SFU through the Coturn instance, if needed. People are using this on very restricted networking setups for allowing connections between differently segmented networks, some of them not even connected to the internet.
So many important things are happening over WebRTC (telemedicine, remote control of dangerous machines...) I just would hate to see one of these C++ memory bugs have a negative impact.
If you're interested in pursuing this, the best starting point I've found for using the WebRTC C++ library from Rust is this: https://github.com/arcas-io/libwebrtc So far it looks like it only works on Linux and Mac.
On your recommendation of Rust over C++, is the thought to deal with the double-bridging (platform-sdk => rust => libwebrtc) until webrtc.rs gets to a point where libwebrtc can be swapped out?
You can definitely use Daily to build a Twitch clone and beyond — we have a powerful API for custom layouts and graphics in live streams.
Update: Given that this is for internal use at your company, a single LiveKit node should be perfectly fit to handle the scale you need.