Video-conferencing technology allows two or more people to communicate via simultaneous transmissions of audio, video, and sometimes data over the IP network or the phone network.
In its simplest form, video-conferencing software uses the endpoint device’s audio/video interfaces to connect two people over the network (e.g. Microsoft Skype, Apple Facetime). That is great for ad hoc communication among two people. The advantage of peer-to-peer conferencing are the low-cost and the ease of use of such solutions.
Peer-to-peer video conferencing can be extended to include more than two people in a mesh configuration, where each person have simultaneous connections with all other participants. This is, for example, how technologies such as Skype and WebRTC natively support conversations among more than two people.
Multipoint Control Units (MCUs)
Peer-to-peer conferencing is simple, but does not scale in several situations:
- Large number of participants – Once the number of participants in a conference call increases beyond a handful of people, having each of them keep a separate audio/video connection with each the other participants will quickly overwhelm the local available bandwidth and processing capacity at the endpoint client.
- Support for heterogeneous endpoints – Peer-to-peer conferencing requires all participants to use the same client software or device so that the audio/video codecs and other call parameters (resolution, frame rate, etc) match. When there is a need to support clients using different technologies or types of devices, peer-to-peer doesn’t work.
- Advanced Features – Professional video-conferencing use cases often require more advanced features such as hability of a moderator to add/remove participants or control direction of communication, “follow the speaker”, etc.
The Multipoint Control Unit (MCU), sometimes also referred to as “conference bridge”, is a central gateway in a multipoint videoconferencing system. Historically, an MCU required specialized DSP-based hardware capable of processing audio/video in real-time, but it is now possible to implement MCUs entirely in software running in standard hardware.
Some of the functions an MCU can provide:
Transcoding – If participants of the video conference are using endpoints using different audio/video parameters (codec, frame rate, resolution, etc), there is a need to translate and normalize the media streams so that they can interoperate. For example, if one client is using H.264 video codec (used by most commercial IP phones) and another is using VP8 video codec (used by Skype and WebRTC clients), there is a need for translation. Transcoding is computationally expensive and must be done in real-time to be effective.
Call Signaling- In peer-to-peer conferencing, the clients are typically using the same signaling protocols to establish a call. SIP, H.323 are just a few examples of signaling stacks. A MCU can support different types of clients and provide the capability to call setup and tear down that can be understood by all clients.
Conference Setup – Beyond the actual media connections, a complex conference call requires additional coordination. An MCU can provide services such as scheduling of calls, reminders, support for dial numbers in different countries, authentication services, recording services, gateway to PSTN, etc.
Audio Mixing – To enhance audio quality, MCUs equalize and mix all audio streams and might process them to filter out environment noise, reduce echo, etc. and them send a single, combine audio stream to each participant.
Video Composition – Video streams consume significant amounts of bandwidth on the client side so MCUs can combine video streams (for example, tiling all images from each participant in one single video stream) so that each client has to receive and render a single video stream.
For a expanded discussion on Web Conferencing, including analysis on how to improve the user experience on conferencing platforms, please download the White Paper “Web Conferencing: It should be easy“.
Daitan Group is a consulting and software development service provider with strong expertise in the communications industry. Our customers include some of the most recognizable video conference service providers in the market. We can help you select an existing platforms or build your own MCU platform. For more information, please contact us through the website.