TURN is only one piece of WebRTC, and for the product we're building we want to be in control of our destiny on the AV side. Building on a fairly mature open source implementation of WebRTC was an early choice we made. We've already used this to build an international mesh architecture and few-to-many over WebRTC theater experience that can support thousands of viewers with very low latency.
The ML work we're doing is outside of video processing for other features of our platform, although we have incorporated some tools for features like background blur.
On mobile we've built native iOS and Android apps. Our goal in general is not to chase Zoom, but make a very different experience for distributed work. That said the AV has to work.
> Building on a fairly mature open source implementation of WebRTC was an early choice we made.
Hmm, you would know this best, having dealt with libwebrtc, that there's libwebrtc Chrome, libwebrtc Mobile Safari, and stuff that doesn't work. I'd say more, but if you say Pion 3-times, the Pion maintainer comes out in the comments and casts a spell on you and your jitter buffers become 10,000ms long.
> used this to build an international mesh architecture
AFAIK, Twilio, Amazon, Azure and Steam operate the only at-scale private-routing-over-TURN aka network-traversal service service for others to use, and Twilio and Amazon are the same network. Twilio doesn't even bother with Global Accelerators (aka anycast IPs), they route you via DNS responses, I doubt they've updated the code for years. Do you guys have your own private network? Surely it's "Amazon."
I suppose if you did that work, well you probably don't need 90% of the WebRTC featureset anyway, you might as well centralize it, which is what all the big chat vendors end up doing.
Anyway, it is extremely hard to innovate in this space, it's a lot of mashing together open source libraries and doing IT drudgery. Sometimes that IT drudgery is gluing C++ code together; sometimes it's deploying onto 15 AWS regions. I really appreciate the complexity of what you're doing and it all looks very cool.
Andrus, thanks for all of your original work! We're currently using this for some automated testing with some additional use cases planned in the future. If there is some other way that you'd prefer us to work with original repo we'd be happy to, i.e. submit PRs, take over some management of it on your original org, etc.
Hey, you're welcome! And actually, yes — I reached out to @duvallj from GitHub regarding this earlier today. He has my original email, or you could email me at my address in my HN account info.
I just turned on issues, would be happy to take PRs. Our plan is to eventually get this current, but we will probably only be able to work on it from time to time and going from M87 to M94 got us what we needed.
This is Sean, one of the co-founders of Roam. It was at M87 when we started our work. Our plan is to get it to current at some point, we just haven't had time yet and this met our immediate term needs. Some version updates were easy, some have API changes that require real work.
I would be happy to take pull requests, I'll turn on Github issues now.
Hey Sean! I'm Cris at Dosyago. Fantastic to meet you here and great to see the work you have done on this. It's good someone has picked up the torch for this useful library.
This is great news about your intentions for it! I'm glad you jumped on here and congrats on Roam!
The ML work we're doing is outside of video processing for other features of our platform, although we have incorporated some tools for features like background blur.
On mobile we've built native iOS and Android apps. Our goal in general is not to chase Zoom, but make a very different experience for distributed work. That said the AV has to work.