使用人像分割

实现虚拟背景需要在初始化时启用人像分割模块,详情请参见 自定义流内置相机
注意:
虚拟背景暂不支持小程序。

设置背景

SDK 支持设置模糊背景、图片背景,支持在初始化参数中透传:
const config = {
module: {
beautify: true, // 是否启用美颜模块,启用后可以使用美颜、美妆、贴纸等功能
segmentation: true // 是否启用人像分割模块,启用后可以使用背景功能
},
auth: authData, // 鉴权参数
input: stream, // input传输入流
beautify: { // 初始化美颜参数(可选)
whiten: 0.1,
dermabrasion: 0.3,
eye: 0.2,
chin: 0,
lift: 0.1,
shave: 0.2
},
background: {
type: 'blur' // 模糊背景
}
}
const sdk = new ArSdk(
// 传入一个 config 对象用于初始化 sdk
config
)
SDK 也支持动态修改背景:
sdk.setBackground({
type: 'image', // 图片背景
src: 'https://webar-static.tencent-cloud.com/assets/background/1.jpg'
})

透明背景

SDK 在部分浏览器中支持透明背景:
sdk.setBackground({
type: 'transparent'
})
注意
由于浏览器的兼容性问题,请注意以下几点:
人像分割同时支持移动端及桌面端浏览器。
仅能在本地处理并展示透明背景,WebRTC 不支持编码透明通道,推流会使透明背景失效。
透明背景效果仅支持桌面端的 Chrome/Firefox,桌面端 Safari 及 iOS 端均不支持。