AI Real-Time Subtitles
功能介绍
接入 TUIRoomKit 后,您可以通过点击底部栏的 "AI 助手" 开启 AI 实时字幕功能,该功能可实现:
AI 实时字幕:将会议过程中的讨论内容以字幕形式进行显示。
AI 实时会议记录:将会议过程中的讨论内容以文字形式记录下来。
注意:


功能接入
步骤1: 开启本地后台服务
注意:
开启 AI 转录需要用到用户的云 id 与 key,敏感度较高,因此不在客户端集成此接口,您需要自己在您的业务后台增加 StartAITranscription 相关代码,此处以 Nodejs 服务为例,如果您的后台服务为其它语言,可点击调试,生成对应语言事例代码。
require('dotenv').config();const express = require('express');const tencentcloud = require('tencentcloud-sdk-nodejs-trtc');const cors = require('cors')const TrtcClient = tencentcloud.trtc.v20190722.Client;// 从环境变量中获取腾讯云账户 SecretId 和 SecretKey// 入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。// 以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取const secretId = process.env.TENCENT_SECRET_ID || '';const secretKey = process.env.TENCENT_SECRET_KEY || '';const region = process.env.TENCENT_REGION || '';const clientConfig = {credential: {secretId: secretId,secretKey: secretKey,},region: region,profile: {httpProfile: {endpoint: 'trtc.tencentcloudapi.com',},},};const client = new TrtcClient(clientConfig);const app = express();app.use(express.json());app.use(cors());app.post('/start', async (req, res) => {const { SdkAppId, RoomId, RoomIdType = 1, UserId, UserSig } = req.body;const params = {SdkAppId: SdkAppId,RoomId: RoomId,RoomIdType: RoomIdType,TranscriptionParams: {UserId: UserId,UserSig: UserSig,},};try {const data = await client.StartAITranscription(params);console.log('success',data)res.status(200).json(data);} catch (err) {console.error('error', err);res.status(500).json({ error: err.message });}});app.post('/stop', async (req, res) => {const { TaskId } = req.body;try {const data = await client.StopAITranscription({ TaskId: TaskId });res.status(200).json(data);} catch (err) {console.error('error', err);res.status(500).json({ error: err.message });}});const port = process.env.PORT || 3000;app.listen(port, () => {console.log(`Server is running on port ${port}`);});
步骤2: Roomkit 开启 AI 助手功能
注意:
Roomkit 仅进行 AI字幕/会议总结 的数据处理,实际 ASR 的开启时机是客户端用户进房,此处您可根据自己的业务需求调整时机。
<template><conference-main-view display-mode="permanent"></conference-main-view></template><script setup lang="ts">import { roomService } from '@tencentcloud/roomkit-web-vue3';// 在 conference-main-view 组件 onmounted 之前调用roomService.setComponentConfig({ AIControl: { visible: true } });</script>


步骤3:Roomkit 监听用户进房,调用 node 服务,开启 AI 转录。
<template><conference-main-view display-mode="permanent"></conference-main-view></template><script setup lang="ts">import { conference } from '@tencentcloud/roomkit-web-vue3';import { startAITranscription } from '../http';const handleAITask = (data: {roomId: string}) => {const { roomId } = data;startAITranscription({RoomId: roomId,UserId: 'robot', // 此处需要一个机器人用户,以 robot 为例,此处不能与房间内用户的 userId 一样,建议使用 robotUserSig: 'xxx', // robot 对应的 userSigSdkAppId: sdkAppId,RoomIdType: 1, // 房间类型为字符串房间});};conference.on(RoomEvent.ROOM_JOIN, handleAITask);conference.on(RoomEvent.ROOM_START, handleAITask);onUnmounted(() => {conference.off(RoomEvent.ROOM_JOIN, handleAITask);conference.off(RoomEvent.ROOM_START, handleAITask);});</script>
// http.tsimport axios from 'axios';const http = axios.create({baseURL: 'http://localhost:3000', // 您的 Node.js 服务地址timeout: 10000, // 请求超时时间});interface TranscriptionParams {SdkAppId: number;RoomId: string;RoomIdType?: number;UserId: string;UserSig: string;}interface StopParams {TaskId: string;}// 启动 AI 转写任务export function startAITranscription(params: TranscriptionParams) {return http.post('/start', params);}// 停止 AI 转写任务export function stopAITranscription(params: StopParams) {return http.post('/stop', params);}
说明:
如果您在接入和使用过程有任何需要或者反馈,您可以联系:info_rtc@tencent.com。