tencent cloud

对象存储

提交直播审核任务

下载
聚焦模式
字号
最后更新时间: 2026-01-19 14:16:09

功能描述

本接口用于提交一个直播流审核任务。直播流审核功能为异步任务方式,您可以通过提交直播流审核任务审核您的直播流,然后通过查询直播流审核任务接口查询审核结果。
该接口支持情况如下:
说明:
支持审核视频直播,例如娱乐直播、线上授课等场景。
支持审核语音直播,例如语音聊天房、在线会议等场景。
支持对直播流进行自动检测,从 OCR 文本识别、物体检测(实体、广告台标、二维码等)、图像识别及音频审核四个维度,通过深度学习技术,识别直播流中的违规内容。
支持设置回调地址 Callback 获取检测结果,或通过 查询直播审核任务结果 主动轮询获取审核结果详情。
支持识别多种违规场景,包括:色情、违法、广告等场景。
支持根据不同的业务场景 配置自定义的审核策略。
支持用户自定义配置风险库,打击自定义违规内容。

费用说明

直播流的审核分为直播画面审核、直播声音审核,其中:
直播画面审核:通过直播流截帧将直播流截取为多张图片进行审核。
直播声音审核:将直播流声音分离出来进行音频审核。
每个审核场景单独计费,例如您选择审核涉黄、广告两种场景,则审核1个直播流,计2次审核费用。
调用接口会产生直播审核费用。
说明:
直播审核不会产生截帧费用,已合并至审核费用中。

限制说明

直播流时长支持:5小时以内。
直播流分辨率支持:最大支持1920x1080 (1080p)。
支持的直播流媒体协议:rmtp、hls、http、https 等主流协议。
默认并发审核路数限制:10路,超过并发审核路数,接口会返回错误。

推荐使用 SDK

对象存储 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口。点此查看 SDK 文档。

请求

请求示例

POST /video/auditing HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>
说明:
Authorization: Auth String (详情请参见 请求签名 文档)。
通过子账号使用时,需要授予相关的权限,详情请参见 数据万象授权粒度详情 文档。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体。
<Request>
<Type>live_video</Type>
<Input>
<Url></Url>
<DataId></DataId>
</Input>
<Conf>
<BizType></BizType>
<Callback></Callback>
<CallbackType></CallbackType>
</Conf>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
无
直播流审核的具体配置项。
Container
是
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Type
Request
审核的任务类型,直播流审核固定为 live_video。
String
是
Input
Request
包含需要审核的直播流信息。
Container
是
Conf
Request
包含审核规则的配置信息。
Container
是
StorageConf
Request
包含直播流转存的配置信息。
Container
否
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Url
Request.Input
需要审核的直播流播放地址,例如 rtmp://example.com/live/123。
String
是
DataId
Request.Input
该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。
String
否
UserInfo
Request.Input
自定义字段,可用于辅助行为数据分析。
Container
否
Container 节点 UserInfo 的内容:
节点名称(关键字)
父节点
描述
类型
是否必选
TokenId
Request.Input.UserInfo
一般用于表示账号信息,长度不超过128字节。
String
否
Nickname
Request.Input.UserInfo
一般用于表示昵称信息,长度不超过128字节。
String
否
DeviceId
Request.Input.UserInfo
一般用于表示设备信息,长度不超过128字节。
String
否
AppId
Request.Input.UserInfo
一般用于表示 App 的唯一标识,长度不超过128字节。
String
否
Room
Request.Input.UserInfo
一般用于表示房间号信息,长度不超过128字节。
String
否
IP
Request.Input.UserInfo
一般用于表示 IP 地址信息,长度不超过128字节。
String
否
Type
Request.Input.UserInfo
一般用于表示业务类型,长度不超过128字节。
String
否
ReceiveTokenId
Request.Input.UserInfo
一般用于表示接收消息的用户账号,长度不超过128字节。
String
否
Gender
Request.Input.UserInfo
一般用于表示性别信息,长度不超过128字节。
String
否
Level
Request.Input.UserInfo
一般用于表示等级信息,长度不超过128字节。
String
否
Role
Request.Input.UserInfo
一般用于表示角色信息,长度不超过128字节。
String
否
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
BizType
Request.Conf
表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,例如涉黄、广告、违法违规等,配置指引: 设置审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。
String
是
Callback
Request.Conf
回调地址,以http://或者https://开头的地址。
String
否
CallbackType
Request.Conf
回调片段类型,有效值:1(回调全部截帧和音频片段)、2(仅回调违规截帧和音频片段)。默认为 1。
Integer
否
Container 类型 StorageConf 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Path
Request.StorageConf
表示直播流所要转存的路径,直播流的 ts 文件和 m3u8 文件将保存在本桶该目录下。m3u8 文件保存文件名为 Path/{$JobId}.m3u8,ts 文件的保存文件名为 Path/{$JobId}-{$Realtime}.ts,其中 Realtime 为17位年月日时分秒毫秒时间。
String
否

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<JobsDetail>
<DataId></DataId>
<JobId></JobId>
<State></State>
<CreationTime></CreationTime>
</JobsDetail>
<RequestId></RequestId>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
无
直播流审核返回的具体响应内容。
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
JobsDetail
Response
直播流审核任务的详细信息。
Container
RequestId
Response
每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。
String
Container 节点 JobsDetail 的内容:
节点名称(关键字)
父节点
描述
类型
DataId
Response.JobsDetail
请求中添加的唯一业务标识。
String
JobId
Response.JobsDetail
本次直播流审核任务的 ID。
String
State
Response.JobsDetail
直播流审核任务的状态,值为 Submitted(已提交审核)、Success(审核成功)、Failed(审核失败)、Auditing(审核中)其中一个。
String
CreationTime
Response.JobsDetail
直播流审核任务的创建时间。
String

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求

POST /video/auditing HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0e****
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Type>live_video</Type>
<Input>
<Url>rtmp://example.com/live/123</Url>
<DataId>123-fdrsg-123</DataID>
</Input>
<Conf>
<Callback>http://callback.com/</Callback>
<BizType>b81d45f94b91a683255e9a9506f45a11</BizType>
</Conf>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<JobsDetail>
<DataId>123-fdrsg-123</DataID>
<JobId>vab1ca9fc8a3ed11ea834c525400863904</JobId>
<State>Submitted</State>
<CreationTime>2021-08-07T12:12:12+0800</CreationTime>
</JobsDetail>
<RequestId>xxxxxxxxxxxxxx</RequestId>
</Response>


帮助和支持

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

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

文档反馈