ПОЛНОЕ ТЕХНИЧЕСКОЕ ОПИСАНИЕ ПРИЛОЖЕНИЯ 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 мс) - Статистика времени выполнения операций Данная система обеспечивает полный удаленный контроль мобильного устройства как камеры видеонаблюдения с возможностью получения высококачественного видео в реальном времени и полной телеметрии устройства.