With the power of WebRTC, anyone with a compatible browser and an internet connection can speak with each other in real-time. A peer-to-peer connection establishes communication between two parties. Small groups of people can communicate effectively using this method.
When the number of participants increases, however, this method fails quickly. Hardware and network limitations start to eat away at the speed and quality of communication. It is simply not a scalable solution.
A browser-based WebRTC broadcast handles all network types equally. That is all parties receive the same encoded stream. This means that parties with poor or unreliable connectivity will be severely affected.
What is a media server?
A WebRTC media server is hardware that can send, receive, and store data at high speeds. A media server is capable of processing data streams and hence offers several services.
How is a media server useful?
The services that a media server offers are indispensable for any company looking to take full advantage of the power of WebRTC. The following are just some of the major services that a WebRTC media server offers.
A media server can act as a multi-conference unit or MCU by distributing the media generated by one peer to many recipients. It can perform mixing, which is the process of transforming several incoming streams into one output stream.
In the case of incompatible clients, it can perform transcoding which is the process of adapting different formats and clients. Lastly, all exchanges between peers can be recorded and stored by a media server.
In this way, a media server gives us a level of control that a browser simply cannot. A media server can operate in any type and quality of a network and provide a comfortable experience for all participants.
For example, a client in a bad network will suffer from packet loss. A media server can-among other alternatives, use simulcast or SVC to move the recipient on the bad network, to a lower media quality layer without affecting other recipients. This ensures that everyone will achieve real-time communication regardless of their network.
The free and open-source WebRTC offered by browsers is an amazing service. But a browser is simply not designed or implemented to perform the intensive tasks mentioned previously. Real-time media processing is a very difficult field and many devices, especially portable devices, are not capable of such tasks on a large scale.
The use of a media server compartmentalizes the task of generating and receiving media from the processing and storage of the media. This allows any device to take advantage of the power of WebRTC without restrictions.
Once a media server is in place, then any peer on any device can perform broadcasts without worrying about the quality of communication.