HarmonyOS 鸿蒙Next如何通过摄像头获取视频的yuv数据?

发布于 1周前 作者 wuwangju 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何通过摄像头获取视频的yuv数据?

目前看了下来,好像相机需要调用getVideoSurfaceID获取SurfaceID,这块必须在createAVRecorder之后才可以创建,看上去一定要创建一个视频存储路径,这块有没有不用存储在文件里面的方法?或者有没有没更好的方案?目前小白一个

1 回复

在HarmonyOS 鸿蒙Next系统中,通过摄像头获取视频的YUV数据,可以按照以下步骤进行:

  1. 申请权限

    • 需要确保应用已获得相机使用权限,即ohos.permission.CAMERA
  2. 创建摄像头输入

    • 使用CameraManager获取支持的相机设备,并创建CameraInput对象。
  3. 设置预览Profile

    • 获取支持的输出能力,并选择适合的预览Profile。
    • 注意,虽然ImageReceiver接口在创建时可能指定为JPEG格式,但实际获取的数据格式由预览Profile决定,通常为YUV格式(如nv21)。
  4. 创建预览输出

    • 使用选定的预览Profile创建PreviewOutput对象。
    • 可以创建多个预览输出,以实现双路或多路预览。
  5. 配置并启动会话

    • 创建CaptureSession,并将CameraInput和PreviewOutput添加到会话中。
    • 配置会话后,启动会话以开始预览和获取视频流。
  6. 读取YUV数据

    • 从PreviewOutput中读取视频流数据,数据将以指定的YUV格式(如nv21)提供。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部