Андроїд додаток для зміни відеопотоку "HookCamera"
Ціль: Підміна відеопотоку реальної камери на RTMP-стрім, щоб інші програми сприймали потік як звичайне зображення з камери.
Платформа: Android (версія 13, з root-доступом)
Додаткові вимоги: Пристрій з root-доступом, встановлений Magisk, підключення до ПК через USB, робота з ADB.
Технічне завдання на розробку Android-додатку "PrivatCam"**ShadowHook
### 1. Загальна інформація
**Назва проєкту: PrivatCam
Мета: Підміна відеопотоку реальної камери на RTMP-стрім, щоб інші додатки сприймали потік як звичайне зображення з камери.
Платформа: Android (версія 13, з root-доступом)
Додаткові вимоги: Пристрій з root-доступом, встановлений Magisk, підключення до ПК через USB, робота з ADB.
### 2. Функціональні вимоги
#### 2.1 Основний функціонал
- Інтерфейс для введення RTMP-адреси потоку, наприклад: rtmp://localhost/live/test
- Кнопка "Підмінити камеру" для старту трансляції
- Можливість зупинки підміни камери
- Емуляція камери Android, щоб інші додатки сприймали відеопотік як реальну камеру
- Підтримка зворотного пробросу порту через ADB (adb reverse tcp:1935 tcp:1935)
#### 2.2 Взаємодія з сервером
- Використання RTMP-протоколу для отримання відеопотоку
- Запуск стріму в OBS Studio з адресою rtmp://localhost/live і ключем test
- Робота з локальним сервером MonaServer, встановленим на ПК
#### 2.3 Вимоги до відео
- Підтримка різних роздільних здатностей (720p, 1080p)
- Підтримка стандартних кодеків (H.264)
- Мінімальна затримка відеопотоку
### 3. Технічні вимоги
#### 3.1 Необхідні технології
- FFmpeg – для декодування та обробки відеопотоку RTMP
- Android Camera HAL (Hardware Abstraction Layer) – для підміни відеовходу
можливий Перехват камери через ShadowHook
- Magisk Module – для інтеграції з системними сервісами
- **Root-доступ – для маніпуляцій з системними драйверами
- ADB Reverse – для прокидання локального з'єднання між ПК та смартфоном
#### 3.2 Можливі підходи до реалізації
1. Створення віртуального пристрою камери
- Розробка кастомного драйвера для еймуляції камери
- Взаємодія з Camera HAL через API
2. Обробка відеопотоку
- Отримання RTMP-потоку через FFmpeg
- Декодування відеопотоку та подача в віртуальний пристрій
- Підтримка динамічного зміни параметрів потоку
3. Емуляція стандартного інтерфейсу камери
- Використання Camera2 API або кастомних HAL-бібліотек
- Перехват і трансляція відеопотоку в сторонні додатки
### 4. Інтерфейс користувача
#### 4.1 Основний екран
- Поле для введення RTMP-посилання
- Кнопка "Підключитися до потоку"
- Кнопка "Зупинити підміну"
- Індикатор статусу з'єднання
- Лог помилок і повідомлень
### 5. Тестування
- Перевірка роботи з різними додатками (WhatsApp, Zoom, Skype, Instagram, Google Meet)
- Перевірка стабільності з'єднання
- Вимірювання затримки відеопотоку
- Тестування на кількох пристроях з root-доступом
### 6. Розгортання
- Встановлення APK вручну (без публікації в Google Play, оскільки вимагає root)
- Можливість встановлення через Magisk Module (якщо знадобиться)
### 7. Очікувані результати
- Робочий додаток, що дозволяє підміняти відеопотік камери в будь-якому Android-додатку
Техническое задание на разработку Android-приложения "PrivatCam"**ShadowHook
### 1. Общая информация
**Название проекта: PrivatCam
Цель: Подмена видеопотока реальной камеры на RTMP-стрим, чтобы другие приложения воспринимали поток как обычное изображение с камеры.
Платформа: Android (версия 13, с root-доступом)
Дополнительные требования: Устройство с root-доступом, установленный Magisk, подключение к ПК через USB, работа с ADB.
### 2. Функциональные требования
#### 2.1 Основной функционал
- Интерфейс для ввода RTMP-адреса потока, например: rtmp://localhost/live/test
- Кнопка "Подменить камеру" для старта трансляции
- Возможность остановки подмены камеры
- Эмуляция камеры Android, чтобы другие приложения воспринимали видеопоток как реальную камеру
- Поддержка обратного проброса порта через ADB (adb reverse tcp:1935 tcp:1935)
#### 2.2 Взаимодействие с сервером
- Использование RTMP-протокола для получения видеопотока
- Запуск стрима в OBS Studio с адресом rtmp://localhost/live и ключом test
- Работа с локальным сервером MonaServer, установленным на ПК
#### 2.3 Требования к видео
- Поддержка различных разрешений (720p, 1080p)
- Поддержка стандартных кодеков (H.264)
- Минимальная задержка видеопотока
### 3. Технические требования
#### 3.1 Требуемые технологии
- FFmpeg – для декодирования и обработки видеопотока RTMP
- Android Camera HAL (Hardware Abstraction Layer) – для подмены видеовхода
возможен Перехват камеры через ShadowHook
- Magisk Module – для интеграции с системными сервисами
- **Root-доступ – для манипуляции с системными драйверами
- ADB Reverse – для прокидывания локального соединения между ПК и смартфоном
#### 3.2 Возможные подходы к реализации
1. Создание виртуального устройства камеры
- Разработка кастомного драйвера для эмуляции камеры
- Взаимодействие с Camera HAL через API
2. Обработка видеопотока
- Получение RTMP-потока через FFmpeg
- Декодирование видеопотока и подача в виртуальное устройство
- Поддержка динамического изменения параметров потока
3. Эмуляция стандартного интерфейса камеры
- Использование Camera2 API или кастомных HAL-библиотек
- Перехват и трансляция видеопотока в сторонние приложения
### 4. Интерфейс пользователя
#### 4.1 Основной экран
- Поле для ввода RTMP-ссылки
- Кнопка "Подключиться к потоку"
- Кнопка "Остановить подмену"
- Индикатор статуса соединения
- Лог ошибок и сообщений
### 5. Тестирование
- Проверка работы с разными приложениями (WhatsApp, Zoom, Skype, Instagram, Google Meet)
- Проверка стабильности соединения
- Измерение задержки видеопотока
- Тестирование на нескольких устройствах с root-доступом
### 6. Развертывание
- Установка APK вручную (без публикации в Google Play, так как требует root)
- Возможность установки через Magisk Module (если потребуется)
### 7. Ожидаемые результаты
- Рабочее приложение, позволяющее подменять видеопоток камеры в любом Android-приложении
Додатки 1
Актуальні фриланс-проєкти в категорії C та C++
Розробка Minecraft Java Seed Map / Seed Viewer для сайтуРозробка Minecraft Java Seed Map / Seed Viewer для сайтуОпис проєкту Потрібно розробити browser-based інструментMinecraft Java Seed Map / Seed Viewer, який буде працювати на нашому сайті та дозволятиме користувачу ввести seed Minecraft Java Edition і переглянути інтерактивну… C та C++, HTML та CSS верстання ∙ 12 днів 23 години тому ∙ 17 ставок |