功能簡介
我們在視頻通話、直播等場景中,為用戶呈現出良好的肌膚狀態,打造獨特自然的美顏效果,我們需要使用到美顏功能,通過調整美白、磨皮、銳化以及紅潤的程度,輕松實作最佳的視頻效果,
那么我們如何使用 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
獲取本文的Demo、開發檔案、技術支持,
獲取SDK的商務活動、熱門產品,
注冊即構ZEGO開發者帳號,快速開始,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/493398.html
標籤:其他
