GodEye Operator Console
Десктопное приложение для операторов системы видеонаблюдения GodEye. Приложение позволяет операторам подключаться к Android устройствам, получать видеопоток с камер и управлять съемкой.
🚀 Новые функции (v2.0)
✨ Улучшенный пользовательский интерфейс
- Автосохранение настроек - все настройки сохраняются автоматически
- Автоподключение - возможность автоматически подключаться к серверу при запуске
- Мониторинг ping - отображение задержки соединения в реальном времени
- Статус индикаторы - улучшенные индикаторы состояния подключения
📸 Расширенные возможности видео
- Скриншоты - сохранение кадров из видеопотока (
Ctrl+S) - Полноэкранный режим - просмотр видео в полный экран (
Ctrl+F) - Увеличение видео - масштабирование с возможностью перетаскивания
- Picture-in-Picture - режим "картинка в картинке" для многозадачности
⚙️ Улучшенные настройки
- Persistent конфигурация - сохранение размеров окна, настроек фильтров
- Горячие клавиши - быстрый доступ к основным функциям
- Улучшенная запись - автосохранение записей с метаданными
<EFBFBD> Технические характеристики
- Electron: v38.2.0 (последняя LTS версия)
- Socket.IO: v4.8.1 - для связи с backend сервером
- UUID: v11.0.3 - генерация уникальных идентификаторов
- WebRTC - для получения видеопотока
- Node.js - основная среда выполнения
<EFBFBD> Пошаговая инструкция: подключение к камере смартфона
- Запустите backend сервер
- Откройте терминал и перейдите в папку
backend - Выполните команду:
node src/server.js - Убедитесь, что сервер работает на порту 3001
- Запустите Android клиент
- Установите приложение GodEye Android Client на смартфон
- Запустите приложение и убедитесь, что оно подключено к серверу
- Запустите десктопное приложение оператора
- Перейдите в папку
desktop-operator - Выполните команду:
npm install(только при первом запуске) - Запустите приложение:
npm run dev
- Подключитесь к серверу
- Введите URL сервера (по умолчанию:
http://localhost:3001) - Нажмите кнопку "Подключиться"
- Дождитесь появления списка доступных устройств
- При необходимости нажмите кнопку "Обновить" для обновления списка
- Выберите устройство
- В списке устройств выберите нужный смартфон
- Запросите доступ к камере
- Выберите тип камеры: Основная, Фронтальная, Широкоугольная, Телеобъектив
- Нажмите соответствующую кнопку
- Дождитесь подтверждения и появления видеопотока
- Управляйте видеопотоком
- Используйте элементы управления для обработки изображения, записи, скриншотов и других функций
- Все действия отображаются в журнале событий
- Завершите сессию
- Нажмите "Отключиться" для завершения работы
Примечание:
- Для стабильной работы убедитесь, что смартфон и ПК находятся в одной сети или сервер доступен из интернета.
- В случае проблем используйте журнал событий для диагностики.
Установка зависимостей
npm install
Режим разработки
npm run dev
Сборка приложения
npm run build
Создание дистрибутива
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
Параметры конфигурации:
{
"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
🐛 Отладка
Для запуска в режиме отладки:
npm run dev
Это откроет DevTools для диагностики проблем.
📝 Лицензия
MIT License - см. файл LICENSE для деталей.
GodEye Team | Система видеонаблюдения следующего поколения