# GodEye Operator Console Десктопное приложение для операторов системы видеонаблюдения GodEye. Приложение позволяет операторам подключаться к Android устройствам, получать видеопоток с камер и управлять съемкой. ## 🚀 Новые функции (v2.0) ### ✨ Улучшенный пользовательский интерфейс - **Автосохранение настроек** - все настройки сохраняются автоматически - **Автоподключение** - возможность автоматически подключаться к серверу при запуске - **Мониторинг ping** - отображение задержки соединения в реальном времени - **Статус индикаторы** - улучшенные индикаторы состояния подключения ### 📸 Расширенные возможности видео - **Скриншоты** - сохранение кадров из видеопотока (`Ctrl+S`) - **Полноэкранный режим** - просмотр видео в полный экран (`Ctrl+F`) - **Увеличение видео** - масштабирование с возможностью перетаскивания - **Picture-in-Picture** - режим "картинка в картинке" для многозадачности ### ⚙️ Улучшенные настройки - **Persistent конфигурация** - сохранение размеров окна, настроек фильтров - **Горячие клавиши** - быстрый доступ к основным функциям - **Улучшенная запись** - автосохранение записей с метаданными ## � Технические характеристики - **Electron**: v38.2.0 (последняя LTS версия) - **Socket.IO**: v4.8.1 - для связи с backend сервером - **UUID**: v11.0.3 - генерация уникальных идентификаторов - **WebRTC** - для получения видеопотока - **Node.js** - основная среда выполнения ## � Пошаговая инструкция: подключение к камере смартфона 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** | Система видеонаблюдения следующего поколения