Files
god_eye/docs/ARCHITECTURE.md
2025-09-28 22:00:44 +09:00

2.1 KiB
Raw Blame History

Архитектура системы GodEye

Общий обзор

GodEye - это распределенная система видеонаблюдения, состоящая из трех основных компонентов:

  1. Android клиент - мобильное устройство с камерой
  2. Сигнальный центр - backend сервер для координации
  3. Desktop клиент - рабочее место оператора

Диаграмма архитектуры

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