云信美颜

更新时间: 2024/09/18 16:26:13

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

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

前提条件

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

注意事项

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

示例项目源码

网易云信提供云信美颜的示例项目源码 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 基础美颜、高级美颜的实现方法如下:

  • 若您使用的是 V4.6.20 之前版本的 NERTC SDK,请先向商务经理获取美颜相关的资源文件,包括 beauty 文件夹、model.dat 文件和 netease.lic 文件,并将其放置在本地项目的 assets 目录下。
  • 若您使用的是 V4.6.20 及之后版本的 NERTC SDK,具体集成方式请参考集成 SDK
    • 若您是手动集成 SDK,请将 beauty 文件夹和 model.dat 文件放置在本地项目的 assets 目录下。
    • 若您是Maven 集成 SDKbeauty 文件夹和 model.dat 文件已经和SDK一起打包发布到maven仓库,集成时会自动将将 beauty 文件夹和 model.dat 文件放置在本地项目的 assets 目录下。
  1. 启用美颜模块。

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

  2. 调整美颜效果。

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

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

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

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

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

    • false: 暂停美颜。暂停后,所有美颜和滤镜效果都会暂时取消,直至重新启用美颜效果。
    • true: 恢复美颜。
  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. 请向云信商务经理获取对应的滤镜资源。将滤镜资源放到 assets 目录下,App 启动后再把 assets\filter_portrait 目录下您需要的滤镜效果拷贝到 SD 卡上,下图以 filter_style_FN1 滤镜为例。

    滤镜资源目录.png

  2. 启用美颜模块。

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

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

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

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

    参数
    说明
    path 指定滤镜模型在 SD 卡上的绝对路径。
    level 指定滤镜强度,取值范围为 [0,1],默认为 0.5。取值越大,滤镜越明显,请根据业务需要自定义设置滤镜强度
  4. 您可以通过setBeautyFilterLevel 设置滤镜强度。

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

  6. 结束美颜模块。

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

示例代码

// 1. 准备美颜相关资源
// 将assets下的相关资源拷贝到/sdcard/Android/data/your.pkg.name下

// 2.开启美颜
NERtcEx.getInstance().startBeauty();

// 3. 根据需要调用setBeautyEffect,addBeautyFilter接口来设置美颜及强度,滤镜效果
NERtcEx.getInstance().setBeautyEffect(NERtcBeautyEffectType beautyType, float level);
NERtcEx.getInstance().addBeautyFilter(String path);

// 4. 根据需要是否暂停美颜功能,false: 暂停美颜,true: 恢复美颜
NERtcEx.getInstance().enableBeauty(boolean enable);

// 5. 根据需要设置filter强度
NERtcEx.getInstance().setBeautyFilterLevel(float level);

// 6. 最终不再使用美颜功能时,通过stopBeauty来结束美颜功能,销毁美颜引擎并释放资源。
NERtcEx.getInstance().stopBeauty();
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 注意事项
  • 示例项目源码
  • 基础美颜
  • 高级美颜
  • 开通高级美颜
  • 实现方法
  • 高级美颜枚举值
  • 滤镜
  • 示例代码