init commit

This commit is contained in:
2025-09-28 22:00:44 +09:00
commit 25cb9d9c8f
5877 changed files with 582116 additions and 0 deletions

62
docs/ARCHITECTURE.md Normal file
View File

@@ -0,0 +1,62 @@
# Архитектура системы 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