RTC 提供基础美颜插件,你可以通过此插件实现美白、磨皮、锐化等基础美颜功能。

功能变更日志
  1. 自 Web SDK v4.47 起,本功能可用。

  2. Web SDK v4.52 对本功能做了如下修改:

    • 注册插件后,美颜不再默认开启,需要调用 enableBeauty 开启美颜。
    • 开启美颜的接口名由 enable 变更为 enableBeauty,关闭美颜的接口名由 disable 变更为 disableBeauty,原接口废弃。
    • 优化该功能的浏览器兼容性,由支持在桌面端 Chrome 94+、Edge 94+ 上使用变更为支持在桌面端 Chrome 70+、 Edge 83+、Safari 12+、Firefox 80+ 上使用,即与当前 Web SDK 浏览器兼容性下限一致。
前提条件
  1. RTC SDK v4.47+ 你需要集成 RTC SDK,并实现音视频通话功能。

  2. 基础美颜功能兼容性与 Web SDK 浏览器兼容性一致,不建议在移动端使用本功能。

  3. 为了更好的使用体验,建议设备满足以下要求:

    1. 双核 Intel Core i5+

    2. RAM 8 GB+

    3. 64 位操作系统

  4. 如果你使用了云代理功能,你需要在防火墙白名单中添加基础美颜域名,参看在防火墙限制下进行通话。

操作步骤
  1. 在你的项目中引入美颜插件:
    • 可以直接引入。
    import RTCBeautyExtension from '@volcengine/rtc/extension-beauty';
    
    typescript
    • 自 v4.51.1 版本起,可以通过 UMD 方式引入。
    const {EffectBeautyMode, RTCBeautyExtension} = window.VERTCExtensions;
    
    typescript
  2. 注册美颜插件。

注意

注册插件后,无法动态修改视频流帧率。你可以在注册插件前调用 setVideoEncoderConfig 修改帧率。

import VERTC from '@volcengine/rtc';

// 创建引擎实例
const engine = VERTC.createEngine('appid');

// 创建美颜插件实例
const beautyExtension = new RTCBeautyExtension();
// 注册美颜插件
try {
  await engine.registerExtension(beautyExtension);
} catch (error) {
  // 注册失败,详细信息:error.message
}
typescript
  1. 开始视频采集,并设置渲染视图及模式。 示例代码以内部采集为例,如需使用外部采集,参看 setVideoSourceType。

注意

基础美颜仅对主流、本地流生效,不支持屏幕流、远端流。即 StreamIndex 必须为 STREAM_INDEX_MAIN。

// 开启内部视频采集
engine.startVideoCapture();
// 设置本地视频渲染时使用的视图,并设置渲染模式。
engine.setLocalVideoPlayer(StreamIndex.STREAM_INDEX_MAIN, {
  renderDom: 'yourDomId'
});
typescript
  1. 设置基础美颜参数,包括美白、磨皮、锐化。参看 setBeautyIntensity。
import { EffectBeautyMode } from '@volcengine/rtc/extension-beauty';

// 美颜参数设置-美白
beautyExtension.setBeautyIntensity(EffectBeautyMode.EFFECT_WHITE_MODE, 0.2);
// 美颜参数设置-磨皮
beautyExtension.setBeautyIntensity(EffectBeautyMode.EFFECT_SMOOTH_MODE, 0.2);
// 美颜参数设置-锐化
beautyExtension.setBeautyIntensity(EffectBeautyMode.EFFECT_SHARPEN_MODE, 0.2);
typescript
  1. 开启基础美颜。

说明

如调用本方法前未调用 setBeautyIntensity 设置参数,则基础美颜强度使用默认值。

// 开启美颜
beautyExtension.enableBeauty();
typescript
  1. 关闭基础美颜。

说明

若关闭基础美颜后再次调用 enableBeauty 开启基础美颜,则保留上次的美颜强度设置。若销毁引擎,则美颜强度恢复为默认值。

// 关闭美颜
beautyExtension.disableBeauty();
typescript
API 参考
IRTCBeautyExtension

类型: interface

方法描述
checkCompatibility测试当前浏览器兼容性情况。
enableBeauty开启基础美颜。
disableBeauty关闭基础美颜。
setBeautyIntensity设置基础美颜强度。
checkCompatibility

测试当前浏览器兼容性情况。

enableBeauty

开启基础美颜。

disableBeauty

关闭基础美颜。

setBeautyIntensity

设置基础美颜强度。

CompatibilityCheckResult

类型: interface

兼容性测试结果。

isCompatible

类型: boolean

是否兼容。

true:符合兼容性最低要求,可正常运行。
false:不兼容,无法正常运行。

reasons

类型: number[]

不兼容的原因。

EffectBeautyMode

类型: enum

基础美颜模式。