第三方美颜
更新时间: 2024/08/05 15:02:55
在社交娱乐或教育场景中,用户在进行视频通话或直播的过程中,常常希望向对方呈现良好的肌肤状态和精神面貌。NERTC SDK 提供了采集数据回调的 API 方法,帮助您轻松接入相芯等第三方专业美颜滤镜厂商,以完善业务场景。
相芯美颜的详细功能介绍请参见人脸特效。
注意事项
- 该设置仅在加入房间之前设置才有效。
- 若 NERTC SDK 版本号低于3.7.0,需要在初始化 NERTC SDK 之前调用
setParameters
方法。 onNERtcEngineVideoFrameCaptured: rotation:
回调必须同步返回,且保证 CVPixelBufferRef 的地址值不被改变,分辨率不改变。
配置步骤
- 通过
setParameters
接口,将kNERtcKeyVideoCaptureObserverEnabled
的值设置为 @(1),设置摄像头采集数据的回调。 - 在成功加入房间后调用
enableLocalVideo
方法开启本地视频采集。调用
enableLocalVideo
开启本地视频采集时,请设置streamType
为kNERtcStreamChannelTypeMainStream
,否则美颜效果不会生效。 - 在代理方法
onNERtcEngineVideoFrameCaptured:rotation:
中,根据需求对回调回来的视频数据做相应的美颜处理。
示例代码
objc// 配置音视频引擎,将摄像头采集的数据回调给用户
NERtcEngine *coreEngine = [NERtcEngine sharedEngine];
NSDictionary *params = @{
kNERtcKeyPublishSelfStreamEnabled: @YES, // 打开推流
kNERtcKeyVideoCaptureObserverEnabled: @YES // 将摄像头采集的数据回调给用户
};
[coreEngine setParameters:params];
NERtcEngineContext *context = [[NERtcEngineContext alloc] init];
context.engineDelegate = self;
context.appKey = @"<#请输入您的AppKey#>";
[coreEngine setupEngineWithContext:context];
[coreEngine enableLocalVideo:YES streamType:kNERtcStreamChannelTypeMainStream];
// 在代理方法中对视频数据进行处理
- (void)onNERtcEngineVideoFrameCaptured:(CVPixelBufferRef)bufferRef rotation:(NERtcVideoRotationType)rotation
{
// 对视频数据 bufferRef 进行处理, 务必保证 CVPixelBufferRef 的地址值不变,分辨率不变
}
API 参考
方法 | 功能描述 |
---|---|
enableLocalVideo |
开启本地视频采集。 |
setParameters |
设置摄像头采集数据的回调。 |
onNERtcEngineVideoFrameCaptured:rotation: |
视频帧数据回调。 |
此文档是否对你有帮助?