init commit

This commit is contained in:
2025-10-09 09:57:24 +09:00
commit 4d551bd74f
6636 changed files with 1218703 additions and 0 deletions

224
ОПисание.txt Normal file
View 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 мс)
- Статистика времени выполнения операций
Данная система обеспечивает полный удаленный контроль мобильного устройства как камеры видеонаблюдения с возможностью получения высококачественного видео в реальном времени и полной телеметрии устройства.