保利威文档中心

幫助中心

虛擬背景

更新時間: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,
});
联系客服,在线咨询