Is it possible to implement a MCU with SimpleWebRTC and signalmaster? How?

540 views Asked by At

I have a peer to peer videoconference app using simpleWebRTC and signalmaster for signaling. When more than 4 users connects the stress it causes on the network and the TURN server is too big, so I was thinking, is it possible to implement a MCU in this case? What would it take to do it?

1

There are 1 answers

2
jamix On

For more than 4 participants, full mesh (connecting each participant with everyone else peer-to-peer) is impractical. If there are n participants, then each of them needs to have n - 1 outgoing and n - 1 incoming video streams, which quickly saturates the bandwidth, especially on mobile.

An SFU, for example Janus, forwards packets between call participants. The advantage of the SFU for group calls is that each participant needs to push their video stream only once - to the SFU - which then forwards it to everyone else. There are still n - 1 incoming streams for each participant though.

An MCU is capable of combining multiple video streams into one, so each participant ends up with 1 outgoing video stream and 1 incoming composite video stream. To produce a composite video stream out of n - 1 individual ones, an MCU needs to re-encode video in realtime, which makes it a CPU hog.

I would suggest giving Janus (SFU) a try first and seeing how that works for you.