Web视频通话时怎么美颜?教你3步轻松搞定!

打印 上一主题 下一主题

主题 550|帖子 550|积分 1650

功能简介

我们在视频通话、直播等场景中,为用户呈现出良好的肌肤状态,打造独特自然的美颜效果。我们需要使用到美颜功能,通过调整美白、磨皮、锐化以及红润的程度,轻松实现最佳的视频效果。
那么我们如何使用 ZEGO SDK 实现这样的效果呢?

支持美颜功能的浏览器如下表:
浏览器兼容版本Chrome65 及以上Firefox70 及以上Safari12 ~14 或 15.2 及以上Edge80 及以上移动端浏览器不支持微信内嵌网页不支持示例源码下载

请参考 下载示例源码 获取源码。
相关源码请查看 “src/Examples/Others/EffectsBeauty” 目录下的文件。
前提条件

在实现美颜功能之前,请确保:
使用步骤


  • 在 createStream 获取到媒体流后,通过 ZegoExpressEngine 实例调用 setEffectsBeauty 接口开启基础美颜功能,并可以根据需要通过 ZegoEffectsBeautyParam 的 4 个参数设置美颜效果。


  • smoothIntensity:磨皮,在保留脸部细节的基础上进行磨皮,比如脸上的痣会保留。
  • whitenIntensity:美白,对画面整体调高亮度来美白脸部。
  • rosyIntensity:红润,对画面整体进行暖色处理。
  • sharpenIntensity:锐化,对画面整体进行锐化处理,当画面有些模糊时可以稍微调大锐化使轮廓清晰。
以上四个参数的取值范围都为 0 ~ 100,取值越大美颜程度越高,默认值为 50。

  • 如果在推流前开启美颜,需要等待美颜开启完成后再调用 startPublishingStream 接口推流。
  • 美颜效果与对应的 MediaStream 绑定,当调用 useVideoDevice、replaceTrack 接口时不会改变 MediaStream 的美颜效果。
  • 美颜处理占用资源并消耗性能,当不需要使用美颜时请及时调用 zg.setEffectsBeauty(localStream,false) 关闭。
  • 当调用 destroyStream 销毁流的同时 SDK 会关闭美颜效果,其他情况 SDK 不会自动关闭美颜,需要自行调用 zg.setEffectsBeauty(localStream,false) 关闭。
  1. // 创建流,zg 为 ZegoExpressEngine 实例对象。
  2. const localStream = await zg.createStream();
  3. const enable = true;
  4. // 开启美颜
  5. // setEffectsBeauty 是 Promise 异步方法,异步函数执行完美颜才完成开启。
  6. await zg.setEffectsBeauty(
  7.     localStream,
  8.     enable,
  9.     {
  10.         sharpenIntensity: 50,
  11.         whitenIntensity: 50,
  12.         rosyIntensity: 50,
  13.         smoothIntensity: 50
  14.     }
  15. )
  16. // 开始推流
  17. // 如果是推流前开启美颜,需要等待美颜开启完成才能进行推流。
  18. zg.startPublishingStream("stream1", localStream);
  19. // 关闭美颜
  20. await zg.setEffectsBeauty(localStream, false);
复制代码
获取Demo

获取本文的Demo、开发文档、技术支持。
获取SDK的商务活动、热门产品。
注册即构ZEGO开发者帐号,快速开始。

来源:https://www.cnblogs.com/zegodeveloper/p/16351094.html
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

羊蹓狼

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表