基于Xposed的虚拟摄像头 vcam

使用方法

安装此模块,并在Xposed中启用此模块,Lsposed等包含作用域的框架需要选择目标app,无需选择系统框架。

在系统设置中,授予目标应用读取本地存储的权限,并强制结束目标应用程序。若应用程序未申请此权限,请见步骤3。

打开目标应用,若应用未能获得读取存储的权限,则会以气泡消息提示,Camera1目录被重定向至应用程序私有目录/内部存储/Android/data/应用包名/files/Camera1/。若未提示,则默认Camera1目录为/内部存储/DCIM/Camera1/。若目录不存在,请手动创建。

注意:私有目录下的Camera1仅对该应用单独生效。

在目标应用中打开相机预览,会以气泡消息提示"宽:......高:......",需要根据此分辨率数据制作替换视频,放置于Camera1目录下,并命名为virtual.mp4,若打开相机并无提示消息,则无需调整视频分辨率。

若在目标应用中拍照却显示真实图片,且出现气泡消息发现拍照和分辨率,则需根据此分辨率数据准备一张照片,命名为1000.bmp,放入Camera1目录下(支持其它格式改后缀为bmp)。如果拍照时无气泡消息提示,则1000.bmp无效。

如果需要播放视频的声音,需在/内部存储/DCIM/Camera1/目录下创建no-silent.jpg文件。(全局实时生效)

如果需要临时停用视频替换,需在/内部存储/DCIM/Camera1/目录下创建disable.jpg文件。(全局实时生效)

如果觉得Toast消息烦,可以在/内部存储/DCIM/Camera1/目录下创建no_toast.jpg文件。(全局实时生效)

目录重定向消息默认只显示一次,如果错过了目录重定向的Toast消息,可以在/内部存储/DCIM/Camera1/目录下创建force_show.jpg文件来覆盖默认设定。(全局实时生效)

如果需要为每一个应用程序分配视频,可以在/内部存储/DCIM/Camera1/目录下创建private_dir.jpg强制使用应用程序私有目录。(全局实时生效)

注意:6~10的配置开关均在应用程序中,您可以快捷地在应用程序中配置,也可以手动创建文件。

常见问题

A1. 前置摄像头方向问题?

Q1. 大多数情况下,替换前置摄像头的视频需要水平翻转并右旋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创建,无论目标应用是否具有权限。

下载

https://www.123684.com/s/2ycWTd-zHv8h

相关推荐
LittroInno2 小时前
双光对齐为何静态正常动态错位 从时间同步到曝光中心
数码相机·时间同步·图像配准·热红外·可见光·双光融合
济南凡维20 小时前
智能相机 VS 工业相机:机器视觉选型一次讲透
网络·数码相机·视觉检测
FLJwu1 天前
运动相机采购选型避坑实战|第二篇
c语言·开发语言·数码相机·运动相机·oem 量产
kyle~2 天前
时间同步 --- PTP 与 Scheduled Action Command
c++·数码相机·机器人·传感器
PHOSKEY2 天前
光学棱镜角度有多重要?从手机潜望式镜头看一键闪测仪的检测价值
数码相机·智能手机
kyle~2 天前
Linux --- CPU 调度机制
linux·运维·数码相机
高升说2 天前
掌心相机工程化:灵巧手近距视觉的 5 个硬门槛
人工智能·数码相机
努力实干3 天前
面向对象设计原则——C++
开发语言·c++·数码相机
昂好的day3 天前
VisionMaster(VM) 标定工具详解(上):为什么必须标定 + 九点标定手眼标定
开发语言·数码相机·c#
LittroInno3 天前
运动平台上的巡检相机:曝光时间与快门该怎样选?
数码相机·机器视觉·曝光时间·运动模糊·滚动快门·巡检相机