有奖捉虫:云通信与企业服务文档专题,速来> HOT

功能描述

提交一个视频目标检测任务。


请求

请求示例

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>VideoTargetRec</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON<CallBackFormat>
</Request>
具体的数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Request
保存请求的容器
Container
Container 类型 Request 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
Tag
Request
创建任务的 Tag:VideoTargetRec
String

Operation

Request
操作规则
Container
Input
Request
待操作的媒体信息
Container
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
媒体文件名,不可与 Url 同时为空, 当与 Url 同时传入时优先使用 Object
String
Url
Request.Input
媒体访问链接,不可与 Object 同时为空, 当与 Object 同时传入时优先使用 Object
String
否 Container 类型 Operation 的具体数据描述如下:
节点名称(关键字)
父节点
描述
类型
是否必选
TemplateId
Request.Operation
模板 ID
String
VideoTargetRec
Request.Operation
视频目标检测参数, 同创建视频目标检测模板接口中的Request.VideoTargetRec
Container
UserData
Request.Operation
透传用户信息, 可打印的 ASCII 码, 长度不超过1024
String
JobLevel
Request.Operation
任务优先级,级别限制:0 、1 、2 。级别越大任务优先级越高,默认为0
String
注意
优先使用 TemplateId,无 TemplateId 时使用 VideoTargetRec,两者不能同时为空。

响应

响应头

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

响应体

该响应体返回为 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>VideoTargetRec</Tag>
<Operation>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<TemplateName>video_target_rec_demo</TemplateName>
<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:VideoTargetRec
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
Operation
Response.JobsDetail
该任务的规则
Container
Container 节点 Operation 的内容:
节点名称(关键字)
父节点
描述
类型
TemplateId
Response.JobsDetail.Operation
任务的模板 ID
String
TemplateName
Response.JobsDetail.Operation
任务的模板名称, 当 TemplateId 存在时返回
String
VideoTargetRec
Response.JobsDetail.Operation
同请求中的 Request.Operation.VideoTargetRec
Container
VideoTargetRecResult
Response.JobsDetail.Operation
视频目标检测结果
Container
UserData
Response.JobsDetail.Operation
透传用户信息
String
JobLevel
Response.JobsDetail.Operation
任务优先级
String
Container 节点 VideoTargetRecResult 的内容:
节点名称(关键字)
父节点
描述
类型
BodyRecognition
Response.JobsDetail.Operation.VideoTargetRecResult
人体识别结果
Container 数组
PetRecognition
Response.JobsDetail.Operation.VideoTargetRecResult
宠物识别结果
Container 数组
CarRecognition
Response.JobsDetail.Operation.VideoTargetRecResult
车辆识别结果
Container 数组
Container 节点 BodyRecognition 的内容:
节点名称(关键字)
父节点
描述
类型
Time
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition
截图的时间点,单位为秒
String
Url
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition
截图 URL
String
BodyInfo
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition
人体识别结果,可能有多个
Container 数组
Container 节点 PetRecognition 的内容:
节点名称(关键字)
父节点
描述
类型
Time
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition
截图的时间点,单位为秒
String
Url
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition
截图 URL
String
PetInfo
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition
宠物识别结果结果,可能有多个
Container 数组
Container 节点 CarRecognition 的内容:
节点名称(关键字)
父节点
描述
类型
Time
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition
截图的时间点,单位为秒
String
Url
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition
截图 URL
String
CarInfo
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition
车辆识别结果,可能有多个
Container 数组
Container 节点 BodyInfo 节点的内容:
节点名称(关键字)
父节点
描述
类型
Name
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo
识别类型
String
Score
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo
识别的置信度,取值范围为[0-100]。值越高概率越大。
Int
Location
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo
图中识别到人体的坐标
Container
Container 节点 Location 节点的内容:
节点名称(关键字)
父节点
描述
类型
X
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo.Location
X 坐标
String
Y
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo.Location
Y 坐标
String
Height
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo.Location
(X,Y)坐标距离高度
String
Width
Response.JobsDetail.Operation.VideoTargetRecResult.BodyRecognition.BodyInfo.Location
(X,Y)坐标距离长度
String
Container 节点 PetInfo 节点的内容:
节点名称(关键字)
父节点
描述
类型
Name
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo
识别类型
String
Score
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo
识别的置信度,取值范围为[0-100]。值越高概率越大。
Int
Location
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo
图中识别到宠物的坐标
Container
Container 节点 Location 节点的内容:
节点名称(关键字)
父节点
描述
类型
X
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo.Location
X 坐标
String
Y
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo.Location
Y 坐标
String
Height
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo.Location
(X,Y)坐标距离高度
String
Width
Response.JobsDetail.Operation.VideoTargetRecResult.PetRecognition.PetInfo.Location
(X,Y)坐标距离长度
String
Container 节点 CarInfo 节点的内容:
节点名称(关键字)
父节点
描述
类型
Name
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo
识别类型
String
Score
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo
识别的置信度,取值范围为[0-100]。值越高概率越大。
Int
Location
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo
图中识别到车辆的坐标
Container
Container 节点 Location 节点的内容:
节点名称(关键字)
父节点
描述
类型
X
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo.Location
X 坐标
String
Y
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo.Location
Y 坐标
String
Height
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo.Location
(X,Y)坐标距离高度
String
Width
Response.JobsDetail.Operation.VideoTargetRecResult.CarRecognition.CarInfo.Location
(X,Y)坐标距离长度
String

错误码

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

实际案例

请求1:使用视频目标检测模板 ID

POST /jobs HTTP/1.1
Authorization:q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0**********&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
Host:test-1234567890.ci.ap-chongqing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Tag>VideoTargetRec</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON<CallBackFormat>
</Request>

响应1

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>VideoTargetRec</Tag>
<Operation>
<TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
<TemplateName>video_target_rec_demo</TemplateName>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>

请求2:使用视频目标检测处理参数

POST /jobs HTTP/1.1
Authorization:q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0**********&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
Host:test-1234567890.ci.ap-chongqing.myqcloud.com
Content-Length: 166
Content-Type: application/xml

<Request>
<Tag>VideoTargetRec</Tag>
<Input>
<Object>input/demo.mp4</Object>
</Input>
<Operation>
<VideoTargetRec>
<Body>true</Body>
<Car>true</Car>
<Pet>true</Pet>
</VideoTargetRec>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
<CallBack>http://callback.demo.com</CallBack>
<CallBackFormat>JSON<CallBackFormat>
</Request>

响应1

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>VideoTargetRec</Tag>
<Operation>
<VideoTargetRec>
<Body>true</Body>
<Car>true</Car>
<Pet>true</Pet>
</VideoTargetRec>
<UserData>This is my data.</UserData>
<JobLevel>0</JobLevel>
</Operation>
</JobsDetail>
</Response>