第三方美颜
更新时间: 2023/04/23 03:16:17
在社交娱乐或教育场景中,用户在进行视频通话或直播的过程中,常常希望向对方呈现良好的肌肤状态和精神面貌。NERoom SDK 提供了采集数据回调的 API 方法,帮助您轻松接入第三方专业美颜滤镜厂商,以完善业务场景。
功能介绍
NERoom SDK 提供 videoFrameCaptured 回调用于接收相机采集数据。APP 在美颜后将数据返回给 SDK,SDK 对美颜后的数据进行预览以及编码发送。
预览美颜效果
配置步骤
- 调用 previewRoom 方法开启房间预览。
- 调用 addRoomListener 方法添加监听,在成功开启摄像头采集后可以触发相关回调。
- 调用 startPreview 方法开启视频预览。
- 开启视频预览成功后,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)
房间内开启美颜
配置步骤
- 调用 getRoomContext 方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 - 调用 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 | 获取房间上下文。 |
此文档是否对你有帮助?