1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/w2016561536-android_virtual_cam

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
README_tc.md 7.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 03.03.2025 13:20 5abfaeb

android_virtual_cam

Русский язык | Упрощенный китайский | Тraditional Chinese | Английский

Виртуальная камера на основе Xposed

Не использовать для любых незаконных целей, все последствия ложатся на пользователя.

Поддерживаемые платформы:

  • Android 5.0+

Способ использования

  1. Установите этот модуль и активируйте его в Xposed. Для фреймворков с областью действия, таких как Lsposed, выберите целевое приложение, а системный фреймворк не требуется.

  2. В настройках системы предоставьте целевому приложению разрешение на чтение локального хранилища, затем принудительно завершите работу этого приложения. Если приложение не запрашивает это разрешение, обратитесь к шагу 3.

  3. Откройте целевое приложение. Если приложение не получает разрешение на чтение хранилища, будет показана плавающая сообщение "Ширина: ... Высота: ...". Каталог Camera1 переадресуется в приватный каталог приложения /[внутреннее хранилище]/Android/data/[название пакета приложения]/files/Camera1/. Если сообщение не отображается, по умолчанию каталог Camera1 будет равен /[внутреннее хранилище]/DCIM/Camera1/. Если каталог не существует, создайте его вручную.

Обратите внимание: каталог Camera1 в приватной области действует только для данного приложения.

  1. Включите камеру в целевом приложении. Будет показана плавающая сообщение "Ширина: ... Высота: ...", вам потребуется создать заменяющее видео с указанными размерами экрана и поместить его в каталог Camera1, называя файл virtual.mp4. Если при открытии камеры нет сообщения, то разрешение видео не требует изменения.

  2. Если при фотографировании вместо виртуальной картинки отображается реальное фото, и появляется плавающая сообщение "Обнаружено фотографирование" со значением разрешения, вам потребуется подготовить одно фото с этим разрешением и назвать его 1000.bmp, поместив его в каталог Camera1 (поддерживаются другие форматы, но расширение должно быть .bmp). Если при фотографировании нет плавающей сообщения, то файл 1000.bmp не нужен.

  3. Чтобы воспроизводить звук видео, создайте файл no-silent.jpg в каталоге [внутреннее хранилище]/DCIM/Camera1/.

  4. Чтобы временно отключить замену видео, создайте файл disable.jpg в каталоге [внутреннее хранилище]/DCIM/Camera1/.

  5. Если вы считаете, что плавающие сообщения мешают, создайте файл no_toast.jpg в каталоге [внутреннее хранилище]/DCIM/Camera1/.

  6. Сообщение о переадресации каталога по умолчанию отображается один раз. Если вы пропустили это сообщение, создайте файл force_show.jpg в каталоге [внутреннее хранилище]/DCIM/Camera1/, чтобы перезаписать настройки по умолчанию.

  7. Если вы хотите назначить каждому приложению свое видео, создайте файл private_dir.jpg в каталоге [внутреннее хранилище]/DCIM/Camera1/.

Обратите внимание: настройки 6-10 можно менять прямо в приложении или создавая соответствующие файлы.

Часто задаваемые вопросы

Q1: Проблема с ориентацией передней камеры?
A1: В большинстве случаев видео, которое заменяет переднюю камеру, должно быть повернуто горизонтально и повёрнуто на 90 градусов направо после обработки. Разрешение видео после обработки должно совпадать с разрешением, указанном в плавающем сообщении. Однако иногда это может не понадобиться, поэтому принимайте решение на основе конкретной ситуации.

Q2: Черный экран, не удается запустить камеру?
A2: Некоторые приложения могут не поддерживать замену (особенно системная камера). Возможно, проблема связана с путями к видео (например, если создан двухуровневый каталог Camera1, такой как ./DCIM/Camera1/Camera1/virtual.mp4, но требуется только один уровень).

Q3: Экран мерцает?
A3: Разрешение видео неверное.

Q4: Изображение искажено?
A4: Используйте видеоредактор для корректировки оригинального видео до соответствия экрану.

Q5: Создание файла disable.jpg не работает?
A5: Если версия приложения <=4.0, файлы в каталоге [внутреннее хранилище]/DCIM/Camera1 будут работать только для приложений, имеющих разрешение на доступ к хранилищу. Для остальных приложений файлы должны быть созданы в приватном каталоге. Если версия приложения >=4.1, файлы следует создавать в каталоге [внутреннее хранилище]/DCIM/Camera1, независимо от наличия разрешения у целевого приложения.

Обратная связь

Пожалуйста, оставляйте отзывы в разделе issues. При наличии ошибки, пожалуйста, прикрепите журнал модуля Xposed.

Благодарность:

Идея HOOK: https://github.com/wangwei1237/CameraHook

H264 аппаратное декодирование: https://github.com/zhantong/Android-VideoToImages

JPEG в YUV: https://blog.csdn.net/jacke121/article/details/73888732

1
https://api.gitlife.ru/oschina-mirror/w2016561536-android_virtual_cam.git
git@api.gitlife.ru:oschina-mirror/w2016561536-android_virtual_cam.git
oschina-mirror
w2016561536-android_virtual_cam
w2016561536-android_virtual_cam
master