Web视频通话时怎么美颜?教你3步轻松搞定!
功能简介
我们在视频通话、直播等场景中,为用户呈现出良好的肌肤状态,打造独特自然的美颜效果。我们需要使用到美颜功能,通过调整美白、磨皮、锐化以及红润的程度,轻松实现最佳的视频效果。
那么我们如何使用 ZEGO SDK 实现这样的效果呢?
支持美颜功能的浏览器如下表:
浏览器 | 兼容版本 |
---|---|
Chrome | 65 及以上 |
Firefox | 70 及以上 |
Safari | 12 ~14 或 15.2 及以上 |
Edge | 80 及以上 |
移动端浏览器 | 不支持 |
微信内嵌网页 | 不支持 |
示例源码下载
请参考 下载示例源码 获取源码。
相关源码请查看 “src/Examples/Others/EffectsBeauty” 目录下的文件。
前提条件
在实现美颜功能之前,请确保:
- 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频功能,详情请参考 快速开始 - 集成 和 快速开始 - 实现流程。
- 已在 ZEGO 控制台 创建项目,并申请有效的 AppID,详情请参考 控制台 - 项目管理 中的“项目信息”。
使用步骤
- 在
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)
关闭。
// 创建流,zg 为 ZegoExpressEngine 实例对象。
const localStream = await zg.createStream();
const enable = true;
// 开启美颜
// setEffectsBeauty 是 Promise 异步方法,异步函数执行完美颜才完成开启。
await zg.setEffectsBeauty(
localStream,
enable,
{
sharpenIntensity: 50,
whitenIntensity: 50,
rosyIntensity: 50,
smoothIntensity: 50
}
)
// 开始推流
// 如果是推流前开启美颜,需要等待美颜开启完成才能进行推流。
zg.startPublishingStream("stream1", localStream);
// 关闭美颜
await zg.setEffectsBeauty(localStream, false);
获取Demo
音视频场景解决方案分享,更多详情可搜索官网(https://zegoguanwang.datasink.sensorsdata.cn/t/pB)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!