相芯美颜

更新时间: 2024/03/15 17:25:04

NERTC SDK 支持接入相芯等第三方专业美颜滤镜厂商,实现美颜、美妆、滤镜、贴纸等美颜特效。在娱乐社交、在线教育等场景中,您可以快速构建具备美颜特效能力的应用,让用户在进行视频通话或直播时,呈现更良好的肌肤状态和精神面貌。

相芯美颜(Faceunity Nama SDK,下文简称 Nama SDK)的详细功能介绍请参见人脸特效

准备工作

  1. 下载相芯美颜 SDK
  2. 获取相芯美颜 SDK 的证书,具体请联系网易云信商务经理。
  3. 获取相芯美颜资源文件,具体请联系网易云信商务经理。

功能原理

相芯美颜原理.png

  1. NERTC SDK 提供了onCaptureVideoFrame 采集数据回调的接口,将采集到的视频图像数据通过该接口回调出来。

  2. Nama SDK 通过回调获取视频图像数据,进行美颜处理后,通过参数返回给 NERTC SDK。

  3. NERTC SDK 将美颜后的数据进行编码和传输。

注意事项

  • 该设置仅在加入房间之前设置才有效。

  • onCaptureVideoFrame 回调必须同步返回,且保证 data 的地址值不被改变,分辨率不改变。

示例项目源码

网易云信提供第三方美颜的示例项目源码,您可以参考该源码实现第三方美颜。

实现方法

步骤1 集成相芯美颜

  1. 将证书文件 authpack.h 放到本地项目的 Beauty目录下。

  2. 将所需的美颜模型和道具放到本地项目的 Resource 目录下。

  3. 集成相芯美颜 SDK,具体步骤请参见Faceunity Nama 相关文档

步骤2 初始化相芯美颜 SDK

具体步骤请参见Faceunity Nama 相关文档

步骤3 视频图像处理

  1. 调用 setParameters 接口,将 kNERtcKeyEnableVideoCaptureObserver 的值设置为 YES,开启摄像头采集数据的回调。
  • V5.3.0 及之后版本需要执行该步骤。
  • V4.6.X 版本请忽略该步骤。
  1. 在成功加入房间后,调用 enableLocalVideo 方法开启本地视频采集,并设置 NERtcVideoStreamTypekNERTCVideoStreamMain,否则美颜效果不会生效。

  2. 在代理方法 onCaptureVideoFrame中,将原始视频图像数据通过回调发给相芯美颜的接口,做相应的美颜处理。

    相关参数的含义如下:

    参数名称 参数含义
    data 采集视频数据
    type 视频类型
    width 视频宽度。
    height 视频高度
    count 视频 plane count
    offset 视频 offset
    stride 视频 stride
    rotation 视频旋转角度
  3. 调用相芯美颜的接口,从 NERTC 回调中获取原始视频图像数据,对视频图像数据进行美颜处理,美颜后的视频数据再通过参数返回给 NERTC 代理。

示例代码

c++std::string params("{\"enable_video_capture_observer\":1}");
rtcEngine->setParameters(params.c_str());

rtcEngine->enableLocalVideo(nertc::kNERTCVideoStreamMain, true);

void onCaptureVideoFrame(void *data,
    NERtcVideoType type,
    uint32_t width,
    uint32_t height,
    uint32_t count,
    uint32_t offset[kNERtcMaxPlaneCount],
    uint32_t stride[kNERtcMaxPlaneCount],
    NERtcVideoRotation rotation)
{
    //请自行实现美颜相关逻辑
}

步骤4 设置美颜效果

美颜、美妆、滤镜、贴纸效果的具体参数设置,请参见 Faceunity Nama 相关文档

API 参考

方法 功能描述
enableLocalVideo 开启本地视频采集。
setParameters 设置摄像头采集数据的回调。
onCaptureVideoFrame 视频帧数据回调。
此文档是否对你有帮助?
有帮助
去反馈
  • 准备工作
  • 功能原理
  • 注意事项
  • 示例项目源码
  • 实现方法
  • 步骤1 集成相芯美颜
  • 步骤2 初始化相芯美颜 SDK
  • 步骤3 视频图像处理
  • 步骤4 设置美颜效果
  • API 参考