SFU (Selective Forwarding Unit) — архитектура видеоконференций, при которой процесс передачи данных между сервером и терминалами происходит следующим образом:
- Получение сервером входящих видеопотоков от всех терминалов.
- Отправка каждому терминалу сервером нескольких копий видеопотоков остальных участников без сжатия.
- Склейка терминалами входящих видеопотоков.
Благодаря этому клиенту не нужно передавать один и тот же исходящий сигнал каждому из участников, вместо этого поток отправляется на сервер, а уже там распределяется между всеми пользователями. В итоге от участника отправляется один исходящий сигнал, а сам он принимает потоки других пользователей от сервера.
Преимущества архитектуры
- Так как исходящий поток только один — отпадает необходимость в широком исходящем канале для клиента.
- Входящее подключение осуществляется не к каждому участнику напрямую, а к медиа-серверу.
- Относительная нетребовательность к ресурсам сервера по сравнению с другими архитектурами видеоконференций.
Недостатки архитектуры
- Передача избыточного изображения в раскладку: каждый участник получает видеопоток больший, чем ему необходимо.
- Так как сервер не может регулировать исходящий поток, возникает проблема слабого звена: при неполадках соединения у одного из участников падает качество у всех остальных (вплоть до временного отключения видеопотока).
- Большая исходящая ширина канала связи сервера по сравнению с другими ВКС системами, поскольку ему требуется вместить в себя все созданные им копии видеопотоков.
- Клиент будет декодировать большое количество входящих медиа-потоков, соответственно для него потребуется более мощный процессор и широкий входящий канал в сравнении с другими архитектурами.
- По умолчанию SFU не записывает конференции на сервер, осуществляя лишь проксирование медиа-данных.
- Без настройки шлюза нет возможности связаться с SIP/H.323 устройствами.
- Из-за отсутствия микширования нескольких медиа-потоков в один нет возможности организации трансляций.
Сравним: 4 участника, на терминале
MCU | SFU | Simulcast | SVC | |
---|---|---|---|---|
Исходящих потоков | 1 | 1 | 3 | 1 |
Входящих потоков | 1 | 3 | 3 | 3 |
Исходящий канал, Мб/с | 1,0 | 1,0 | 1,5 | 1,2 |
Входящий канал, Мб/с | 1,0 | 3,0 | 1,0 | 1,0 |
Нагрузка на ЦП | 20% | 60% | 80% | 30% |
Сравним: 4 участника, на сервере
MCU | SFU | Simulcast | SVC | |
---|---|---|---|---|
Исходящих потоков | 4 | 12 | 12 | 12 |
Входящих потоков | 1 | 4 | 12 | 4 |
Исходящий канал, Мб/с | 4,0 | 12,0 | ~4,0 | ~4,0 |
Входящий канал, Мб/с | 4,0 | 4,0 | 6,0 | 4,8 |
Нагрузка на ЦП | 100% | 0% | 0% | 0% |
Для более углублённого понимания принципов работы этой и других архитектур видеоконференцсвязи рекомендуем данное видео:
Как работает архитектура SFU
Также предлагаем ознакомиться с другими типами архитектур видеоконференций у нас на сайте.