MCU (Multipoint Control Unit) — архитектура видеоконференций, при которой обработка всех данных происходит на стороне сервера. После сбора исходных видеопотоков со всех терминалов сервер отдельно для каждого терминала:
- Склеивает уменьшенные изображения участников в единый видеопоток с раскладкой, заказанной терминалом.
- Кодирует видеопоток до качества, соответствующего полосе пропускания к конкретному терминалу в данный момент времени.
- Отправляет видеопоток терминалу.
Таким образом можно увеличить количество участников конференции, которые могут быть отображены терминалом пользователя в пределах ограничений его оборудования и канала связи. Теоретически в плане масштабирования MCU даже эффективнее SFU — пользователь всегда отправляет и получает только один поток. Но на практике система на основе MCU требует большой вычислительной мощности сервера и плохо масштабируется, даже с учётом возможной виртуализации. К тому же стоимость подключения нового абонента в подобной инфраструктуре крайне высока — в среднем на каждого нового пользователя нужно отдельное логическое ядро CPU сервера.
Преимущества архитектуры
- Не требует широкого канала для клиента. Битрейт зависит не от количества участников, а от объёма отправляемых и получаемых данных.
- Клиент подключается к медиа-серверу, а не напрямую к другим участникам.
- Возможно вести запись конференций на сервере.
- От сервера приходит один медиа-поток, что позволяет участвовать в конференциях на слабых устройствах (смартфонах или планшетах).
- Могут участвовать устройства, использующие протоколы H.323/SIP.
Недостатки архитектуры
- Необходим дорогостоящий сервер для микширования нескольких медиа-потоков в один.
- Количество участников в конференции напрямую зависит от производительности медиа-сервера: на практике данная архитектура редко позволяет проводить конференции больше чем с тридцатью участниками.
- Невозможность управления пользователем видео-раскладкой или отключением приёма видео от определенного участника.
- Невозможно узнать какой именно участник находится на видео без нанесения поверх видео текста, качество которого будет ухудшаться вместе с качеством видео.
Сравним: 16 участников, на терминале
MCU | SVC | |
---|---|---|
Исходящих потоков | 1 | 1 |
Входящих потоков | 1 | 15 |
Исходящий канал, Мб/с | 1,0 | 1,2 |
Входящий канал, Мб/с | 1,0 | 1,2 |
Нагрузка на ЦП | 20% | 70% |
Сравним: 16 участников, на сервере
MCU | SVC | |
---|---|---|
Исходящих потоков | 16 | 240 |
Входящих потоков | 16 | 16 |
Исходящий канал, Мб/с | 16,0 | 19,2 |
Входящий канал, Мб/с | 16,0 | 19,2 |
Нагрузка на vCPU | 1600% | 0% |
Для более углублённого понимания принципов работы этой и других архитектур видеоконференцсвязи рекомендуем данное видео:
Также предлагаем ознакомиться с другими типами архитектур видеоконференций у нас на сайте.