云信美颜

更新时间: 2024/10/25 17:24:37

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

4.6.20 版本 NERTC SDK 起,网易云信美颜功能支持 插件化 集成,请在集成时引入美颜库 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 会自动销毁美颜引擎并释放资源。

示例代码

Java// 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();
此文档是否对你有帮助?
有帮助
去反馈
  • 前提条件
  • 注意事项
  • 示例项目源码
  • 基础美颜
  • 高级美颜
  • 开通高级美颜
  • 实现方法
  • 高级美颜枚举值
  • 滤镜
  • 示例代码