文档中心>对象存储

提交视频标签任务

最近更新时间:2023-09-22 10:58:32

我的收藏

功能描述

提交一个视频标签任务。


请求

请求示例

POST /jobs 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>
<Tag>VideoTag</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON<CallBackFormat>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
创建任务的 Tag:VideoTag
String
Input
Request
待操作的媒体信息
Container
Operation
Request
操作规则
Container
QueueId
Request
任务所在的队列 ID
String
CallBackFormat
Request
任务回调格式,JSON 或 XML,默认 XML,优先级高于队列的回调格式
String
CallBackType
Request
任务回调类型,Url 或 TDMQ,默认 Url,优先级高于队列的回调类型
String
CallBack
Request
任务回调地址,优先级高于队列的回调地址。设置为 no 时,表示队列的回调地址不产生回调
String
CallBackMqConfig
Request
任务回调 TDMQ 配置,当 CallBackType 为 TDMQ 时必填。详情见 CallBackMqConfig
Container
Container 类型 Input 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Object
Request.Input
执行视频标签任务的媒体文件名,目前支持 mp4、avi、mkv、wmv、rmvb、flv、mov 封装格式,视频时长超过30min的视频请 提交工单 处理
String
Container 类型 Operation 的具体数据描述如下:

节点名称(关键字)
父节点
描述
类型
是否必选
VideoTag
Request.Operation
指定该 VideoTag 任务参数
Container
JobLevel
Request.Operation
任务优先级,级别限制:0 、1 、2。级别越大任务优先级越高,默认为0
String
UserData
Response.JobsDetail.Operation
透传用户信息
String
Container 类型 VideoTag 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
限制
Scenario
Request.Operation.VideoTag
场景类型,可选择视频标签的运用场景,不同的运用场景使用的算法、输入输出等都会有所差异
string
当前版本只适配 Stream 场景

响应

响应头

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

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response>
<JobsDetail>
<Code>Success</Code>
<Message/>
<JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
<State>Submitted</State>
<CreationTime>2022-06-27T15:23:10+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoTag</Tag>
<Input>
<BucketId>test-123456789</BucketId>
<Object>input/demo.mp4</Object>
<Region>ap-chongqing</Region>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>
具体的数据内容如下:
节点名称(关键字)
父节点
描述
类型
Response
保存结果的容器
Container
Container 节点 Response 的内容:
节点名称(关键字)
父节点
描述
类型
JobsDetail
Response
任务的详细信息
Container
Container 节点 JobsDetail 的内容:

节点名称(关键字)
父节点
描述
类型
Code
Response.JobsDetail
错误码,只有 State 为 Failed 时有意义
String
Message
Response.JobsDetail
错误描述,只有 State 为 Failed 时有意义
String
JobId
Response.JobsDetail
新创建任务的 ID
String
Tag
Response.JobsDetail
新创建任务的 Tag:VideoTag
String
State
Response.JobsDetail
任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个
String
CreationTime
Response.JobsDetail
任务的创建时间
String
StartTime
Response.JobsDetail
任务的开始时间
String
EndTime
Response.JobsDetail
任务的结束时间
String
QueueId
Response.JobsDetail
任务所属的队列 ID
String
Input
Response.JobsDetail
该任务的输入资源地址
Container
Operation
Response.JobsDetail
该任务的规则
Container
Container 节点 Input 的内容:
节点名称(关键字)
父节点
描述
类型
Region
Response.JobsDetail.Input
存储桶的地域
String
Bucket
Response.JobsDetail.Input
存储结果的存储桶
String
Object
Response.JobsDetail.Input
输出结果的文件名
String
Container 节点 Operation 的内容:
节点名称(关键字)
父节点
描述
类型
VideoTag
Response.JobsDetail.Operation
同请求中的 Request.Operation.VideoTag
Container
VideoTagResult
Response.JobsDetail.Operation
视频标签分析结果,任务未完成时不返回
Container
UserData
Response.JobsDetail.Operation
透传用户信息
String
JobLevel
Response.JobsDetail.Operation
任务优先级
String
Container 节点 VideoTagResult 的内容:
节点名称(关键字)
父节点
描述
类型
StreamData
Response.JobsDetail.Operation.VideoTagResult
Stream 场景下视频标签任务的结果
Container
Container 节点 StreamData 的内容:
节点名称(关键字)
父节点
描述
类型
Data
Response.JobsDetail.Operation.VideoTagResult.StreamData
Stream 场景视频标签任务的结果列表
Container
SubErrCode
Response.JobsDetail.Operation.VideoTagResult.StreamData
算法状态码,成功为0,非0异常
Container
SubErrMsg
Response.JobsDetail.Operation.VideoTagResult.StreamData
算法错误描述,成功为 ok , 不成功返回对应错误
Container
Container 节点 Data 的内容:
节点名称(关键字)
父节点
描述
类型
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
视频标签、视频分类信息
Container
PersonTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
人物标签信息
Container
PlaceTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
场景标签信息
Container
ActionTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
动作标签信息
Container
ObjectTags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data
物体标签信息
Container
Container 节点 Tags (视频标签)的内容:
节点名称(关键字)
父节点
描述
类型
Tag
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
标签名称
String
TagCls
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
标签分类名称
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
标签模型预测分数,取值范围[0,1]
Float
Container 节点 Tags (视频分类)的内容:
节点名称(关键字)
父节点
描述
类型
Tag
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
视频分类名称
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
标签模型预测分数,取值范围[0,1]
Float
Container 节点 PersonTags 的内容:
节点名称(关键字)
父节点
描述
类型
Name
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
人物名字
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
标签模型预测分数
Float
Count
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
任务出现频次
String
DetailPerSecond
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags
具体识别到人物出现的位置和时间信息
Container
Container 节点 DetailPerSecond 的内容:
节点名称(关键字)
父节点
描述
类型
TimeStamp
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
出现时间,单位为秒
String
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
标签模型预测分数
Float
BBox
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond
左上角为原点,物体的相对坐标
Container
Container 节点 BBox 的内容:
节点名称(关键字)
父节点
描述
类型
X1
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
坐标X1的相对位置
String
Y1
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
坐标Y1的相对位置
String
X2
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
坐标X2的相对位置
String
Y2
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
坐标Y2的相对位置
String
Container 节点 PlaceTags 的内容:
节点名称(关键字)
父节点
描述
类型
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
视频场景标签信息,可能不返回,内容同 Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container
StartTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
片段起始时间,单位为秒
String
EndTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
片段结束时间,单位为秒
String
StartIndex
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
片段起始帧数
String
EndIndex
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
片段结束帧数
String
ClipFrameResult
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PlaceTags
单帧识别结果top1
String
Container 节点 ActionTags 的内容:
节点名称(关键字)
父节点
描述
类型
Tags
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
视频动作标签信息,可能不返回,内容同 Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container
StartTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
片段起始时间,单位为秒
String
EndTime
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ActionTags
片段结束时间,单位为秒
String
Container 节点 ObjectTags 的内容:
节点名称(关键字)
父节点
描述
类型
Objects
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags
视频物体标签信息,可能不返回,内容同 Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.Tags
Container
TimeStamp
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags
识别物体时间戳,单位为秒
String
Container 节点 Object 的内容:
节点名称(关键字)
父节点
描述
类型
Name
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
物体名称
Container
Confidence
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
标签模型预测分数,取值范围[0,1]
Float
BBox
Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.ObjectTags.Objects
左上角为原点,物体的相对坐标, 内容同 Response.JobsDetail.Operation.VideoTagResult.StreamData.Data.PersonTags.DetailPerSecond.BBox
Container

错误码

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

实际案例

请求

POST /jobs 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=28e9a4986df11bed0255e97ff90500557e0ea057
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Tag>VideoTag</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON<CallBackFormat>
</Request>

响应

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Mon, 28 Jun 2022 15:23:12 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****

<Response>
<JobsDetail>
<Code>Success</Code>
<Message/>
<JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
<State>Submitted</State>
<CreationTime>2022-06-27T15:23:10+0800</CreationTime>
<StartTime>-</StartTime>
<EndTime>-</EndTime>
<QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
<Tag>VideoTag</Tag>
<Input>
<BucketId>test-123456789</BucketId>
<Object>input/demo.mp4</Object>
<Region>ap-chongqing</Region>
</Input>
<Operation>
<VideoTag>
<Scenario>Stream</Scenario>
</VideoTag>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>