Hacker News new | ask | show | jobs
by jgrowl 4083 days ago
Yeah, I don't think that it is boil the ocean difficult but there is definitely some complexity there. I have been working on a scala WebRTC server, but I am not sure if it would really work at a large scale

Here was my basic approach:

An end user creates a PeerConnection with a Publisher node and starts sending a MediaStream using a string identifier.

Then another user can create a PeerConnection with a Subscriber node using the same identifier.

The Subscriber node then makes a request to the Publisher to make another PeerConnection to a Registry that exists on the same node as the Subscriber.

The replicated MediaStream can then be attached to the Subscriber.

Since the replicated MediaStream is in a Registry, any additional subscribers can attach the MediaStream on the same node as well.

The code is a huge mess but it is here (The scala server is in the media directory): https://github.com/jgrowl/livehq

There is a vagrant file that brings up the whole system at the root of the project (using docker). I have not tested it recently on anything other than ubuntu.