Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3045696
  • 博文数量: 396
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 4209
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-04 13:04
文章分类

全部博文(396)

文章存档

2022年(1)

2021年(2)

2020年(8)

2019年(24)

2018年(135)

2017年(158)

2016年(68)

我的朋友

分类: Android平台

2021-08-24 13:18:11

通过如下方法dump camera service信息到dump.txt:

adb shell dumpsys media.camera > dump.txt

 

1. 查看相机支持的preview size和picture size

在dump结果中,搜索android.scaler.availableStreamConfigurations,出来的结果列表形式如下:

    [34 4032 3024 OUTPUT ]

    ...

其中,第1个参数为format,第2个参数为width,第3个参数为height,第4个参数为streamType(preview看OUTPUT类型)。

主要的format为:

    HAL_PIXEL_FORMAT_RAW16 = 32;

    HAL_PIXEL_FORMAT_BLOB = 33;

    HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED = 34;

    HAL_PIXEL_FORMAT_YCbCr_420_888 = 35;

    HAL_PIXEL_FORMAT_RAW_OPAQUE = 36;

    HAL_PIXEL_FORMAT_RAW10 = 37;

    HAL_PIXEL_FORMAT_RAW12 = 38;

HAL_PIXEL_FORMAT_BLOB表示是jpeg stream,对应的size即平时所说的picture size; HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED表示preview stream,对应的size即平时所说的preview size.

例如,[34 4032 3024 OUTPUT ]表示preview size支持4032x3024. [33 4032 2016 OUTPUT ]表示picture size支持4032x2016.

所以availableStreamConfigurations的输出结果中,所有format=34且streamType=OUTPUT的size即为相机支持的preview size.

同理,所有format=33且streamType=OUTPUT的size即为相机支持的picture size.

 

2.查看相机支持的FPS

在dump结果中,搜索android.control.aeAvailableTargetFpsRanges,出来的结果列表形式如下:

    [7 30 30 30 ]

    ...

数据中每2个一组构成一个FPSRange,其中第1个为FPSRange的下限,第2个为FPSRange的上限。

例如,[7 30 30 30 ]表示相机支持的FPSRange为[7 30]和[30 30].

 

3.查看当前打开的相机及其设置

在dump结果,搜索CameraDeviceClient,出来的结果类似:

  Device 3 is open. Client instance dump:

    Client priority score: 0 state: 2

    Client PID: 7358

    Client package: com.android.camera

  CameraDeviceClient[3] (0xebbc0500) dump:

CameraDeviceClient[3]中括号里的“3”即为当前打开的camera id.

要查看相机当前的设置,只需在该client的“Dumping camera metadata array”中根据对应的key搜索即可。

例如:查看相机当前设置的FPS

在dump结果中,搜索android.control.aeTargetFpsRange,出来的结果即为当前的FPSRange.

例如,[7 30 ]表示当前设定的FPSRange为[7 30 ].

 

4.查看相机当前设置的preview size和picture size

在dump结果中,搜索Stream configuration,Stream configuration的输出类似:

    Stream[0]: Output

      Consumer name: SurfaceTexture-1-7358-0

      State: 4

      Dims: 1920 x 1080, format 0x22, dataspace 0x0

    ...

    Stream[1]: Output

      Consumer name: ImageReader-3840x2160f100m2-7358-1

      State: 4

      Dims: 3840 x 2160, format 0x21, dataspace 0x8c20000

其中stream 0的format为0x22=34,这个即为preview stream,其size为1920 x 1080.

其中stream 1的format为0x21=33,这个即为jpeg stream,其size为3840 x 2160.

阅读(2358) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~