A great option for Multi- Party WebRTC is MCU. MCU stands for Multipoint Controller Unit, a.k.a. mixing, is another strategy for implementing multi-party on WebRTC. With MCU, the idea is that instead of having a peer establishing a connection with all other peers, it only has to connect to one central entity, and this in turn, sends the media to all other peers and vice versa.
This central entity, receives the name of media server, and it’s in charge of processing the media streams and data that is sent by the peers. This process can vary on each implementation but can be simplified into five steps:
The MCU device receives the media streams from all peers, decodes them and then creates a layout with all of them, after that it encodes them to be finally sent to all peers. Now every peer only has to send and receive on stream. This can be seen in the star configuration below.
By using MCU, we avoid all the problems originated in Mesh. Even if the number of users increases, this won’t have any impact on the user processing capacity and bandwidth; as every user only connect with one peer, the media server.
This means everyone is happy… or are they? Well, I know some people that won’t be happy with this, and these are the people who are paying for the media servers.
With this strategy, you need to put a server in the middle, a very expensive one, as it will be in charge of processing the media that all peers are sending. This processing consumes a lot of cpu as it has to decode and encode media.
MCU is an alternative that solves all issues present in Mesh, but at a high cost… literally. If you want to have a strategy that doesn’t charge too much on either the client or server side, perhaps it’s better to try a different route.
Want to learn more?
To learn more about MCU and other ways to add users to your connection visit our website here.