首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android点滴分享

    Camera2 采集

    本篇介绍 Camera2相比Camera1,使用起来要复杂一些,不过也节省了一些逻辑,比如可以自动处理角度问题。本篇就按照流程介绍下Camera2的简单使用,更多细节会后续介绍。 使用Camera2 申请权限 静态申请: <uses-permission android:name="android.permission.CAMERA" /> 动态申请: if (ContextCompat.checkSelfPermission

    84330编辑于 2022-10-25
  • 来自专栏写个呆萌

    Android Camera2

    image.png 从 Android 5.0 开始,Google 引入了一套全新的相机框架 Camera2android.hardware.camera2)并且废弃了旧的相机框架 Camera1 (android.hardware.Camera)。 本文是 Camera2 教程的开篇作,本章将介绍以下几个内容: 一些 Camera2 的重要概念 一些只有 Camera2 才支持的高级特性 一些从 Camera1 迁移到 Camera2 的建议 本章涉及的代码很少 13 结束语 本章到此结束,主要是介绍了 Camera2 的一些基础概念,让大家能够基本了解 Camera2 的工作流程和基础概念,并且知道使用 Camera2 能够做些什么。 接下来将介绍采集到的数据YUV_420_888。

    2.8K51发布于 2020-12-01
  • 来自专栏增长技术

    Android Camera2

    /** * Returns the capture session manager instance that modules use to store * temporary or final capture results. */ public CaptureSessionManager getCaptureSessionManager(); /** * Returns the memory manager which can be used to get informed about memory * status updates. */ public MemoryManager getMemoryManager(); /** * Returns the motion manager which senses when significant motion of the * camera should unlock a locked focus. */ public MotionManager getMotionManager(); /** * Returns the media saver instance. *

    * Deprecated. Use {@link #getCaptureSessionManager()} whenever possible. * This direct access to media saver will go away. */ @Deprecated public MediaSaver getMediaSaver(); /** * @return A listener to be informed by events interesting for remote * capture apps. Will never return null. */ public RemoteShutterListener getRemoteShutterListener(); /** * @return The settings manager which allows get/set of all app settings. */ public SettingsManager getSettingsManager();

    1K10发布于 2018-09-06
  • 来自专栏音视频直播技术专家

    音视频直播技术--Android视频采集(Camera2)

    Camera2 介绍 今天为大家介绍一下如何在 Android 上进行视频采集。在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。 Camera是以前老的 API ,从 Android 5.0(21)之后就已经放弃了。我今天主要给大家介绍一下如何使用 Camera2 进行视频的采集。 原码可以在这里获取 Camera2 整体工作结构 Camera2结构图 Camera Device:代表一个摄像头,在一部手机上有可能有多个摄像头,如前置摄像头,后置摄像头等。 使用 Camera2 基本流程 创建一个专门的线程用于Camera的具体操作。Android系统已经为我们提供了 HandlerThread类,以方便我们创建 Hander 类型的线程。 小结 通过上面对 Camera2 API 使用的分析,我们们可以看到 Camera2 完全采用了异步的架构模式,在完成 Camera 每一步操作后系统都会通知用户,用户可以在回调时做下一步的操作,而不用一直等待

    2.5K20发布于 2020-04-02
  • 来自专栏雪月清的随笔

    Android Camera2详解

    Camera API2是Google从Android5.0开始推出的配合HAL3使用的一套新架构,相比于API1,对应用层开发者而言开放了更多的自主控制权,主要特性包括: 可以获取更多的帧(预览/拍照) 信息以及手动控制每一帧的参数; 对Camera的控制更加精细(比如支持调整focus distance,对焦曝光模式等); 支持更多图片格式(yuv/raw); 高速连拍 当然,就像硬币总是存在正反两面,Camera2 Camera2主要类 ? Camera2中要获取预览数据则需要额外配置一下。 首先需要通过ImageReader创建的Surface,在创建session的时候配置进去. 总结 Camera2的基本使用总结到这里,使用起来肯定是不如Camera1方便,不过能让应用层有更多的操作空间总是值得的,而且从Android9.0开始也不得不使用这套架构了 ?

    3.1K20发布于 2020-06-23
  • 来自专栏RTMP推送

    Android摄像头采集选Camera1还是Camera2

    ​Camera1还是Camera2?好多开发者纠结,Android平台采集摄像头,到底是用Camera1还是Camera2?实际上,Camera1和Camera2分别对应相机API1和相机API2。 如何使用Camera2进行相机操作使用AndroidCamera2 API来进行相机操作,包括预览、拍照等功能,是一个相对复杂但功能强大的过程。 我们在做Android平台RTMP推送、轻量级RTSP服务、实时录像和GB28181设备对接模块的时候,都需要用到摄像头采集,早期,我们提供了Camera1的采集demo,后面碎渣Camera2的优势越来越明显 ,高版本设备已成主流,目前一般建议采用Camera2采集Camera2实现摄像头采集技术诉求,以上是Camera1和Camera2技术扫盲和技术探讨,感兴趣的开发者,可以单独跟我沟通探讨。

    1.3K10编辑于 2024-08-08
  • 来自专栏GB28181技术

    Android Camera2 与 Camera API技术探究和RAW数据采集

    Android Camera2Android Camera2Android 系统中用于相机操作的一套高级应用程序接口(API),它取代了之前的 Camera API。 新的 Android 版本会对 Camera2 进行更好的优化和支持,而 Camera API 可能会逐渐被淘汰,使用 Camera2 可以更好地保证应用在不同 Android 版本上的兼容性3。 Android Camera2 RAW图像捕获要使用 Android Camera2 进行 RAW 图像捕获,你可以按照以下步骤进行操作:检查设备支持:首先,确保你的设备支持 Camera2 API 并且支持 Camera2大牛直播SDK前几年在做Android平台RTMP推送和轻量级RTSP服务的时候,实际上就已经支持了Camera2采集和数据投递,考虑到,目前5.0以下版本的设备越来越少,后面的GB28181 ,优势非常明显,如果需要通过Android平台采集视频数据,在设备支持的前提下,建议尽可能用Camera2做数据采集。​

    2.1K20编辑于 2024-10-01
  • 来自专栏雪月清的随笔

    Android Camera2 Deferred Surface

    背景 在Android Camera2详解一文中,我们了解到使用Camera2 API启动相机预览将经历如下三个步骤,其中创建会话需要准备的预览surface一般来自SurfaceView,TextureView OutputConfiguration previewOutputConfig = new OutputConfiguration(previewSize, SurfaceHolder.class); // 2. 【Android Camera2 API Deferred Surface实战】 https://deepinout.com/android-camera-official-documentation/ android-camera2-api/android-camera2-api-deferred-surface-practice.html ~~END~~

    1.1K20编辑于 2022-04-18
  • 来自专栏Android Camera开发

    Android Camera2 Focus Distance

    提问2 我想使用android camera2 API获取从对象到android设备的距离。 我已经在谷歌样本Camera2应用程序中添加了一个SeekBar,但我找不到实现手动对焦的方法。 我在camera2android中找到了手动对焦,但它在我的LG G4上无效。 Lollipop Camera2 App and I've found nothing which explains this difference. focus at all via camera2, your device needs to have MANUAL_SENSOR in the android.request.availableCapabilities 98 提问6 我正在使用Camera2 API开发自定义Camera App,并尝试通过搜索栏启用手动对焦。

    2.3K10编辑于 2022-12-20
  • 来自专栏Android Camera开发

    Android Camera2 获取RAW数据

    这边文章主要记录下在Android系统上,如何通过Camera2 API去拿到RAW数据,也是当个备忘。 平时我们拿实时预览数据,更多的是获取yuv数据。 相关实现代码,google已经给出了官方的demo 本文介绍的内容也是基于官方demo来展开~ 如果大家了解或者使用过Camera2获取实时yuv或者拍照jpeg数据,那获取raw,其实流程上都是一样 Camera2上我们需要拿到camera的数据,都是通过ImagerReader来获取。 setOnImageAvailableListener( mOnRawImageAvailableListener, mBackgroundHandler); 2)

    1.1K20编辑于 2023-10-16
  • 来自专栏RTSP/RTMP直播相关

    如何实现RTMP推送Android Camera2数据

    Camera2简介 在Google 推出Android 5.0的时候, Android Camera API 版本升级到了API2(android.hardware.camera2), 之前使用的API1 在API架构方面, Camera2和之前的Camera有很大区别, APP和底层Camera之前可以想象成用管道方式连接, 如下图: ​ 这里引用了管道的概念将安卓设备和摄像头之间联通起来,系统向摄像头发送 下面是 camera2包中的主要类: ​其中 CameraManager 是那个站在高处统管所有摄像投设备(CameraDevice)的管理者,而每个 CameraDevice 自己会负责建立 CameraCaptureSession Camera2 API调用基础流程: 通过context.getSystemService(Context.CAMERA_SERVICE) 获取CameraManager; 调用CameraManager Camera2介绍,和RTMP调用流程,感兴趣的可以自行学习。

    1.8K00发布于 2020-04-05
  • 来自专栏海之滨云视频和流媒体技术

    Android流媒体开发之路一:Camera2采集摄像头原始数据并手动预览

    Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在TextureView 于是实现一下几个功能: 获取摄像头数据,并手动绘制图像 随时开启/关闭预览 随时保存当前摄像头图像,即使在关闭预览情况下 Android Camera2接口   查阅了一些资料,Android Java 层由于从API21开始,已经废弃原Camera接口,所以这里采用Camera2接口。 这里把CamCap程序中的Camera2的调用顺序整理如下: ? 绘制图像 在绘制图像的时候,有个坑,那就是图像的旋转,这个是由于手机上的摄像头传感器的视野坐标,一般都是旋转了90度或270度的,所以,需要把摄像头采集到的画面,进行旋转,才能还原出正确的视野画面。

    3.6K50发布于 2018-05-11
  • 来自专栏Android知识点总结

    Android多媒体之Camera2的相关操作

    零、前言 Android 5.0+ (API 21) Camera过时.png ---->[源码里让我们用camera2] * @deprecated We recommend using the new {@link android.hardware.camera2} API for new applications. 这里的camera2可不是一个类哦 一、打开相机并预览 1.早听闻camera2很复杂,没想到这么复杂,我都有点小hold不住 视图布局和上一篇一样,只是实现变了而已 1.打开相机:Camera2Activity (图画出来感觉清楚多了) 打开相机.png 1.1:准备两个Handler HandlerThread handlerThread = new HandlerThread("Camera2");// at android.media.ImageReader.acquireNextImage(ImageReader.java:501) at com.toly1994.video.cameral2

    3.3K50发布于 2019-02-25
  • 来自专栏雪月清的随笔

    Camera2 Extensions

    制定extensions-interface层,向下由OEM供应商提供能力实现,向上则封装Camera2和CameraX Extensions两套API来提供能力接口 架构图如下所示 CameraX Extensions API的用法可以参考Android官方账号发表的推文 使用 CameraX Extensions API 将特效应用到照片上 Camera2 Extensions API的用法就看这篇文章啦 ); Log.i(TAG, "openCameraCore: support extensions: " + list); } } 设备支持的情况下就可以开始启动预览了,步骤和Camera2 普通模式启动预览流程是类似的,三步走即可,只是一些接口不同 打开相机的步骤和Camera2普通模式无差异 创建会话则采用createExtensionSession 获取CameraExtensionSession extension: 例如EXTENSION_HDR // listener: 使用CameraExtensionSession.StateCallback // outputs和executor类似Camera2

    2.5K40编辑于 2022-11-19
  • 来自专栏雪月清的随笔

    Android Camera2中如何获取预览YUV数据

    那么在Camera2的架构中,我们要如何获取NV21或者YV12格式的预览数据呢? 在之前的文章Android Camera2详解中描述到,要获取每一帧的预览数据,我们需要ImageReader这个类的帮助: val imageReader = ImageReader(width, height { throw new IllegalArgumentException( "NV21 format is not supported"); } NV21 查看文档关于NV21的描述,发现在Camera2 val planeHeight = if (plane == 0) imageHeight else imageHeight / 2 if (pixelStride PS:YUV的采样方式有很多种,同一种采样方式还存在不同的排列方式,导致YUV格式五花八门的, 比如:NV21, NV12, YV12, YU12, YUY2...

    7.3K30发布于 2020-06-23
  • 来自专栏雪月清的随笔

    Android Camera2 实现触摸对焦功能(Touch to Focus)

    之前在 Android Camera2 简介 这篇文章中简单介绍了下 Camera2 中 AF/AE 对焦区域如何进行设置,之前是通过手动计算对应关系实现的,但这种方式需要考虑到前后摄的区别,前摄和后摄坐标映射有区别 ,宽高都为2000,而Camera2中的大小要根据查询出来的 SENSOR_INFO_ACTIVE_ARRAY_SIZE 来进行确定 使用Matrix进行坐标映射 Camera API 1 关于API 1的坐标映射, 可以参考Android源码中Camera代码, 路径: packages/apps/Camera2/src/com/android/camera/ui/focus/CameraCoordinateTransformer.java 得到有映射关系的Matrix后,坐标转换只需调用mapRect(result, source)即可 Camera API 2 上面 API 1 的代码是不能直接用在 API 2中的, 主要原因是 Camera2 Demo: https://github.com/smewise/Camera2 (文章来自简书--幽客: https://www.jianshu.com/p/49dcab6a1f75) ~~END~

    4K20发布于 2021-09-22
  • 来自专栏Android Camera开发

    全网首发:Android Camera2 集成人脸识别算法

    这可能是全网唯一一篇介绍Android Camera2接口集成人脸算法的文章了~ 写在前面: 说起人脸识别,相信大家都不会感到陌生,在我们平时的工作生活中,人脸打卡、刷脸支付等等已经是应用的非常广泛了, 这篇文章将针对下面几点展开介绍: 一、Android平台人脸识别流程图 二、ArcSoft人脸识别算法sdk下载 三、Camera2 API 集成 ArcSoft人脸识别算法 一、Android平台人脸识别流程图 介绍完了官方的demo,那接下来我们看下采用Android Camera2 的api,如何去集成arcsoft的人脸识别算法呢。 下面来讲解下代码实现的主要步骤: (不熟悉Camera2接口的同学,建议先找一篇关于Camera2 API的文章先了解下,关于Camera2,我自己前面也写过算是比较详细的文章介绍,也欢迎大家阅读) i 不过Android 目前已经不再对Camera旧的架构进行维护,而且目前主流的手机采用的基本上也都是Camera2的接口。所以我们还是非常有必要熟悉掌握Camera2的各种使用。

    1.6K10发布于 2021-04-30
  • 来自专栏Android Camera开发

    全网首发:Android Camera2 集成人脸识别算法

    这可能是全网唯一一篇介绍Android Camera2接口集成人脸算法的文章了~ 写在前面: 说起人脸识别,相信大家都不会感到陌生,在我们平时的工作生活中,人脸打卡、刷脸支付等等已经是应用的非常广泛了 这篇文章将针对下面几点展开介绍: 一、Android平台人脸识别程图 二、ArcSoft人脸识别算法sdk下载 三、Camera2 API 集成 ArcSoft人脸识别算法 一、Android平台人脸识别流程图 介绍完了官方的demo,那接下来我们看下采用Android Camera2 的api,如何去集成arcsoft的人脸识别算法呢。 我们先来看下我自己写的demo效果图: 下面来讲解下代码实现的主要步骤: (不熟悉Camera2接口的同学,建议先找一篇关于Camera2 API的文章先了解下,关于Camera2,我自己前面也写过算是比较详细的文章介绍 不过Android 目前已经不再对Camera旧的架构进行维护,而且目前主流的手机采用的基本上也都是Camera2的接口。所以我们还是非常有必要熟悉掌握Camera2的各种使用。

    2.6K31发布于 2021-04-19
  • 来自专栏达达前端

    2016级android在线测试15-图像 camera2

    2. ImageView类的setScaleType(ImageView.ScaleType scaleType)方法是控制图像如何调整大小或者移动,以适应ImageView的大小。 Android 5.0(API21)之后,android.hardware.Camera被废弃(简称Camera1),的Camera2主要涉及的API有哪些? http://android.xsoftlab.net/reference/android/hardware/camera2/package-summary.html 您的回答为: CameraManager 使用Camera2进行拍照的套路包括哪些步骤? You will probably want to use MediaRecorder.AudioSource.MIC. 2.To stop audio capture, call MediaRecorder.stop

    83830编辑于 2022-04-29
  • 来自专栏达达前端

    2016android在线测试15-图像 camera2

    (表示错误) 2.ImageView类的setScaleType(ImageView.ScaleType scaleType)方法是控制图像如何调整大小或者移动,以适应ImageView的大小。 Create a new instance of android.media.MediaRecorder.

    61020编辑于 2022-04-28
领券