Files
god_eye/desktop-operator/README.md
2025-09-29 22:06:11 +09:00

185 lines
8.1 KiB
Markdown
Raw Permalink 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 Operator Console
Десктопное приложение для операторов системы видеонаблюдения GodEye. Приложение позволяет операторам подключаться к Android устройствам, получать видеопоток с камер и управлять съемкой.
## 🚀 Новые функции (v2.0)
### ✨ Улучшенный пользовательский интерфейс
- **Автосохранение настроек** - все настройки сохраняются автоматически
- **Автоподключение** - возможность автоматически подключаться к серверу при запуске
- **Мониторинг ping** - отображение задержки соединения в реальном времени
- **Статус индикаторы** - улучшенные индикаторы состояния подключения
### 📸 Расширенные возможности видео
- **Скриншоты** - сохранение кадров из видеопотока (`Ctrl+S`)
- **Полноэкранный режим** - просмотр видео в полный экран (`Ctrl+F`)
- **Увеличение видео** - масштабирование с возможностью перетаскивания
- **Picture-in-Picture** - режим "картинка в картинке" для многозадачности
### ⚙️ Улучшенные настройки
- **Persistent конфигурация** - сохранение размеров окна, настроек фильтров
- **Горячие клавиши** - быстрый доступ к основным функциям
- **Улучшенная запись** - автосохранение записей с метаданными
## <20> Технические характеристики
- **Electron**: v38.2.0 (последняя LTS версия)
- **Socket.IO**: v4.8.1 - для связи с backend сервером
- **UUID**: v11.0.3 - генерация уникальных идентификаторов
- **WebRTC** - для получения видеопотока
- **Node.js** - основная среда выполнения
## <20> Пошаговая инструкция: подключение к камере смартфона
1. **Запустите backend сервер**
- Откройте терминал и перейдите в папку `backend`
- Выполните команду: `node src/server.js`
- Убедитесь, что сервер работает на порту 3001
2. **Запустите Android клиент**
- Установите приложение GodEye Android Client на смартфон
- Запустите приложение и убедитесь, что оно подключено к серверу
3. **Запустите десктопное приложение оператора**
- Перейдите в папку `desktop-operator`
- Выполните команду: `npm install` (только при первом запуске)
- Запустите приложение: `npm run dev`
4. **Подключитесь к серверу**
- Введите URL сервера (по умолчанию: `http://localhost:3001`)
- Нажмите кнопку **"Подключиться"**
- Дождитесь появления списка доступных устройств
- При необходимости нажмите кнопку **"Обновить"** для обновления списка
5. **Выберите устройство**
- В списке устройств выберите нужный смартфон
6. **Запросите доступ к камере**
- Выберите тип камеры: Основная, Фронтальная, Широкоугольная, Телеобъектив
- Нажмите соответствующую кнопку
- Дождитесь подтверждения и появления видеопотока
7. **Управляйте видеопотоком**
- Используйте элементы управления для обработки изображения, записи, скриншотов и других функций
- Все действия отображаются в журнале событий
8. **Завершите сессию**
- Нажмите "Отключиться" для завершения работы
**Примечание:**
- Для стабильной работы убедитесь, что смартфон и ПК находятся в одной сети или сервер доступен из интернета.
- В случае проблем используйте журнал событий для диагностики.
### Установка зависимостей
```bash
npm install
```
### Режим разработки
```bash
npm run dev
```
### Сборка приложения
```bash
npm run build
```
### Создание дистрибутива
```bash
npm run dist
```
## ⌨️ Горячие клавиши
- `Ctrl+S` - Сделать скриншот
- `Ctrl+F` - Переключить полноэкранный режим
- `Ctrl+R` - Начать/остановить запись
- `Escape` - Выйти из полноэкранного режима
## 📁 Структура проекта
```
desktop-operator/
├── src/
│ ├── main.js # Основной процесс Electron
│ ├── config.js # Менеджер конфигурации
│ └── renderer/ # Интерфейс приложения
│ ├── index.html # HTML структура
│ ├── app.js # Логика приложения
│ └── styles.css # Стили интерфейса
├── assets/ # Ресурсы (иконки, изображения)
├── package.json # Конфигурация проекта
└── README.md # Документация
```
## 🔧 Конфигурация
Приложение автоматически создает файл конфигурации в:
- **Windows**: `%APPDATA%/godeye-operator/config.json`
- **macOS**: `~/Library/Application Support/godeye-operator/config.json`
- **Linux**: `~/.config/godeye-operator/config.json`
### Параметры конфигурации:
```json
{
"server": {
"url": "http://localhost:3001",
"autoConnect": false,
"reconnectAttempts": 3,
"reconnectInterval": 5000
},
"ui": {
"theme": "dark",
"language": "ru",
"windowBounds": { "width": 1400, "height": 900 },
"videoFilters": {
"brightness": 0,
"contrast": 0,
"saturation": 0,
"monochrome": false,
"edgeDetection": false
}
},
"recording": {
"quality": "high",
"format": "webm",
"maxDuration": 3600000,
"autoSave": true
}
}
```
## 🌐 Интеграция с Backend
Приложение работает с backend сервером через WebSocket соединения:
- **Регистрация оператора** - `register:operator`
- **Список устройств** - `devices:list`
- **Запрос камеры** - `camera:request`
- **WebRTC сигналинг** - `webrtc:offer/answer/ice-candidate`
## 📋 Системные требования
- **ОС**: Windows 10+, macOS 10.15+, Ubuntu 18.04+
- **RAM**: 4 GB (рекомендуется 8 GB)
- **Дисковое пространство**: 200 MB
- **Сеть**: Стабильное интернет-соединение для WebRTC
## 🐛 Отладка
Для запуска в режиме отладки:
```bash
npm run dev
```
Это откроет DevTools для диагностики проблем.
## 📝 Лицензия
MIT License - см. файл LICENSE для деталей.
---
**GodEye Team** | Система видеонаблюдения следующего поколения