第三方美颜

更新时间: 2023/04/23 03:16:17

在社交娱乐或教育场景中,用户在进行视频通话或直播的过程中,常常希望向对方呈现良好的肌肤状态和精神面貌。NERoom SDK 提供了采集数据回调的 API 方法,帮助您轻松接入第三方专业美颜滤镜厂商,以完善业务场景。

功能介绍

NERoom SDK 提供 videoFrameCaptured 回调用于接收相机采集数据。APP 在美颜后将数据返回给 SDK,SDK 对美颜后的数据进行预览以及编码发送。

预览美颜效果

配置步骤

  1. 调用 previewRoom 方法开启房间预览。
  2. 调用 addRoomListener 方法添加监听,在成功开启摄像头采集后可以触发相关回调。
  3. 调用 startPreview 方法开启视频预览。
  4. 开启视频预览成功后,SDK 会触发 videoFrameCaptured 回调。您可根据 CVPixelBuffer 包含的图片相关属性以及视频旋转角度 NERoomVideoRotationType 进行后续的美颜处理。

示例代码

    let canvas = NERoomVideoView()
    canvas.container = UIView(frame: xxx)

    NERoomKit.shared().roomService.previewRoom(NEPreviewRoomParams()) { [weak self] code, string, preRoomContext in
        guard let self = self, let roomContext = preRoomContext else { return }
        // 添加监听 
        roomContext.previewController.addRoomListener(self)
        let code = roomContext.previewController.startPreview(canvas: canvas)
        if code == 0 {
            print("Successfully start preview.")
        } else {
            print("Failed to start preview. Code: \(code)")
        }
    }

    // 开启预览成功会触发回调, 可进行美颜处理
     func videoFrameCaptured(_ bufferRef: CVPixelBuffer, rotation: NERoomVideoRotationType)

房间内开启美颜

配置步骤

  1. 调用 getRoomContext 方法获取房间上下文。调用此方法时,您需要将 roomUuid 设置为您所加入房间的 ID。
  2. 调用 addRoomListener 方法添加监听,在成功开启摄像头采集后可以触发 videoFrameCaptured 回调。您可根据 CVPixelBuffer 包含的图片相关属性以及视频旋转角度 NERoomVideoRotationType 进行后续的美颜处理。

示例代码

    let roomContext = NERoomKit.shared().roomService.getRoomContext(roomUuid: "房间ID")

    guard let roomContext = roomContext else {
        return
    }
    // 添加监听
    roomContext.rtcController.addRoomListener(self)
    // 开启摄像头成功会触发回调, 可进行美颜处理
     func videoFrameCaptured(_ bufferRef: CVPixelBuffer, rotation: NERoomVideoRotationType)

API 参考

方法 功能描述
previewRoom 开启房间预览。
addRoomListener 添加视频监听。
startPreview 开启摄像头预览。
videoFrameCaptured 摄像头采集回调。
getRoomContext 获取房间上下文。
此文档是否对你有帮助?
有帮助
去反馈
  • 功能介绍
  • 预览美颜效果
  • 配置步骤
  • 示例代码
  • 房间内开启美颜
  • 配置步骤
  • 示例代码
  • API 参考