tencent cloud

实时音视频

动态与公告
产品动态
产品近期公告
关于 TRTC Live 正式上线的公告
关于TRTC Conference 正式版上线的公告
Conference 商业化版本即将推出
关于多人音视频 Conference 开启内测公告
关于音视频通话 Call 正式版上线的公告
关于腾讯云音视频终端 SDK 播放升级及新增授权校验的公告
关于 TRTC 应用订阅套餐服务上线的相关说明
产品简介
产品概述
基本概念
产品功能
产品优势
应用场景
性能数据
购买指南
计费概述
免费时长说明
月订阅
现收现付
TRTC 逾期与暂停政策
常见问题解答
退款说明
新手指引
Demo 体验
视频通话 SDK
组件介绍
开通服务
跑通 Demo
快速接入
离线唤醒
会话聊天
云端录制
AI 降噪
界面定制
Chat 集成通话能力
更多特性
无 UI 集成
服务端 API
客户端 API
解决方案
错误码表
发布日志
常见问题
视频会议 SDK
组件介绍(TUIRoomKit)
开通服务(TUIRoomKit)
跑通 Demo(TUIRoomKit)
快速接入(TUIRoomKit)
屏幕共享(TUIRoomKit)
预定会议(TUIRoomKit)
会中呼叫(TUIRoomKit)
界面定制(TUIRoomKit)
虚拟背景(TUIRoomKit)
会议控制(TUIRoomKit)
云端录制(TUIRoomKit)
AI 降噪(TUIRoomKit)
会中聊天(TUIRoomKit)
机器人推流(TUIRoomKit)
更多特性(TUIRoomKit)
客户端 API(TUIRoomKit)
服务端 API(TUIRoomKit)
常见问题(TUIRoomKit)
错误码 (TUIRoomKit)
SDK更新日志(TUIRoomKit)
直播与语聊 SDK
Live 视频直播计费说明
组件介绍
开通服务(TUILiveKit)
跑通 Demo
无 UI 集成
UI 自定义
直播监播
视频直播
语聊房
高级功能
客户端 API
服务端 API
错误码
发布日志
常见问题
RTC Engine
开通服务
SDK 下载
API-Example
接入指引
API-参考手册
高级功能
AI 集成
概述
MCP 配置
Skills 配置
集成指南
常见问题
RTC RESTFUL API
History
Introduction
API Category
Room Management APIs
Stream mixing and relay APIs
On-cloud recording APIs
Data Monitoring APIs
Pull stream Relay Related interface
Web Record APIs
AI Service APIs
Cloud Slicing APIs
Cloud Moderation APIs
Making API Requests
Call Quality Monitoring APIs
Usage Statistics APIs
Data Types
Appendix
Error Codes
控制台指南
应用管理
套餐包管理
用量统计
监控仪表盘
开发辅助
解决方案
实时合唱
常见问题
迁移指南
计费相关
功能相关
UserSig 相关
应对防火墙限制相关
缩减安装包体积相关
Andriod 与 iOS 相关
Web 端相关
Flutter 相关
Electron 相关
TRTCCalling Web 相关
音视频质量相关
其他问题
旧版文档
RTC RoomEngine SDK(旧)
集成 TUIRoom (Web)
集成 TUIRoom (Android)
集成 TUIRoom (iOS)
集成 TUIRoom (Flutter)
集成 TUIRoom (Electron)
TUIRoom API 查询
实现云端录制与回放(旧)
监控仪表盘计费(旧)
协议与策略
安全合规认证
安全白皮书
信息安全说明
服务等级协议
苹果隐私策略:PrivacyInfo.xcprivacy
TRTC 政策
隐私协议
数据处理和安全协议
词汇表

实现云端内容理解

PDF
聚焦模式
字号
最后更新时间: 2026-03-04 15:39:30

场景说明

在远程教育、秀场直播、视频会议、远程定损、金融双录、在线医疗等应用场景中,考虑取证、质检、审核、存档和回放等需求,常需要将整个视频通话或互动直播过程通过云端切片由第三方服务商进行内容分析理解的情况。

计费说明

通过 TRTC 发起的云端内容理解功能,TRTC 仅向您收取音频切片和视频截图的费用,同时第三方服务商将按照各自的计费规则向您收取云端内容理解费用。音频切片和视频截图的费用详情请参考 音频切片和视频截图计费说明

功能说明

通过 TRTC 的云端内容理解功能,您可以将房间中每一个用户的音视频流进行云端切片并送第三方服务商进行内容理解,无需客户端进行处理。

名词解释

云端审核:通过云端切片将音视频内容投递到第三方厂商,并获取到结果,通过回调的形式返回业务后台。
云端切片:包括音频切片和视频截图两个场景。
音频切片:将房间内的某一个用户的音频流按照一定的时间间隔进行切片处理,切片后为音频片段。
视频截图:将房间内的某一个用户的视频流按照一定的时间间隔进行截图处理,截图后为图片。
文件存储:支持将云端切片后的文件存储到对象存储 COS,AWS S3, 阿里云 OSS。
回调通知:我们支持回调通知的能力,通过配置您的回调域名,云端审核的事件状态会通知到您的回调服务器。

云端内容理解流程

依据您发起的云端内容理解请求,以及请求中提供的第三方服务商信息(您需要提前开通或购买第三方服务),通过云端内容理解接口,将云端内容理解任务中的音视频内容投递到第三方内容处理服务商进行处理。

如上图所示为单流录制的场景,房间1234里面主播1和主播2都上行了音视频流,假设您订阅了主播1和主播2的音视频流,并设置同时进行视频截图和音频切片审核,后台会分别拉取主播1和主播2的音视频流,并把他们切片成独立的截图文件和音频文件去到第三方内容理解服务商。
目前支持的审核服务商有:腾讯天御、数美、网易易盾。

API 接口和审核调用并发限制

云端内容理解接口的调用频率限制为20qps(如需提高 QPS 请 提交工单)。
单个接口超时时间为6秒。
单个应用下默认并发支持500路,超过并发限制的任务会失败,如需更多并发路数,请 提交工单 联系我们。
单次任务最大支持同时订阅的房间内主播数为25个,主播只上行音频也会单独占据一路。

云端内容理解任务执行流程

启动云端内容理解(CreateCloudModeration

通过您的后台服务调用 REST API (CreateCloudModeration)来启动云端内容理解任务,需要重点关注参数— 任务 ID(TaskId);这个参数是本次任务的唯一标识,您需要保存下这个任务 ID 作为后续针对这个任务接口操作的输入参数。
1. 发起云端内容理解任务的接口(CreateCloudModeration)
接口中需要您指定分配拉流机器人的进房参数 UserId 和 UserSig(如何获取 UserSig),请不要与您房间内的正常主播或观众使用的 UserId 重复且不可与正在拉流中的房间内指定的拉流机器人 UserId 一致,否则会导致录制任务失败。
2. 指定拉流用户(SubscribeModerationUserIds
您也可以通过参数 SubscribeModerationUserIds 指定想要拉流或者不想拉流的主播用户的黑白名单信息,当然我们也支持在任务的过程中进行更新操作。
3. 指定转存存储位置(ModerationStorageParams
存储位置:支持存储至AWS S3 或对象存储 COS,请通过在ModerationStorageParams 参数进行指定您的存储参数。
格式:图片切片文件为png, 音频切片文件为ogg
4. 指定内容理解任务服务商(ModerationSupplierParam

查询云端内容理解任务状态 (DescribeCloudModeration

如果需要,您可以调用该接口查询云端内容理解的任务状态。

修改云端内容理解任务状态(ModifyCloudModeration

如果需要,您可以调用该接口修改任务的参数,如订阅黑白名单 SubscribeModerationUserIds

停止云端内容理解任务(DeleteCloudModeration

成功开启云端内容理解任务后,可以使用此接口来停止。

云端内容理解回调

我们针对云端内容理解功能提供了多种的回调事件,帮助您及时了解云端内容理解任务的处理和完成情况

云端内容理解回调地址配置

实时音视频 TRTC 控制台支持自助配置回调信息,配置完成后即可接收事件回调通知。详细操作指引请参见 回调配置



回调接口

您可以提供一个接收回调的 HTTP/HTTPS 服务网关来订阅回调消息。当相关事件发生时,云端内容理解系统会回调事件通知到您的消息接收服务器。
事件回调消息格式:HTTP/HTTPS POST 请求发送给您的服务器,其中:
字符编码格式:UTF-8。
请求:body 格式为 JSON。
应答:HTTP STATUS CODE = 200,服务端忽略应答包具体内容,为了协议友好,建议您的应答内容携带 JSON: {"code":0}。

云端内容理解回调事件

参数说明

事件回调消息的 header 中包含以下字段:
字段名
Content-Type
application/json
Sign
签名值
SdkAppId
SDK 应用 ID 值
事件回调消息的 body 中包含以下字段:
字段名
类型
含义
EventGroupId
Number
事件组 ID, 云端内容理解事件组固定为11。
EventType
Number
回调通知的事件类型。
CallbackTs
Number
事件回调服务器向您的服务器发出回调请求的 Unix 时间戳,单位为毫秒。
EventInfo
JSON Object
事件信息。

事件类型说明

字段名
类型
含义
EVENT_TYPE_CLOUD_Moderation_START
1101
云端内容理解模块启动。
EVENT_TYPE_CLOUD_Moderation_STOP
1102
云端内容理解模块退出。
EVENT_TYPE_CLOUD_Moderation_SEND_START
1103
云端内容理解任务开始启动。
EVENT_TYPE_CLOUD_Moderation_TASK_INFO
1104
云端内容理解结果回调。
EVENT_TYPE_CLOUD_Moderation_SEND_STOP
1105
云端内容理解结束送审。
EVENT_TYPE_CLOUD_Moderation_UPLOAD_ERROR
1106
云端内容理解投递模块发生错误。

事件信息说明

字段名
类型
含义
RoomId
String/Number
房间名(类型与客户端房间号类型一致)。
EventTs
Number
事件发生的 Unix 时间戳,单位为秒 (不建议使用该字段,建议使用 EventMsTs)。
EventMsTs
Number
事件发生的 Unix 时间戳,单位为毫秒。
UserId
String
拉流机器人的用户 ID。
TaskId
String
任务 ID,一次云端内容理解任务唯一的 ID。
Payload
JsonObject
根据不同事件类型定义不同。
事件类型为1101 EVENT_TYPE_CLOUD_Moderation_START 时 Payload 的定义:
字段名
类型
含义
Status
Number
0:代表模块启动成功。
1:代表模块启动失败。
{
"EventGroupId": 11,
"EventType": 1101,
"CallbackTs": 1726125338219,
"EventInfo": {
"RoomId": "960025",
"EventTs": 1726125338,
"EventMsTs": 1726125338219,
"UserId": "inspect",
"TaskId": "-npVqpdU7sBobiK1iskE3BwlLIebCMrbKUbnL4K-rO+8oZWQndib9uvO4Deq9P1Na+sXGNGNuAE."
"Payload": {
"Status": 0
}
}
}
事件类型为1102 EVENT_TYPE_CLOUD_Moderation_STOP 时 Payload 的定义:
字段名
类型
含义
LeaveCode
Number
0:代表云端内容理解模块正常调用停止审核退出。
1:拉流机器人被客户踢出房间。
2:客户解散房间。
3:服务器将拉流机器人踢出。
4:服务器解散房间。
99:代表房间内除了拉流机器人没有其他用户流,超过指定时间退出。
100:房间超时退出。
101:同一用户重复进入相同房间导致机器人退出。
{
"EventGroupId": 11,
"EventType": 1102,
"CallbackTs": 1729601782073,
"EventInfo": {
"RoomId": "975626",
"EventTs": "1729601782",
"EventMsTs": 1729601782073,
"UserId": "SliceTaskDuration1-partner-robot",
"TaskId": "-nHRjqhU7gTG0UIL-MquzG8D0Q+wehTbVTeeIIK-rO+8oZWQndibtueIpQ8A0F3n9PEVRk0rngE.",
"Payload": {
"LeaveCode": 99
}
}
}
事件类型为1103 EVENT_TYPE_CLOUD_Moderation_SEND_START 时 Payload 的定义:
字段名
类型
含义
Status
Number
0:代表开始发送切片文件。
{
"EventGroupId": 11,
"EventType": 1103,
"CallbackTs": 1726750023538,
"EventInfo": {
"RoomId": "295210",
"EventTs": 1726750023,
"EventMsTs": 1726750023538,
"UserId": "inspect",
"TaskId": "-nHwXIdU7mJvL22pFsXZ-v7OgEzq1OzbNXe9L4K-4pycoZWQndib3ZfzqN7Wq+AdiPLMBLxd0gE.",
"Payload": {
"Status": 0
}
}
}

审核结果

事件类型为1104 EVENT_TYPE_CLOUD_Moderation_FILE_INFO 时 Payload 的定义:
字段名
类型
含义
DataId
String
云端内容理解任务 ID。
RequestId
String
第三方内容理解供应商请求 ID。
MediaType
Number
1:语音。
2:图片。
Suggest
Number
0:建议通过。
1 :建议人工复审。
2:建议屏蔽。
Label
String
Normal:正常文本
Ad:广告
Porn:色情
Abuse:谩骂
Illegal: 违禁
Polity: 涉政
Terror: 暴恐
Sexy: 性感
QRCode: 二维码
Custom: 自定义
Image
String
用户桶图片路径。
Audio
String
用户桶音频路径。
AudioText
String
音频识别文本。
CheckDetail
对象
云端内容理解详细结果。
Keywords
[]String
关键词。
Score
Number
置信度分数。
AudioSegments
对象
音频切片位置信息。
ImageLocation
对象
图片命中坐标信息。
音频审核结果示例:
{
"EventGroupId": 11,
"EventType": 1104,
"CallbackTs": 1726750309161,
"EventInfo": {
"RoomId": "963239",
"EventTs": 1735872251,
"EventMsTs": 1735872251524,
"UserId": "TRTCModerationCase2-user0",
"StreamerUserId": "SliceCustomUploadCase6-user0",
"TaskId": "-m9lm+lU7tOlL2mFgsPuzHeyNThbhZzbJlKQI4K-raO8oZWQndibARGYcSDohF0Zfgo7RNCuGQE.",
"Payload": {
"DataId": "547512114953106866",
"RequestId": "",
"MediaType": 1,
"Suggest": 2,
"Label": "Polity",
"Image": "",
"Rate": 100,
"Audio": "https://x.xx.com/-m9lm+lU7tOlL2mFgsPuzHeyNThbhZzbJlKQI4K-raO8oZWQndibARGYcSDohF0Zfgo7RNCuGQE./547512114835666354.ogg",
"AudioText": "xxxxxx。",
"CheckDetail": [
{
"Label": "Polity",
"Suggest": 2,
"Keywords": [
"XXX"
],
"Score": 100,
"Desc": "",
"AudioSegments": {},
"ImageLocation": {}
}
]
}
}
}
图片审核结果示例:
{
"EventGroupId": 11,
"EventType": 1104,
"CallbackTs": 1726750309161,
"EventInfo": {
"RoomId": "963239",
"EventTs": 1735872251,
"EventMsTs": 1735872251524,
"UserId": "TRTCModerationCase2-user0",
"StreamerUserId": "SliceCustomUploadCase6-user0",
"TaskId": "-m9lm+lU7tOlL2mFgsPuzHeyNThbhZzbJlKQI4K-raO8oZWQndibARGYcSDohF0Zfgo7RNCuGQE.",
"Payload": {
"DataId": "554678038156038407",
"RequestId": "a82e0175-65ed-46b5-a656-45814aea1c60",
"MediaType": 2,
"Suggest": 2,
"Label": "Ad",
"Image": "https://trtcauto-sg-1311572968.cos.ap-singapore.myqcloud.com/prefix1/prefix2/-nHlf1xU7tsdRVBjLsog0ZX9T62DtVjbNguMJYK-58aNM6KipeDPAfrKt1aejC8ipMaphfYxAQ../TianyuModerationCase3-user1/images/20005067_963715_TianyuModerationCase3-user1_20250221211113.png",
"ImageOcr": "活字文化 Moveable TVo 我永远不能再回家的疼痛;",
"Rate": 90,
"Audio": "",
"AudioText": "",
"CheckDetail": [
{
"Scene": "Ad",
"Label": "Normal",
"Suggest": 2,
"Keywords": [],
"Score": 90,
"AudioSegments": {},
"ImageLocation": {}
}
]
}
}
}
事件类型为1105 EVENT_TYPE_CLOUD_Moderation_SEND_STOP 时 Payload 的定义:
字段名
类型
含义
Status
Number
结束任务。
{
"EventGroupId": 11,
"EventType": 1105,
"CallbackTs": 1726751347072,
"EventInfo": {
"RoomId": "295211",
"EventTs": 1726751347,
"EventMsTs": 1726751347072,
"UserId": "inspect",
"TaskId": "-nHwXIdU7jx6C00Nt8Vr+3h4GwYdP7zbeHi9L4K-4pycoZWQndibqFeEaV4LvjFqSuQvaAkrNQE.",
"Payload": {
"Status": 0
}
}
}
事件类型为1106 EVENT_TYPE_CLOUD_Moderation_SEND_ERROR 时 Payload 的定义:
字段名
类型
含义
Code
Number
COS 或者第三方存储错误码。
Message
String
COS 或者第三方存储错误消息。
{
"EventGroupId": 11,
"EventType": 1106,
"CallbackTs": 1726751347072,
"EventInfo": {
"RoomId": "295211",
"EventTs": 1726751347,
"EventMsTs": 1726751347072,
"UserId": "inspect",
"TaskId": "-nHwXIdU7jx6C00Nt8Vr+3h4GwYdP7zbeHi9L4K-4pycoZWQndibqFeEaV4LvjFqSuQvaAkrNQE.",
"Payload": {
"Code": 10002,
"Message": "BadRequest"
}
}
}

审核文件管理

发起云端内容理解云 API 请求时,可以通过 ModerationParams.SaveModerationFile 参数配置控制是否转存命中文件。后台会指定需要转存的命中文件上传到您指定的云存储平台(对象存储 COS,AWS S3或者 阿里云 OSS)。

转存文件命名说明

音频切片默认命名为:
{您的桶名称}/{taskId}/{userId}/audios/{sdkappid}_{roomId}_{userid}_{UTC时间}.ogg
视频截图图片默认命名为:
{您的桶名称}/{taskId}/{userId}/images/{sdkappid}_{roomId}_{userid}_{UTC时间}.png

字段含义说明

字段
含义
<taskId>
云端内容理解的任务 ID。
<sdkappid>
云端内容理解任务的 SdkAppId。
<roomId>
云端内容理解的房间号。
<userid>
主播用户 ID。
<UTC时间>
当前时间字符串 例如:20250106143143。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈