Перейти к содержанию

Архитектура

VideoGrace разделен на несколько контуров. Такое разделение делает систему предсказуемой: пользовательский интерфейс, управление, медиа и сервисная автоматизация не смешиваются в один неуправляемый поток.

Контуры системы

Клиентский контур: web/PWA, нативные приложения, сервисные клиенты и боты. Клиент отвечает за UI, локальный захват камеры/микрофона/экрана, локальное воспроизведение и взаимодействие с пользователем.

Control plane: защищенное WebSocket/API-соединение с сервером. Через него идут авторизация, состояние конференции, чат, команды управления, права, сигналинг WebRTC, выбор RTC-ноды, push-регистрация и диагностика.

Media plane: передача аудио/видео/экрана через WebRTC к RTC-ноде или через WSM fallback. Внутри серверного контура медиа маршрутизируется как RTP-потоки.

Service plane / CAN: серверная шина для внешних и встроенных сервисов. Сервисы регистрируются на сервере, объявляют роль и capabilities, получают задания и отдают события, статусы и телеметрию.

Контуры VideoGrace

Почему не browser-to-browser mesh

Классическая WebRTC-схема “каждый браузер соединяется с каждым” выглядит привлекательной для 1-to-1, но плохо масштабируется и усложняет эксплуатацию:

  • в конференции появляется много направлений связи между участниками;
  • NAT, CGNAT, мобильные сети и корпоративные firewall создают нестабильные пары соединений;
  • TURN становится не опцией, а центральной частью архитектуры;
  • запись, транскрипция, модерация и диагностика требуют отдельного параллельного медиа-пути;
  • проблему сложнее объяснить клиенту и сложнее воспроизвести в поддержке.

VideoGrace использует управляемый серверный медиа-путь. Клиенту нужно достучаться до рабочей RTC-ноды, а не до каждого участника. Это проще диагностировать, масштабировать и контролировать.

Сервер как точка контроля

Сервер хранит пользователей, конференции, историю, права, настройки, push-подписки и состояние сервисов. Это дает владельцу инсталляции понятную модель эксплуатации: что работает, где находится медиа-путь, какие сервисы подключены и какие задачи выполняются.

Дальше читать