# Архитектура системы GodEye ## Общий обзор GodEye - это распределенная система видеонаблюдения, состоящая из трех основных компонентов: 1. **Android клиент** - мобильное устройство с камерой 2. **Сигнальный центр** - backend сервер для координации 3. **Desktop клиент** - рабочее место оператора ## Диаграмма архитектуры ```mermaid graph TB A[Android Client] -->|WebSocket| B[Backend Server] B -->|WebSocket| C[Desktop Client] A -.->|WebRTC P2P| C subgraph "Android Device" A1[Camera Manager] A2[WebRTC Client] A3[WebSocket Handler] end subgraph "Backend Server" B1[Express API] B2[WebSocket Server] B3[WebRTC Signaling] B4[Connection Manager] end subgraph "Desktop Operator" C1[Video Player] C2[Request Queue] C3[WebRTC Client] end ``` ## Протоколы коммуникации ### WebSocket сигнализация - Регистрация устройств - Обработка запросов на подключение - Переключение камер - Управление сессиями ### WebRTC медиапоток - P2P передача видео (основной режим) - Низкая задержка - Автоматическая адаптация качества ### RTSP fallback - Альтернативный протокол при проблемах с WebRTC - Стабильная передача через сервер ## Потоки данных 1. **Регистрация**: Android → WebSocket → Backend 2. **Запрос подключения**: Desktop → WebSocket → Backend → Android 3. **Установка соединения**: WebRTC signaling через Backend 4. **Медиапоток**: Android → WebRTC → Desktop (P2P) 5. **Переключение камер**: Desktop → WebSocket → Backend → Android