保利威文档中心

帮助中心

虚拟背景

更新时间:2024-06-21 18:34:41

最近更新时间:2024-06-14

一、功能说明

本文将介绍如何在通话过程中实现虚拟背景的功能。功能展示如下:

原始摄像头 背景图片
fake_back fake_back01

二、提前准备

  • 请确保已开通该功能,可联系销售开通。

  • TRTC Web SDK 版本 >= 5.2.0。

  • Web 平台各系统及配置要求如下表:fack_back001

三、操作步骤

1. 引入并注册插件

import { VirtualBackground } from 'trtc-sdk-v5/plugins/video-effect/virtual-background';

let trtc = TRTC.create({ plugins: [VirtualBackground] });

2. 开启本地摄像头

await trtc.startLocalVideo();

3. 开启虚拟背景插件

await trtc.startPlugin('VirtualBackground', {
  sdkAppId: 123123,
  userId: 'userID_123',
  userSig: 'your_userSig'
});

4. 按需更新参数

// 改为图片背景
await trtc.updatePlugin('VirtualBackground', {
  type: 'image',
  src: 'https://picsum.photos/seed/picsum/200/300'
});

5. 关闭虚拟背景

await trtc.stopPlugin('VirtualBackground');

四、API 说明

trtc.startPlugin('VirtualBackground', options)

用于开启虚拟背景。

Name Type Attributes Description
sdkAppId number 必填 当前应用 ID
userId string 必填 当前用户 ID
userSig string 必填 用户 ID 对应的 UserSig
type string 选填 image图片背景
blur虚化背景(默认)
src string type 为image时必填 图片地址,如 https://picsum.photos/seed/picsum/200/300
onError (event) => {} 选填 运行过程中发生错误的回调event.extraCode=10000003 渲染耗时长event.extraCode=10000006 浏览器特性支持不足,可能会出现卡顿情况推荐处理方法可参考 常见问题

Example:

await trtc.startPlugin('VirtualBackground', {
  sdkAppId: 123123,
  userId: 'userID_123',
  userSig: 'your_userSig',
  type: 'image',
  src: 'https://picsum.photos/seed/picsum/200/300'
});

trtc.updatePlugin('VirtualBackground', options)

可修改虚拟背景参数。

options

Name Type Attributes Description
type string 选填 image图片背景blur虚化背景(默认)
src string type 为image时必填 图片地址,如 https://picsum.photos/seed/picsum/200/300

Example:

await trtc.updatePlugin('VirtualBackground', {
  type: 'blur'
});

trtc.stopPlugin('VirtualBackground')

关闭虚拟背景。

五、常见问题

1. 在 Chrome 中运行 Demo 发现画面颠倒且卡顿?

本插件使用 GPU 进行加速,您需要在浏览器设置中找到使用硬件加速模式并启用。可以将chrome://settings/system复制到浏览器地址栏,并且打开硬件加速模式。

2. 当设备性能不足造成延迟高,提示渲染耗时长?

可通过监听事件,降低视频分辨率或者帧率。

function onError(event) {
    const { extraCode } = event;
    if (extraCode === 10000003 || extraCode === 10000006) {
        // 降低分辨率帧率
        await trtc.updateLocalVideo({
            option: {
                profile: '480p_2'
            },
        });
        // await trtc.stopPlugin('VirtualBackground'); // 或者关闭插件  
   }
}

await trtc.startPlugin('VirtualBackground', {
    ...// 其他参数
    onError,
});



联系客服,在线咨询