Files
SuperVPN/Docs/ОПисание.txt
2025-10-12 11:06:25 +09:00

225 lines
12 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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