简介
本文档提供关于直播审核相关的 API 概览和 SDK 示例代码。
提交直播审核任务
功能说明
本接口用于提交一个直播流审核任务。直播流审核功能为异步任务方式,您可以通过提交直播流审核任务审核您的直播流,然后通过查询直播流审核任务接口查询审核结果。
方法原型
public Guzzle\\Service\\Resource\\Model detectLiveVideo(array $args = array());
请求示例
<?phprequire dirname(__FILE__, 2) . '/vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->detectLiveVideo(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Type' => 'live_video','Input' => array('Url' => 'rtmp://example.com/live/123', // 直播流地址// 'DataId' => '',// 'UserInfo' => array(// 'TokenId' => '',// 'Nickname' => '',// 'DeviceId' => '',// 'AppId' => '',// 'Room' => '',// 'IP' => '',// 'Type' => '',// ),),'Conf' => array('Callback' => '',// 'CallbackType' => 1,'BizType' => '07d41bbb5a3a93dca4xxxxxxxxxxx', // 审核策略),'StorageConf' => array('Path' => 'xxx',),));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
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 | 否 |
返回结果示例
GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYTA4YTlfZmNjYTNiMGFfNGM2MV8zMTM1ODQ=[ContentType] => application/xml[ContentLength] => 322[JobsDetail] => Array([JobId] => avd61e00d8116f11ec953452540024deb5[State] => Submitted[CreationTime] => 2021-09-09T21:14:17+08:00)[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/video/auditing)
取消直播审核任务
功能说明
本接口用于取消一个在进行中的直播审核任务,成功取消后将返回已终止任务的 JobID。
方法原型
public Guzzle\\Service\\Resource\\Model cancelLiveVideoAuditing(array $args = array());
请求示例
<?phprequire dirname(__FILE__, 2) . '/vendor/autoload.php';$secretId = "SECRETID"; //替换为用户的 secretId,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$secretKey = "SECRETKEY"; //替换为用户的 secretKey,请登录访问管理控制台进行查看和管理,https://console.cloud.tencent.com/cam/capi$region = "ap-beijing"; //替换为用户的 region,已创建桶归属的region可以在控制台查看,https://console.cloud.tencent.com/cos5/bucket$cosClient = new Qcloud\\Cos\\Client(array('region' => $region,'schema' => 'https', // 审核时必须为https'credentials'=> array('secretId' => $secretId ,'secretKey' => $secretKey)));try {$result = $cosClient->cancelLiveVideoAuditing(array('Bucket' => 'examplebucket-1250000000', //存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucket'Key' => '', // jobId));// 请求成功print_r($result);} catch (\\Exception $e) {// 请求失败echo($e);}
参数说明
Request 中的具体数据描述如下:
参数名称 | 类型 | 描述 | 是否必填 |
Bucket | String | 存储桶名称,格式:BucketName-APPID。 | 是 |
Key | String | 任务 ID。 | 是 |
返回结果示例
GuzzleHttp\\Command\\Result Object([RequestId] => NjEzYTA4YTlfZmNjYTNiMGFfNGM2MV8zMTM1ODQ=[ContentType] => application/xml[ContentLength] => 322[JobsDetail] => Array([JobId] => avd61e00d8116f11ec953452540024deb5[CreationTime] => 2021-09-09T21:14:17+08:00)[Bucket] => examplebucket-1250000000[Location] => examplebucket-1250000000.ci.ap-guangzhou.myqcloud.com/video/cancel_auditing)