We built a video conferencing app using JavaScript in hours
medium.com
medium.com
I guess the server doesn't modify the video stream. Since browsers are able to read the webcam, do they use hardware acceleration to compress the video stream? Is there a collection of formats?
I still wish we could go back to p2p video streaming like Skype was doing.
Moreover P2P would require more upload bandwidth per user from users. P2P just doesn't make sense for standard video conferencing.
Assuming that the server combines all the incoming streams into a single output stream, otherwise it still has to broadcast N-1 streams to each of the N users.
I did a lot of the same review and reached similar conclusions. The popular open-source self-hosted solutions seem incredibly bloated and buggy.
Twilio's offering also manages scaling and infrastructure. I suspect it's cheaper to go with their solution in the beginning and having a self-hosted solution will only become cheaper beyond a certain amount of concurrency/usage. They also offer recording, composition and a couple of other useful features.
If anyone has implemented a self hosted solution that's cheaper to host yourself I'd be interested in reading about it.