云信美颜

更新时间: 2024/03/15 17:20:45

NERTC SDK 提供云信自研的基础美颜和高级美颜功能,帮助用户在音视频通话或互动直播场景中,对人脸进行美肤、美型等美颜调整,或通过画面滤镜改变视频的色调与氛围。

  • 自 V5.4.5 起,云信美颜功能支持插件化集成,请在集成时按需引入对应的美颜库 com.netease.game.rtc.beauty-*.tgz ,具体集成方式请参考集成 SDK(音视频)

  • 插件只能打包成应用才会生效,在unity editor 中无法使用

前提条件

  • 请在官网首页通过在线消息、微信或电话联系云信商务经理,获取对应的美颜资源或模型。
  • 基础美颜可以免费使用。高级美颜需要开通授权才能正式使用,未开通的高级美颜时,只能在调用高级美颜时体验2分钟高级美颜效果。请在云信控制台开通高级美颜,具体请参见开通高级美颜
  • 已集成 NERTC SDK,并实现了基础音视频通话或互动直播流程。

注意事项

调用 EnableLocalVideo 开启本地视频采集时,请设置 RtcVideoStreamTypekNERTCVideoStreamMain ,否则美颜效果不会生效。

基础美颜

云信基础美颜可免费使用。

云信基础美颜支持美白、磨皮、红润和锐化 4 种效果,程度可调节,具体参数如下表所示。

分类 枚举值 描述
美肤 美白 kNERtcBeautyWhiten 强度范围 0~1,默认值为 0,推荐值为 0.80
磨皮 kNERtcBeautySmooth 强度范围 0~1,默认值为 0,推荐值为 0.65
红润 kNERtcBeautyFaceRuddy 强度范围 0~1,默认值为 0,推荐值为 0.30
锐化 kNERtcBeautyFaceSharpen 强度范围 0~1,默认值为 0,推荐值为 0.10

基础美颜的实现方法和高级美颜一样,具体步骤请参见高级美颜中的实现方法

高级美颜

云信高级美颜支持美白、磨皮、瘦脸、大眼等多种美肤、美型效果。

开通高级美颜

  1. 登录网易云信控制台

  2. 在首页单击指定应用名称。

  3. 产品总览区域,单击音视频通话 2.0 产品选项卡中的功能配置

    功能配置.png

  4. 单击高级功能页签,单击 高级美颜 的开关按钮,开启高级美颜。

    开通高级美颜.png

  5. 单击确定

实现方法

NERTC SDK 基础美颜、高级美颜的实现方法如下:

  1. 向商务经理获取最新版本的美颜资源和模型。将美颜资源放到 StreamingAssets\nebeauty\beauty 目录下

    • 如果是 Android 平台,App 启动后再把 beauty 目录下您需要的美颜资源和模型拷贝到 SD 卡上。
    • 如果是 iOS、 windows、macOS平台, App 启动后不需要再拷贝美颜资源和模型。
  2. 启用美颜模块。

    在开启视频之前,调用 StartBeauty 开启美颜功能模块。

    filePath 中设置美颜资源的绝对路径。例如:e:StreamingAssets\nebeauty\beauty

  3. (可选)暂停和恢复美颜功能。

    启用美颜功能后,您可以调用 EnableBeauty暂停或恢复美颜功能,参数说明如下:

    • false: 暂停美颜。暂停后,所有美颜和滤镜效果都会暂时取消,直至重新启用美颜效果。
    • true: 恢复美颜。
  4. 调整美颜效果。

    调用 SetBeautyEffect 手动设置各种美颜效果,并调整对应的效果强度,具体参数请参见高级美颜枚举值

    参数
    说明
    type 用于指定美颜效果。目前支持美白、磨皮等美颜效果。
    level 用于指定美颜强度。取值范围为 [0,1],各种美颜效果的默认值不同。取值越大,美颜强度越大,请根据业务需要自定义设置美颜强度。

    美白、磨皮等美颜效果可以互相叠加,也可以和滤镜效果互相叠加,但是不能同时使用多款滤镜。

  5. 结束美颜模块。

    无需使用美颜效果时,需要调用 StopBeauty 结束美颜功能模块,此时 SDK 会自动销毁美颜引擎并释放资源。

高级美颜枚举值

高级美颜目前有 28 种效果,程度可调节,且包含了基础美颜的 4 种效果。

分类
枚举值
描述
美肤 美白 kNERtcBeautyWhiten 强度范围 0~1,默认值为 0,推荐值为 0.80
磨皮 kNERtcBeautySmooth 强度范围 0~1,默认值为 0,推荐值为 0.65
红润 kNERtcBeautyFaceRuddy 强度范围 0~1,默认值为 0,推荐值为 0.30
锐化 kNERtcBeautyFaceSharpen 强度范围 0~1,默认值为 0,推荐值为 0.10
脸型 瘦脸 kNERtcBeautyThinFace 强度范围 0~1,默认值为 0,推荐值为 0.35
V 脸 kNERtcBeautyVFace 强度范围 0~1,默认值为 0,推荐值为 0.00
窄脸 kNERtcBeautyNarrowFace 强度范围 0~1,默认值为 0,推荐值为 0.00
小脸 kNERtcBeautySmallFace 强度范围 0~1,默认值为 0,推荐值为 0.10
面部 瘦颧骨 kNERtcBeautyCheekBone 强度范围 0~1,默认值为 0,推荐值为 0.30
瘦下颌 kNERtcBeautyUnderJaw 强度范围 0~1,默认值为 0,推荐值为 0.30
瘦下巴 kNERtcBeautyJaw 强度范围 0~1,默认值为 0,推荐值为 0.40
人中调整 kNERtcBeautyPhiltrum 强度范围 0~1,默认值为 0.50,推荐值为 0.50
袪抬头纹 kNERtcBeautyForeheadWrinkles 强度范围 0~1,默认值为 0,推荐值为 0.30
袪法令纹 kNERtcBeautySmileLines 强度范围 0~1,默认值为 0,推荐值为 0.30
短脸 kNERtcBeautyShortFace 强度范围 0~1,默认值为 0,推荐值为 0.10
眼睛 大眼 kNERtcBeautyBigEye 强度范围 0~1,默认值为 0,推荐值为 0.30
圆眼 kNERtcBeautyRoundEye 强度范围 0~1,默认值为 0,推荐值为 0.80
亮眼 kNERtcBeautyLightEye 强度范围 0~1,默认值为 0,推荐值为 0.60
开眼角 kNERtcBeautyEyeCorner 强度范围 0~1,默认值为 0,推荐值为 0.30
眼距调整 kNERtcBeautyEyeDis 强度范围 0~1,默认值为 0.50,推荐值为 0.50
眼角调整 kNERtcBeautyEyeAngle 强度范围 0~1,默认值为 0.50,推荐值为 0.50
袪黑眼圈 kNERtcBeautyDarkCircles 强度范围 0~1,默认值为 0,推荐值为 0.30
鼻子 小鼻 kNERtcBeautySmallNose 强度范围 0~1,默认值为 0,推荐值为 0.40
鼻长调整 kNERtcBeautyLongNose 强度范围 0~1,默认值为 0.50,推荐值为 0.50
嘴巴 美牙 kNERtcBeautyWhiteTeeth 强度范围 0~1,默认值为 0,推荐值为 0.30
嘴角调整 kNERtcBeautyMouthAngle 强度范围 0~1,默认值为 0.50,推荐值为 0.50
嘴型调整 kNERtcBeautyMouth 强度范围 0~1,默认值为 0.50,推荐值为 0.50
嘴巴宽度 kNERtcBeautyMouthWider 强度范围 0~1,默认值为 0.50,推荐值为 0.50(不调整宽度)

滤镜

云信美颜支持通过美颜资源或模型打造多种个性化的滤镜。

  1. 请向云信商务经理获取最新版本的滤镜资源。将滤镜资源放到 StreamingAssets\nebeauty\filters 目录下。

    如果是 Android 平台,App 启动后再把 filters 目录下您需要的滤镜资源拷贝到 SD 卡上。

  2. 启用美颜模块。

    在开启视频之前,调用 StartBeauty 开启美颜功能模块。开启美颜功能之后才能使用美颜、滤镜等美颜效果。

  3. 调用 AddBeautyFilter 添加滤镜效果。

    滤镜效果可以和美颜等效果互相叠加,但是不支持叠加多个滤镜。

    需要更换滤镜时,重复调用此接口使用新的滤镜资源即可。

    参数
    说明
    filePath 指定滤镜模型所在路径。例如 e:\StreamingAssets\nebeauty\filters\filter_style_白皙\template.json
  4. 您可以通过SetBeautyFilterLevel 设置滤镜强度。

    滤镜强度的取值范围为 [0,1],默认为 0.5。取值越大,滤镜越明显,请根据业务需要自定义设置滤镜强度。

  5. 不需要使用滤镜效果时,调用 RemoveBeautyFilter 移除滤镜。

  6. 结束美颜模块。

    无需使用美颜效果时,需要调用 StopBeauty 结束美颜功能模块,此时 SDK 会自动销毁美颜引擎并释放资源。

示例代码

c++
IRtcEngine rtcEngine = IRtcEngine.GetInstance();
private void StartBeauty()
{
    //启用美颜模块
    //path:云信美颜路径(iOS、Mac库文件自带了美颜资源,所有path传null)
    rtcEngine.StartBeauty(path);

    //开启美颜功能
    rtcEngine.EnableBeauty(true);

    //调整美颜效果
    //type:美颜类型
    //level:美颜强度
    RtcBeautyEffectType type = RtcBeautyEffectType.kNERtcBeautyWhiteTeeth;
    rtcEngine.SetBeautyEffect(type, level);

    //滤镜
    //filter_file_path 是滤镜效果文件的路径
    rtcEngine.AddBeautyFilter(filter_file_path);

    //设置滤镜强度
    //val:滤镜强度
    rtcEngine.SetBeautyFilterLevel(val);

    //取消滤镜效果
    rtcEngine.RemoveBeautyFilter();

}

private void StopBeauty()
{
    //关闭美颜功能
    rtcEngine.EnableBeauty(false);

    //结束美颜,释放美颜库资源
    rtcEngine.StopBeauty();
}


此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 注意事项
  • 基础美颜
  • 高级美颜
  • 开通高级美颜
  • 实现方法
  • 高级美颜枚举值
  • 滤镜
  • 示例代码