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

    Camera2 采集

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

    84330编辑于 2022-10-25
  • 来自专栏音视频直播技术专家

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

    Camera2 介绍 今天为大家介绍一下如何在 Android 上进行视频采集。在 Android 系统下有两套 API 可以进行视频采集,它们是 Camera 和 Camera2 。 我今天主要给大家介绍一下如何使用 Camera2 进行视频的采集。 原码可以在这里获取 Camera2 整体工作结构 Camera2结构图 Camera Device:代表一个摄像头,在一部手机上有可能有多个摄像头,如前置摄像头,后置摄像头等。 创建一个预览view,它可以是GLSurfaceView或TextureView(这两个View的区别我也会再写一篇文章来介绍),用于视频采集时观看采集到的结果。 小结 通过上面对 Camera2 API 使用的分析,我们们可以看到 Camera2 完全采用了异步的架构模式,在完成 Camera 每一步操作后系统都会通知用户,用户可以在回调时做下一步的操作,而不用一直等待

    2.5K20发布于 2020-04-02
  • 来自专栏RTMP推送

    Android摄像头采集选Camera1还是Camera2

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

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

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

    但需要注意的是,虽然 Android 5.0 及更高版本的设备支持 Camera2,但部分设备可能并不支持所有的 Camera2 功能。在实际开发中,需要根据设备的具体特性和支持情况进行适配和处理。 Android Camera2 RAW图像捕获要使用 Android Camera2 进行 RAW 图像捕获,你可以按照以下步骤进行操作:检查设备支持:首先,确保你的设备支持 Camera2 API 并且支持 大牛直播SDK前几年在做Android平台RTMP推送和轻量级RTSP服务的时候,实际上就已经支持了Camera2采集和数据投递,考虑到,目前5.0以下版本的设备越来越少,后面的GB28181设备接入模块 ,更是以Camera2的demo为准。 API 是从 Android 5.0(Lollipop)开始引入的,相对Camera API,优势非常明显,如果需要通过Android平台采集视频数据,在设备支持的前提下,建议尽可能用Camera2做数据采集

    2.1K20编辑于 2024-10-01
  • 来自专栏写个呆萌

    Android Camera2

    本文是 Camera2 教程的开篇作,本章将介绍以下几个内容: 一些 Camera2 的重要概念 一些只有 Camera2 才支持的高级特性 一些从 Camera1 迁移到 Camera2 的建议 本章涉及的代码很少 9 CaptureRequest CaptureRequest 是向 CameraCaptureSession 提交 Capture 请求时的信息载体,其内部包括了本次 Capture 的参数配置和接收图像数据的 11 一些只有 Camera2 才支持的高级特性 如果要我给出强有力的理由解释为什么要使用 Camera2,那么通过 Camera2 提供的高级特性可以构建出更加高质量的相机应用程序应该是最佳理由了。 13 结束语 本章到此结束,主要是介绍了 Camera2 的一些基础概念,让大家能够基本了解 Camera2 的工作流程和基础概念,并且知道使用 Camera2 能够做些什么。 接下来将介绍采集到的数据YUV_420_888。

    2.8K51发布于 2020-12-01
  • 来自专栏雪月清的随笔

    Camera2 Extensions

    提供的一套方便第三方相机开发者也能使用到平台厂商独有的一些Camera能力(比如bokeh、夜景、HDR等)的API 其中Google制定extensions-interface层,向下由OEM供应商提供能力实现,向上则封装Camera2 API来提供能力接口 架构图如下所示 CameraX Extensions API的用法可以参考Android官方账号发表的推文 使用 CameraX Extensions API 将特效应用到照片上 Camera2 ); 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

    /** * 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详解

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

    3.1K20发布于 2020-06-23
  • 来自专栏海之滨云视频和流媒体技术

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

    Android Camera2采集摄像头原始数据并手动预览 最近研究了一下android摄像头开发相关的技术,也看了Google提供的Camera2Basic调用示例,以及网上一部分代码,但都是在TextureView 层由于从API21开始,已经废弃原Camera接口,所以这里采用Camera2接口。 这里把CamCap程序中的Camera2的调用顺序整理如下: ? 绘制图像 在绘制图像的时候,有个坑,那就是图像的旋转,这个是由于手机上的摄像头传感器的视野坐标,一般都是旋转了90度或270度的,所以,需要把摄像头采集到的画面,进行旋转,才能还原出正确的视野画面。 运行截图 开启预览时的4:3画面和16:9画面 ? ? 关闭预览,同时可以继续拍照 ? ? haibindev.cnblogs.com,合作请联系QQ。(转载请注明作者和出处~)

    3.6K50发布于 2018-05-11
  • 来自专栏雪月清的随笔

    Android Camera2 Deferred Surface

    背景 在Android Camera2详解一文中,我们了解到使用Camera2 API启动相机预览将经历如下三个步骤,其中创建会话需要准备的预览surface一般来自SurfaceView,TextureView 【Android Camera2 API Deferred Surface实战】 https://deepinout.com/android-camera-official-documentation/

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

    Android Camera2 Focus Distance

    提问2 我想使用android camera2 API获取从对象到android设备的距离。 E8%B1%A1%E5%88%B0Android%E8%AE%BE%E5%A4%87%E7%9A%84%E8%B7%9D%E7%A6%BB 提问3 我想为自己开发一款Android相机应用程序(如果有兴趣的人可以共享它 我已经在谷歌样本Camera2应用程序中添加了一个SeekBar,但我找不到实现手动对焦的方法。 我在camera2,android中找到了手动对焦,但它在我的LG G4上无效。 来源:https://stackoom.com/question/3dIhT/camera-%E8%81%9A%E7%84%A6%E5%8C%BA%E5%9F%9F%E5%92%8C%E8%81%9A% E7%84%A6%E8%B7%9D%E7%A6%BB%E7%9A%84%E9%97%AE%E9%A2%98 提问6 我正在使用Camera2 API开发自定义Camera App,并尝试通过搜索栏启用手动对焦

    2.3K10编辑于 2022-12-20
  • 来自专栏菩提树下的杨过

    freeswitch笔记(9)-esl outbound中如何放音采集按键?

    } exe.answer(); int timeOutSeconds = 30; //放音采集

    1.8K41发布于 2020-08-10
  • 来自专栏Android Camera开发

    Android Camera2 获取RAW数据

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

    1.1K20编辑于 2023-10-16
  • 来自专栏雪月清的随笔

    使用Camera2获取depth图像

    它的视场为75°,大致与S10 5G前置摄像头的80°视场相匹配 Note: S10 5G(以及Note10+5G)通过Camera2 API返回两个摄像头。 演示效果如下: 隐私模式 利用深度遮罩对相机帧应用模糊,将其转换为预览和编码并发送到实时视频会议服务,还需要做一些其它的处理工作 如果要以16:9的纵横比拍摄前置摄像头,需要将深度遮罩也裁剪为16 :9 使用遮罩进行选择性模糊(我的方法是将图像缩小到1/2宽 x 1/2高,应用模糊,然后再放大,然后根据遮罩将原始图像的像素复制回模糊图像,同时沿边缘为像素应用混合渐变,以便从模糊到未模糊的过渡看起来不刺耳

    1.6K20编辑于 2022-07-11
  • 来自专栏RTMP推送

    Android平台如何采集摄像头数据并实现低延迟RTMP推送

    Camera2采集为例,大概的实现如下:import android.Manifest;import android.annotation.SuppressLint;import android.content.Context ,已经主推Camera2,为什么要用Camera2呢? Camera2采集优势在哪里呢?功能更强大更精细的控制:Camera2 提供了对摄像头更底层、更精细的控制能力。 性能更优更高的帧率和更低的延迟:Camera2 API 在处理图像数据时具有更高的效率,能够支持更高的帧率采集,从而可以实现更流畅的视频录制和实时预览。 灵活性更高可定制的处理流程:Camera2 允许开发者自定义图像数据的处理流程,开发者可以在图像数据从摄像头采集到最终显示或存储的过程中,插入自己的处理逻辑,如添加滤镜、进行图像识别、实时分析等。

    1.4K10编辑于 2024-11-20
  • 来自专栏Qt项目实战

    Qt编写控件属性设计器9-数据库采集

    一、前言 数据库作为数据源,在很多组态软件中使用非常多,指定数据库类型,填写好数据库连接信息,指定对应的数据库表和字段,采集间隔,程序按照采集间隔自动采集数据库数据,绑定到界面上的控件赋值显示即可。 打通了串口采集、网络采集、数据库采集三种方式设置数据。 代码极其精简,注释非常详细,可以作为组态的雏形,自行拓展更多的功能。 纯Qt编写,支持任意Qt版本+任意编译器+任意系统。 this); connect(tcpServer, SIGNAL(newConnection()), this, SLOT(newConnection())); //开启定时器读取数据库采集数据

    1.2K00发布于 2019-09-14
  • 来自专栏RTMP推送

    Android音视频开发:基于 Camera2 API 实现RTMP推流、RTSP服务与录像一体化方案

    本文将深入源码,结合 MainActivity.java 及核心辅助类,剖析如何利用 Android Camera2 API 的高效采集能力,配合 大牛直播SDK (SmartPublisher) 的多路分发架构 整体数据流向如下: 数据采集:Camera2Helper 负责调用 Camera2 API,通过 ImageReader 获取 YUV_420_888 格式的视频帧。 Camera2 API 的高效采集与YUV处理Camera2 API 相比旧版 Camera API 提供了更强大的控制力,但也更为复杂。 大牛直播SDK 提供了带 Stride 参数的接口,完美兼容了不同机型的 Camera2 输出。 线程模型:采集、UI、数据投递、编码分发分离,利用读写锁保证线程安全且不阻塞高频的视频采集回调。

    45800编辑于 2025-12-07
  • 来自专栏音视频直播技术专家

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

    camera1.jpg 前言 今天为大家介绍一下使用Camera1进行视频采集。之前我写过一篇文章介绍的是Camera2进行视频采集。那么有人会问,为什么有了Camera2还要介绍Camera1呢? 这里最主要的原因是因为Android版本众多,Camera2是Google新推出的视频采集架构,但很多老的机型还不支持,所以为了兼容性的问题,我们还不能放弃使用Camera1进行视频的采集。 6.采集数据过程 打开Camera后,Camera开始采集数据。 Camera会将数据存放到 mCameraTexture 中,也就是SurfaceTexture中。 Camera完成一帧数据的采集后,通知应用程序有一帧数据已经准备好了。 参考 视频渲染之EGL Android视频采集Camera2 http://www.jianshu.com/p/39a015f2996e ----

    6K41发布于 2020-04-02
  • 来自专栏写个呆萌

    安卓Camera2 YUV_420_888

    API 21引入了Camera2,deprecated掉了Camera,确立Image作为相机得到的原始帧数据的载体;硬件编解码的MediaCodec类加入了对Image和Image的封装ImageReader

    3.5K50发布于 2020-11-13
  • 来自专栏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 videoWidth, videoHeight, 1); } } } } 以上就是基础的Android Camera2

    1.8K00发布于 2020-04-05
领券