Hacker News new | ask | show | jobs
by mboehm 2213 days ago
We started our journey with Janus about three months ago and I can just fully recommend it. It is an amazing well-written piece of software which is just as flexible and integrative as developers wish. E.g. Slack used Janus, at least in 2016 [0]. It is important to understand: Janus offers the ingredients for building great WebRTC applications (examples [1]), whereas Jitsi is more like a ready-to-go solution and got much more attentation as Janus did.

Lorenzo and his colleagues are doing a really great job.

In the space of SFU/MFU, one really needs to decide beforehand what kind of solution is suitable for which requirement. I have chosen Janus because we could integrate it by 100% in our software. For example, I was also looking into Jitsi. But compared to Janus it feeled so much more complicated and not suited for that specific job.

However, it is important to point out, that this is no a ready-to-go solution. There is a long list of things you will have to dig into:

- ICE (a way to connect if you switch between WIFI and LAN or to punch a hole into your fw) [2]

- Cross-browser compatibility (Thank you iOS [4])

- TURN/STUN (Which matrix of udp/tcp and ports is needed for Hole Punching?), I recommend coturn.

- Scalability: How many clients are planned? In my experience, CPU and bandwith are bottlenecks, we went with horizontal scaling

- How do you gonna test your WebRTC application? So far great results with https://testrtc.com, but you probably also could accomplish a lot with Selenium.

- Simulcast/Bitrate or Unified Plan (Use available bandwith and adapt on-the-fly) [3][5]

But once you got it running, it is an amazing feeling. We are in 2020 and it is possible for an SMB to offer video conferencing to customers via a web-browser using your own infrastructure while being compliant to GPDR and other stuff.

[0] https://webrtchacks.com/slack-webrtc-slacking/

[1] https://janus.conf.meetecho.com/demos.html

[2] https://webrtcglossary.com/ice/

[3] https://webrtcbydralex.com/index.php/2018/03/14/extending-ja...

[4] https://webrtchacks.com/guide-to-safari-webrtc/

[5] https://www.callstats.io/blog/what-is-unified-plan-and-how-w...