Skip to content

Atomos-X/Camera2Magic

Repository files navigation

Camera2 Magic:一个虚拟摄像头模块?支持 android 10 +

Camera2 magic 1.0.1

  • 仅支持 api 101,需要安装LSPosed 2.0.0+
  • 设备需要支持MediaCodec解码
  • 安装本模块后,在LSPosed管理器中激活模块,并勾选作用域。
  • 请将使用的媒体文件放在共享存储目录中,如:DCIM;模块和被hook的应用需要被授权访问图片和视频
  • 打开模块UI界面,点击缩略图区域,在弹出的媒体选择器中选择媒体文件
  • 在模块生效后,可以使用点击开启模块开关来启用或暂停Hook
  • 根据需要启用声音播放;在使用图片替换的时候,该菜单点击时无任何效果
  • 目前只可以使用本地文件,网络视频流还在画饼中
  • 支持应用中WebRTC(camera2 api)使用相机,仅测试Telegram
  • 在某些需要高稳定性画面的使用场景,请勿使用本模块,“如被封号 概不负责”

特点

  • 大部分视频均可以傻瓜式使用,不需要关注视频和宿主的分辨率是否匹配
  • 尽可能使用竖版的视频,而不是横板视频;以免两侧被裁切过多
  • 在一些应用中,仅切换预览画面比例时,不会打断预览画面

img

hook camera1/2 api

  • 使用本地视频 hook
    • 完成一些网络视频流支持的初期工作
    • 使用 AMediaCodec 视频硬解码(sm8250大致流畅 4k@60fps HEVC)
      • 双缓冲 (Ping-Pong Mechanism)
      • 使用GPU转码nv21
    • 音频解码 初步的音频支持
  • 使用静态图片 hook
  • 使用网络视频流 hook
  • 替换预览画面
    • 裁切图像适配 preview surface ratio,尽可能不会拉伸变形
    • 适配目标应用实时切换 ratio
  • 高效生成 nv21 byte[]
    • camera1 api 拍照 使用当前 nv21 bytes数据(默认)

感谢

About

A Virtual Camera, support Android 10+

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages