Архитектура коммуникаций в видеоконференциях

WebRTC — это peer-to-peer технология, которая реализует канал коммуникации между двумя браузерами для передачи видео-, аудио- и любых других данных с низкой временной задержкой – потоковая трансляция точка-точка. Если в сеансе видеоконференции участвуют более двух пользователей, то может возникнуть необходимость в системе управления медиа потоками, так называемый, серверный WebRTC.

С технической точки зрения, организация многоточечных или многопользовательских видеоконференций может осуществляться с использованием одной из трех основных архитектурных решений.

1. MESH – коммуникация, одноранговая сеть

Это вариант многоточечной видеоконференции, в котором каждый участник отправляет свой медиа поток всем другим участникам. В результате получается сеть (aнгл. mesh) соединений. Сервер видеоконференции в данном случае не задействован в обработке медиа потоков и выступает лишь в качестве адресной книги участников.

MESH коммуникация
MESH коммуникация

Как видно из диаграммы, в MESH коммуникации число исходящий медиа потоков от каждого участника равно числу участников сеанса видеоконференц-связи минус один (N-1) и столько же входящих медиа потоков. В результате получаем загрузку канала 2*(N-1), что является первым недостатком данной технологии.

Вторым минусом MESH коммуникации является то, что браузер будет независимо кодировать все исходящие потоки, несмотря на то что они одинаковы. А поскольку этот процесс требует вычислительных мощностей, то в MESH коммуникации, с увеличением числа участников, резко вырастает нагрузка на процессор компьютера (CPU).

К достоинствам MESH коммуникации можно отнести независимость от сервера, что в некоторых ситуациях дает более оптимальную маршрутизацию между участниками.

2. Selective Forwarding Unit. SFU-коммуникация

Архитектура, которая позволяет решить недостатки MESH-коммуникации называется SFU. Идея заключается в том, чтобы каждый участник устанавливал связь с единой узловой точкой видеоконференции – SFU сервером или, другими словами, WebRTC сервером.

WebRTC SFU коммуникация
WebRTC SFU коммуникация

Задачей SFU сервера является маршрутизация медиа потоков таким образом, чтобы у каждого участника был единственный исходящий медиа поток. При этом входящих медиа потоков остается по-прежнему N-1, где N – общее число участников. В результате этого достигается сокращение исходящего трафика и снижение нагрузки на CPU участников.

Кроме этого, в SFU-коммуникации программное обеспечение клиентских компьютеров имеет полный контроль над получаемыми потоками, может произвольно располагать видеоокна на экране и выбирать качество принимаемого потока.

Наличие центрального сервера SFU-коммуникации позволяет централизованно управлять видеоконференцией, решать вопросы сетевого взаимодействия, вести запись и протоколирование трансляции (решается отдельным дополнительным модулем).

Следует отметить, что нагрузка на сеть у участников, хоть и сокращается по сравнению с MESH-коммуникацией, но все равно растет пропорционально общему числу участников. При этом для WebRTC сервера нагрузка на пропускную способность сети складывается из N входящих медиа потоков и N*(N-1) исходящих медиа потоков

3. Multipoint Control Unit, MCU коммуникация

Классическая архитектура многоточечной видеоконференции называется MCU-коммуникация. Здесь также требуется центральный сервер видеоконференц-связи, только в отличии от SFU-коммуникации, сервер MCU занимается сборкой единого изображения для всех участников. Этим занимается специальный медиа сервер, который собирает медиа потоки всех участников, составляет из них экран, который замет кодируется и рассылается всем участникам.

MCU коммуникация
MCU коммуникация

При данной реализации достигается экономия трафика и CPU – фактически каждый участник отправляет один медиа поток и принимает тоже один медиапоток. Вся вычислительная нагрузка ложится на MCU сервер и растет с ростом числа участников. Ориентировочно можно считать, что одно отдельное логическое ядро CPU сервера может обслуживать от одного до четырех участников.

MCU коммуникация не позволяет участникам управлять расположением видео окон (layout) на своем экране, как это было возможно в вариантах MESH и SFU коммуникаций. Соответственно теряется гибкость отображения на различных мониторах, например, невозможно перестроить расположение окон в вертикальной ориентации, что особенно важно для мобильных устройств.

Дополнительным плюсом MCU коммуникации является теоретическая совместимость с оборудование классических (не WebRTC) систем видеоконференц-связи, таких как SIP/H.323 видео терминалы. Теоретическая – потому что для совместимости требуется разработка специальных программных адаптеров для объединения технологии WebRTC и классических MCU видеоконферц систем.

Сводные таблицы

Составим сравнительные таблицы нагрузки для видеоконференции на 4 участника.

Терминал

MESHSFUMCU
Исходящих потоков311
Входящих потоков331
Исходящий канал, Мбит/с311
Входящий канал, Мбит/с331
Нагрузка на CPU100%67%33%

Сервер

MESHSFUMCU
Исходящих потоков124
Входящих потоков44
Исходящий канал, Мбит/с124
Входящий канал, Мбит/с44
Нагрузка на CPU0%100%

Достоинства и недостатки

MESHSFUMCU
Достоинства• В некоторых ситуациях дает более оптимальную маршрутизацию между участниками• Снижение нагрузки на канал
• Снижение нагрузки на CPU
• Централизованное управление
• Управление раскладкой видео окон (layout) и качеством принимаемого потока каждого участника
• Возможность записи (требует дополнительного модуля)
• Относительно несложная масштабируемость
• Низкие требования к каналу связи и CPU для участников
• Возможность записи сеанса
• Совместимость с SIP/H.323 устройствами
Недостатки• Высокая нагрузка на канал
• Высокая нагрузка на CPU
• Нет возможности записи сеанса
• Высокие требования к входящему каналу связи участников
• Повышенные требования к CPU участников
• Несовместимость с SIP/H.323 устройствами (требуется доработка)
• Сложная реализация
• Невозможность менять раскладку видео окон (layout)
• Высокие требования к CPU сервера

Добавить комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

Отправить