Android 虚拟Camera实现方案,基于Android8.1,9,完成,可以实现Android手机直播,刷脸等场景。服务器传输数据,由另外一台前端手机实现Camera数据采集。
有整体实现方案,方案效果可以见视频(这个编辑器无法支持本地视频),见图片。如有这反面业务的可以联系,留言。

[Camera流程框图]

| Android App | (NetWork) | Camera App 显示|
| \||/ \||/ ||| | /|\ /|\
|–HIDL Memory Hal 数据传输层|-- FrameWork Camera3 |
| \||/ \|/ | | /|\ /|\
| Camera Hal 虚拟Camera实现层| Hal Yuv数据填充层 |
|
不需要修改系统代码,只需要移植关键的Hal.so, Hidl Memory.so, Apk即可

 -----实际产品展示 -----


[产品]

[第三方CameraApp]

一般手机屏幕分辨率为16:9,而可能默认的预览分辨率是4:3的
[34 1440 1080 OUTPUT ]
[34 1280 720 OUTPUT ] —》 16 : 9
【34 960,720 】 -----》 4 : 3
[34 720 480 OUTPUT ]
[34 640 480 OUTPUT ] -----》 4 : 3

dumpsys media.camera 指令
adb shell dumpsys media.camera

1、 Dump raw image
adb shell setprop persist.camera.raw_yuv 1

adb shell setprop persist.camera.preview_raw 1

adb shell setprop persist.camera.dumpimg 16711696
when we set persist.camera.dumpimg to 16711696,

It’s means we want to dump 255 frame, no skip during dumping, dump raw image

The corresponding code in this place:

Function QCamera2HardwareInterface::dumpFrameToFile from QCamera2HWICallbacks.cpp

2、Dump VFE/ISP output yuv image
adb shell setprop persist.camera.isp.dump 2

adb shell setprop persist.camera.isp.dump_cnt 20 // dump 20 frames

For persist.camera.isp.dump, bit-0 to bit-12 needs to be set, corresponding to flag:

CAM_STREAM_TYPE_PREVIEW – 0x2 // dump preview image set to 0x2
CAM_STREAM_TYPE_SNAPSHOT – 0x8
CAM_STREAM_TYPE_VIDEO – 0x10

The corresponding code in this place: Function iface_util_dump_frame from iface_util.c

Image files under /data/misc/camera folder.

3、Dump CPP output yuv image
adb shell setprop persist.camera.dumpimg 16711681

https://www.cnblogs.com/programandriod/p/13868568.html

Android 虚拟Camera实现方案相关推荐

  1. 介绍 Android 的 Camera 框架

    总体介绍  Android Camera 框架从整体上看是一个 client/service 的架构,有两个进程: 一个是 client 进程,可以看成是 AP 端,主要包括 JAVA 代码与一些 n ...

  2. APP(ios、Android)实现充值的方案

    APP(ios.Android)实现充值的方案 Android 安卓手机对于付费审核没有规则,可以做微信或支付宝的三方接口调用.也可以直接做银行卡充值. ios ios对于应用的充值功能有明确的限制, ...

  3. 实现 DirectShow 虚拟 Camera 驱动

    今天我们要实现一个虚拟 Camera 驱动.有这个驱动,在 播放软件(如 VLC).视频会议软件.主播视频制作软件(如 OBS)中,就可以播放.加入我们的各种特制内容了. 先看看实现后的效果: 在 O ...

  4. 手机 虚拟服务器,android虚拟云手机服务器

    android虚拟云手机服务器 内容精选 换一换 您在了解云手机的优势和应用场景后,如果想体验云手机的功能,或者需要部署真实的业务,建议您参考本节操作购买云手机.操作流程如图1所示.准备工作包含两项任 ...

  5. Android网络连接异常处理方案

    Android网络连接异常处理方案 参考文章: (1)Android网络连接异常处理方案 (2)https://www.cnblogs.com/yangcong/p/3523021.html 备忘一下 ...

  6. Android Webview H5 秒开方案实现

    本文首发于微信公众号「玉刚说」 原文链接:Android Webview H5 秒开方案实现 前言 现在许多app都嵌入了H5页面, 然而WebView加载速度慢这个问题却一直影响着用户的体验, 所以 ...

  7. JAndFix: 基于Java实现的Android实时热修复方案

    简述 JAndFix是一种基于Java实现的Android实时热修复方案,它并不需要重新启动就能生效.JAndFix是在AndFix的基础上改进实现,AndFix主要是通过jni实现对method(A ...

  8. Android Art Hook 技术方案

    Android Art Hook 技术方案 by 低端码农 at 2015.4.13 www.im-boy.net 0x1 开始 Anddroid上的ART从5.0之后变成默认的选择,可见ART的重要 ...

  9. 【Android】Camera 使用浅析

    Camera的简单使用浅析 由于最近工作上用到android.hardware.Camera这个类,于是简单的学习了一些基本用法.  首先注意:Camera这个类在API21以后就不推荐使用了,官方提 ...

  10. android camera 实时滤镜,【Camera】Android平台Camera实时滤镜实现方法

    Android+JNI+OpenGL开发自己的美图秀秀 2016-01-18 16:39 阅读(5116) 评论(19) Android平台Camera实时滤镜实现方法探讨(十一)--实时美颜滤镜 2 ...

最新文章

  1. 吉利蔚来造手机,小米造车
  2. java mapreduce编程_Hadoop实验——MapReduce编程(1)
  3. AI项目成功的4要素
  4. 昆仑mcp文件是什么版本_昆仑健康保2.0升级版怎么样?有哪些优缺点?
  5. DSP、ARM和单片机的区别
  6. LongFormer:用稀疏自注意力拓展模型文本容纳量
  7. 控制Domino的log.nsf数据库过大增长
  8. Hibernate SQL 方言(hibernate.dialect)
  9. 每日一题/012/数学分析/求极限/拉格拉日中值定理/幂指函数求导
  10. 三菱GXWorks2 新建工程
  11. 网站制作笔记一域名购买与主机备案
  12. 2016腾讯实习生招聘在线笔试总结(移动开发)
  13. java聊天室类图怎么画,UML课程设计(java web网上聊天室附源码)
  14. NTL密码算法开源库——大整数ZZ类(四)
  15. 体会现实生活的两个月(上)
  16. 阿里云oss对象存储的使用
  17. 基于51单片机的控制四线步进电机仿真设计
  18. 为什么要配置Java环境变量以及Java环境变量的配置
  19. 机器视觉——光源介绍
  20. ubuntu升级后,停留在tty1界面,进不去桌面

热门文章

  1. 《 阿房宫赋》古文鉴赏
  2. 什么是肠漏综合征,它如何影响健康?
  3. HTML-简单表单制作
  4. 成就:优秀的管理者成就自己,卓越的管理者成就他人(读后感)
  5. Mysql 查询每个班级的成绩最好前三名(并列与不并列的情况)
  6. 抱抱脸(hugging face)教程-中文翻译-使用 Tokenizers 的 tokenizers
  7. c语言回调函数的使用及实际作用详解
  8. JAVA声明圆锥体类,实现Area和Volume接口,计算表面积和体积,按体积比较大小
  9. 社交网络算法对权力的游戏角色进行分析
  10. 什么是大数据技术架构