Карта системы
VideoGrace состоит из управляющей плоскости, media-плоскости и вспомогательных сервисов. Control-команды определяют состояние системы, media-плоскость переносит RTP/RTCP, а blob-плоскость переносит крупные бинарные данные.
flowchart TB
subgraph Clients[Клиенты]
Web[web-client Web]
Native[Native Client]
Bot[Bot / Agent]
Recorder[Recorder]
end
subgraph Server[Server]
Http[HttpServer / WebSocket accept]
Processor[Processor]
ClientsStore[ClientContainer]
Conferences[ConferenceContainer]
WSM[WSMServer]
WebRTC[WebRTC Gateway]
Blob[BlobManager]
IM[IMManager]
end
subgraph Media[Media Core]
Translator[Translator / RTP routing]
Mixer[Video/Audio processing]
end
Web -->|CommandLoop JSON| Http
Native -->|CommandLoop JSON| Http
Bot -->|CommandLoop JSON| Http
Recorder -->|CommandLoop JSON| Http
Web -->|WebRTC SRTP primary / WSMedia fallback| Http
Native -->|UDP primary / WSS fallback| Http
Web -->|BlobChannel| Http
Http --> Processor
Processor --> ClientsStore
Processor --> Conferences
Processor --> Blob
Processor --> IM
Processor --> WSM
Processor --> WebRTC
WSM <-->|UDP RTP/RTCP by SSRC| Translator
WebRTC <-->|plain RTP/RTCP bridge| Translator
Translator --> Mixer
Слои ответственности
| Слой | Ответственность |
|---|---|
CommandLoop |
Аутентификация, конференции, список участников, создание/удаление устройств, сообщения. |
BlobChannel |
Файлы, изображения, voice blobs, speed-test payloads и другие крупные бинарные данные. |
WSMedia |
RTP/RTCP media frames. Не владеет lifecycle устройств, только переносит кадры. |
WSMServer |
Мост WSS media frames в UDP translator и обратно. |
WebRTC Gateway |
Терминирует ICE/DTLS/SRTP для браузерных клиентов и связывает WebRTC tracks с device_id/SSRC/Translator. |
Translator |
Внутренняя media-маршрутизация по портам/SSRC. |
Важное разделение
device_connect не означает открытие нового transport-соединения. Он означает, что в конференции появился новый media endpoint. Transport может быть уже открыт и обслуживать несколько endpoints.