init commit
This commit is contained in:
224
.history/ОПисание_20251009081303.txt
Normal file
224
.history/ОПисание_20251009081303.txt
Normal file
@@ -0,0 +1,224 @@
|
||||
ПОЛНОЕ ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПРИЛОЖЕНИЯ NVAV.SRV.RECORDER
|
||||
================================================================
|
||||
|
||||
ОБЩЕЕ ОПИСАНИЕ:
|
||||
Это Android-приложение для скрытого удаленного видеонаблюдения, которое превращает мобильное устройство в управляемую камеру с возможностью полного контроля со стороны оператора через десктопное приложение.
|
||||
|
||||
1. АРХИТЕКТУРА СИСТЕМЫ
|
||||
======================
|
||||
|
||||
Приложение построено по архитектуре "клиент-сервер":
|
||||
- Мобильное устройство = камера/клиент
|
||||
- Десктопное приложение оператора = сервер управления
|
||||
- Связь через TCP-соединение с кодированием команд
|
||||
|
||||
Основные компоненты:
|
||||
- MActivity.java - главная активность и пользовательский интерфейс
|
||||
- Speek.java - фоновый сервис для непрерывной работы
|
||||
- Comand.java - обработчик команд и протокол связи
|
||||
- CameraRecord.java - универсальный модуль записи камеры
|
||||
- CameraASUSn.java - специализированный модуль для устройств ASUS
|
||||
- CameraHUAWEIn.java - специализированный модуль для устройств HUAWEI
|
||||
|
||||
2. СИСТЕМА КАНАЛОВ И АУТЕНТИФИКАЦИИ
|
||||
===================================
|
||||
|
||||
Предустановленные каналы связи:
|
||||
Номера каналов: {0, 55, 54, 53, 51, 49, 48, 52, 50, 47, 46, 45}
|
||||
Коды доступа: {"0000", "1111", "533D", "9A32", "DC8F", "1095", "4167", "2E43", "701B", "2BA9", "2BB4", "1F0E"}
|
||||
|
||||
Цветовые индикаторы каналов:
|
||||
{"#000000", "#B22222", "#00FF7F", "#000080", "#FFFF00", "#7B68EE", "#DC143C", "#006400", "#00FFFF", "#FFA500", "#808080", "#87CEFA"}
|
||||
|
||||
Процесс активации:
|
||||
1. При первом запуске пользователь вводит код доступа
|
||||
2. Код сохраняется в классе ChenalC
|
||||
3. Интерфейс окрашивается в соответствующий цвет канала
|
||||
4. Заголовок приложения показывает номер активного канала
|
||||
|
||||
3. СЕТЕВОЕ ВЗАИМОДЕЙСТВИЕ И ПРОТОКОЛ
|
||||
====================================
|
||||
|
||||
Протокол передачи данных:
|
||||
- Тип 0x00: Проброс данных без обработки
|
||||
- Тип 0x01: Текстовые команды управления
|
||||
- Тип 0x07: Информация о камерах (сжата GZIP)
|
||||
- Тип 0x08: Статистика видеопотока (FPS, битрейт, время)
|
||||
- Тип 0x09: Информация о высокоскоростных режимах
|
||||
|
||||
Идентификация устройства:
|
||||
Формат: "SerialNumber|Manufacturer||Model|Hardware"
|
||||
Передается автоматически при подключении для идентификации устройства оператором.
|
||||
|
||||
Сжатие данных:
|
||||
Метаданные камер сжимаются GZIP для экономии трафика при передаче технических характеристик.
|
||||
|
||||
4. УПРАВЛЕНИЕ КАМЕРАМИ
|
||||
======================
|
||||
|
||||
Поддерживаемые команды:
|
||||
- "start" - запуск стандартной записи (1920x1080, 30 FPS)
|
||||
- "startHI" - высокоскоростная запись (1280x720, 120 FPS)
|
||||
- "startH2" - сверхвысокоскоростная запись (1280x720, 240 FPS)
|
||||
- "stop" - остановка записи
|
||||
- "BitRate=N" - изменение битрейта видео
|
||||
- "status" - запрос текущего статуса камеры
|
||||
- "GetCameraInfo" - получение полных характеристик всех камер
|
||||
|
||||
Производитель-специфичные модули:
|
||||
- HUAWEI: класс CameraHUAWEIn
|
||||
- ASUS: класс CameraASUSn (с поддержкой мотора поворота)
|
||||
- Универсальный: класс CameraRecord для остальных устройств
|
||||
|
||||
5. ВИДЕОКОДИРОВАНИЕ И ПЕРЕДАЧА
|
||||
==============================
|
||||
|
||||
Технические параметры:
|
||||
- Кодек: H.264/AVC (аппаратное кодирование)
|
||||
- Формат цвета: COLOR_FormatSurface (2130708361)
|
||||
- Битрейт по умолчанию: 1,000,000 bps (настраивается удаленно)
|
||||
- I-frame интервал: 1 секунда
|
||||
- Качество: динамически настраивается оператором
|
||||
|
||||
Статистика передачи:
|
||||
Каждую секунду отправляется пакет со статистикой:
|
||||
- Количество кадров в секунду (FPS)
|
||||
- Объем данных в байтах
|
||||
- Время передачи в миллисекундах
|
||||
- Статус кодировщика
|
||||
|
||||
6. СПЕЦИАЛЬНЫЕ ФУНКЦИИ ДЛЯ ASUS
|
||||
===============================
|
||||
|
||||
Моторизованная камера:
|
||||
Intent: "com.asus.motorservice.MotorService"
|
||||
Package: "com.asus.motorservice"
|
||||
|
||||
Устройства ASUS могут управлять поворотным механизмом камеры через системный сервис MotorService, позволяя оператору дистанционно поворачивать камеру.
|
||||
|
||||
7. МОНИТОРИНГ СИСТЕМЫ
|
||||
=====================
|
||||
|
||||
Отслеживаемые параметры:
|
||||
- Состояние батареи: уровень заряда, температура, состояние зарядки
|
||||
- GPS-координаты устройства в реальном времени
|
||||
- Статус подключения и качество связи
|
||||
- Ошибки и исключения с автоматической отправкой оператору
|
||||
|
||||
Визуальная индикация:
|
||||
- 4 светодиодных индикатора (L1-L4) показывают уровень соединения
|
||||
- Прозрачность индикаторов отражает активность каналов
|
||||
- Цвет ActionBar соответствует активному каналу
|
||||
|
||||
8. СИСТЕМА АВТООБНОВЛЕНИЯ
|
||||
=========================
|
||||
|
||||
Серверы обновлений:
|
||||
Основной: alanxorg.com (закодирован в Base64)
|
||||
Резервный: newip.vidser.top (закодирован в Base64)
|
||||
Файл обновления: /rec-release.apk
|
||||
|
||||
Процесс обновления:
|
||||
1. Проверка версии на сервере каждые 1000 мс
|
||||
2. Сравнение с датой модификации текущего APK
|
||||
3. Автоматическое скачивание новой версии через DownloadManager
|
||||
4. Автоматическая установка через FileProvider
|
||||
5. Перезапуск приложения с новой версией
|
||||
|
||||
9. РАЗРЕШЕНИЯ И БЕЗОПАСНОСТЬ
|
||||
============================
|
||||
|
||||
Требуемые разрешения:
|
||||
- CAMERA: доступ к камере для записи видео
|
||||
- SET_DEBUG_APP: отладочные функции
|
||||
- WRITE_EXTERNAL_STORAGE: сохранение файлов
|
||||
- READ_EXTERNAL_STORAGE: чтение файлов
|
||||
- INTERNET: сетевое соединение
|
||||
- READ_PHONE_STATE: информация о устройстве
|
||||
- ACCESS_COARSE_LOCATION: примерное местоположение
|
||||
- ACCESS_FINE_LOCATION: точное местоположение
|
||||
|
||||
Скрытность:
|
||||
- Работает как фоновый сервис без постоянного UI
|
||||
- Минимальный интерфейс, похожий на системное приложение
|
||||
- Обработка всех ошибок без остановки работы
|
||||
- Автоматический перезапуск при сбоях
|
||||
|
||||
10. ПОЛЬЗОВАТЕЛЬСКИЙ ИНТЕРФЕЙС
|
||||
=============================
|
||||
|
||||
Главный экран (MActivity):
|
||||
- Поле ввода кода активации канала
|
||||
- 4 индикатора статуса подключения (L1-L4)
|
||||
- Кнопка запуска/остановки сервиса
|
||||
- Долгое нажатие для сброса настроек
|
||||
- Цветовая индикация активного канала
|
||||
|
||||
Функции интерфейса:
|
||||
- Отображение номера канала в заголовке
|
||||
- Toast-уведомления о статусе обновлений
|
||||
- AlertDialog для подтверждения операций
|
||||
- Динамическое изменение прозрачности индикаторов
|
||||
|
||||
11. ПРИНЦИП РАБОТЫ С ОПЕРАТОРОМ
|
||||
===============================
|
||||
|
||||
Пошаговый процесс:
|
||||
1. ИНИЦИАЛИЗАЦИЯ: Запуск приложения с вводом кода канала
|
||||
2. АУТЕНТИФИКАЦИЯ: Проверка кода в массиве key_ch[]
|
||||
3. ПОДКЛЮЧЕНИЕ: Установка TCP-соединения с сервером оператора
|
||||
4. ИДЕНТИФИКАЦИЯ: Передача SerialNumber|Manufacturer|Model|Hardware
|
||||
5. ОЖИДАНИЕ: Устройство готово к приему команд
|
||||
6. ВЫПОЛНЕНИЕ: Обработка команд (запуск/остановка записи, настройки)
|
||||
7. СТРИМИНГ: Передача H.264 видеопотока в реальном времени
|
||||
8. ТЕЛЕМЕТРИЯ: Отправка статистики, GPS, состояния батареи
|
||||
9. МОНИТОРИНГ: Непрерывный контроль состояния соединения
|
||||
|
||||
Команды управления от оператора:
|
||||
- Выбор камеры (фронтальная/основная)
|
||||
- Настройка разрешения и FPS
|
||||
- Изменение битрейта на лету
|
||||
- Управление мотором поворота (ASUS)
|
||||
- Запрос диагностической информации
|
||||
- Получение GPS-координат
|
||||
- Мониторинг состояния батареи
|
||||
|
||||
12. ТЕХНИЧЕСКИЕ ОСОБЕННОСТИ
|
||||
===========================
|
||||
|
||||
Многопоточность:
|
||||
- Главный поток UI (MActivity)
|
||||
- Фоновый сервис (Speek)
|
||||
- Поток обработки команд (Comand)
|
||||
- Поток кодирования видео (CameraRecord)
|
||||
- Поток сетевого I/O (InOut)
|
||||
|
||||
Обработка ошибок:
|
||||
- Все исключения перехватываются и логируются
|
||||
- Автоматическая отправка ошибок оператору
|
||||
- Предотвращение дублирования одинаковых ошибок
|
||||
- Счетчик повторяющихся ошибок
|
||||
|
||||
Оптимизация производительности:
|
||||
- Аппаратное кодирование H.264
|
||||
- Сжатие метаданных GZIP
|
||||
- Буферизация сетевого трафика
|
||||
- Автоматическая очистка очередей при переполнении
|
||||
|
||||
13. АРХИТЕКТУРА СЕТЕВОГО ВЗАИМОДЕЙСТВИЯ
|
||||
=======================================
|
||||
|
||||
Структура пакетов:
|
||||
[Тип 1 байт][Данные переменной длины]
|
||||
|
||||
Очереди данных:
|
||||
- in_queue: входящие команды от оператора
|
||||
- out_queue: исходящие данные к оператору
|
||||
- Потокобезопасные ConcurrentLinkedQueue
|
||||
|
||||
Контроль качества связи:
|
||||
- Таймеры для отслеживания активности
|
||||
- Автоматическая очистка при таймауте (600 мс)
|
||||
- Статистика времени выполнения операций
|
||||
|
||||
Данная система обеспечивает полный удаленный контроль мобильного устройства как камеры видеонаблюдения с возможностью получения высококачественного видео в реальном времени и полной телеметрии устройства.
|
||||
Reference in New Issue
Block a user