云信美颜

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

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

自 V4.6.20 起,云信美颜功能支持插件化集成,请在集成时引入美颜库 NERtcBeauty.framework NERtcFaceDetect.framework,具体集成方式请参考集成 SDK

前提条件

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

注意事项

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

示例项目源码

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

基础美颜

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

云信基础美颜支持美白、磨皮、红润和锐化 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. 启用美颜模块。

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

    若您使用的是 V4.6.20 之前版本的 NERTC SDK,请在完成美颜模块的初始化后,调用 addTempleteWithPath 加载美颜资源。

    参数说明如下表所示。

    参数
    说明
    path 设置为美颜资源 beauty 文件夹的绝对路径。例如:/NEBeauty/beauty_prj/data/beauty/nebeauty/beauty/
    name 设置为美颜资源或模型文件的名称。例如:template.json

    注意引入存放美颜资源的 beauty 文件夹时,必须以 folder reference 的方式进行引用。

  2. 调整美颜效果。

    您可以通过 setBeautyEffectWithValue 手动设置各种美颜效果,并调整对应的效果强度,具体请参见高级美颜枚举值

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

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

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

    美颜功能启用后,您可以通过 isOpenBeauty 暂停和恢复美颜功能,参数说明如下:

    • NO:暂停美颜功能。暂停后,所有美颜和滤镜效果都会暂时取消,直至重新启用美颜效果。
    • YES: 恢复美颜功能。
  4. 结束美颜模块。

    无需使用美颜效果时,需要调用 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. 请在官网首页右侧通过在线消息、微信或电话联系云信商务经理,获取对应的美颜资源或模型。

  2. 启用美颜模块。

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

    若您使用的是 V4.6.20 之前版本的 NERTC SDK,请在完成美颜模块的初始化后,调用 addTempleteWithPath 加载美颜资源。

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

    您可以通过filterStrength 设置滤镜强度。

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

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

    参数 说明
    path 指定滤镜模型所在路径。
    name 指定滤镜资源或模型文件的名称。例如:template.json
    level 指定滤镜强度,取值范围为 [0,1],默认为 0.5。取值越大,滤镜越明显,请根据业务需要自定义设置滤镜强度
  4. 不需要使用滤镜效果时,调用 removeBeautyFilter 移除滤镜。

  5. 结束美颜模块。

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

示例代码

//开启美颜模块
[[NERtcBeauty shareInstance] startBeauty];

//添加资源模板
NSString *templatePath = @"templatePath";
[[NERtcBeauty shareInstance] addTempleteWithPath: templatePath andName: @"template.json"];

//打开美颜功能
[NERtcBeauty shareInstance].isOpenBeauty = YES;

//设置美颜参数
NERtcBeautyEffectType effectType;
float value = 0.5;
[[NERtcBeauty shareInstance] setBeautyEffectWithValue:value atType:effectType];

//添加滤镜
NSString *filterPath = @"filterPath";
[[NERtcBeauty shareInstance] addBeautyFilterWithPath:filterPath andName:@"template.json"];
//移除滤镜
[[NERtcBeauty shareInstance] removeBeautyFilter];


//关闭美颜功能
[NERtcBeauty shareInstance].isOpenBeauty = NO;

//关闭美颜模块,释放资源
[[NERtcBeauty shareInstance] stopBeauty];
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 注意事项
  • 示例项目源码
  • 基础美颜
  • 高级美颜
  • 开通高级美颜
  • 实现方法
  • 高级美颜枚举值
  • 滤镜
  • 示例代码