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

62 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Архитектура системы 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