视频质量检测任务接口
更新时间:2024-05-31
创建视频质检任务
接口描述
用户通过BOS Bucket、Key以及其他配置信息为指定视频做质量检测。
请求(Request)
-
请求语法:
POST /v{version}/job/video_defect_detect HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: {utc-date-string} connection: keep-alive accept: */* host: media.bj.baidubce.com x-bce-request-id: {bce-request-id} content-type: application/json authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:无
- 请求体:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
pipelineName | String | 必选 | 任务所属的pipelineName | - | - |
presetName | String | 可选 | 任务的模板名称,presetName和models参数设置一个即可,推荐设置presetName | - | - |
source | Object | 必选 | 输入视频信息的集合 | - | - |
+ bucket | String | 可选 | 输入视频文件的BOS Bucket(用户必须有该bucket的读权限) | - | 队列中指定的输入bucket |
+ key | String | 必选 | 输入视频的BOS的Key | - | - |
needTarget | Boolean | 可选 | 是否需要出输出检测异常帧 | true、false | false |
target | Object | 可选 | 检测异常帧的集合 | - | - |
+ targetBucket | String | 可选 | 检测异常帧的BOS Bucket | - | 队列中指定的输出bucket |
+ targetFolder | String | 可选 | 存储检测异常帧的目标文件夹名称 | - | 系统根据source中的key和presetName自动生成 |
models | ModelsParm | 可选 | 需要检测的项目(使用的模型),models和presetName参数设置一个即可,都设置则该参数会自动覆盖模板中的参数。若设置了models,则ModelsParm中应至少设置一个模型。 | - | - |
notification | String | 可选 | 通知名称 | - | 队列中指定的notification |
ModelsParm
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
whiteScreen | ModelParm | 可选 | 白屏检测模型 | - | - |
blackScreen | ModelParm | 可选 | 黑屏检测模型 | - | - |
tooBright | ModelParm | 可选 | 过亮检测模型 | - | - |
tooDark | ModelParm | 可选 | 过暗检测模型 | - | - |
redScreen | ModelParm | 可选 | 红屏检测模型 | - | - |
yellowScreen | ModelParm | 可选 | 黄屏检测模型 | - | - |
greenScreen | ModelParm | 可选 | 绿屏检测模型 | - | - |
blueScreen | ModelParm | 可选 | 蓝屏检测模型 | - | - |
purpleScreen | ModelParm | 可选 | 紫屏检测模型 | - | - |
reddish | ModelParm | 可选 | 偏红检测模型 | - | - |
yellowish | ModelParm | 可选 | 偏黄检测模型 | - | - |
greenish | ModelParm | 可选 | 偏绿检测模型 | - | - |
bluish | ModelParm | 可选 | 偏蓝检测模型 | - | - |
purplish | ModelParm | 可选 | 偏紫检测模型 | - | - |
blur | ModelParm | 可选 | 模糊检测模型 | - | - |
noise | ModelParm | 可选 | 噪声检测模型 | - | - |
mosaic | ModelParm | 可选 | 马赛克检测模型 | - | - |
freeze | ModelParm | 可选 | 冻结检测模型 | - | - |
jitter | ModelParm | 可选 | 抖动检测模型 | - | - |
blackEdge | ModelParm | 可选 | 黑边检测模型 | - | - |
blurEdge | ModelParm | 可选 | 模糊边缘检测模型 | - | - |
staticEdge | ModelParm | 可选 | 静态边缘检测模型 | - | - |
crash | ModelParm | 可选 | 花屏检测模型 | - | - |
colorBar | ModelParm | 可选 | 彩条检测模型 | - | - |
block | ModelParm | 可选 | 块效应检测模型 | - | - |
interlace | ModelParm | 可选 | 场效应检测模型 | - | - |
mute | ModelParm | 可选 | 静音检测模型 | - | - |
volumeLow | ModelParm | 可选 | 音量过低检测模型 | - | - |
volumeHigh | ModelParm | 可选 | 音量过高检测模型 | - | - |
soundIntermittent | ModelParm | 可选 | 声音间断检测模型 | - | - |
ModelParm
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
enable | Boolean | 可选 | 是否使用该模型 | true、false | true |
interval | Number | 可选 | 检测间隔(毫秒) | 正整数 | jitter模型为200,mute/volumeLow/volumeHigh/soundIntermittent模型为100,其他模型均为1000 |
threshold | Number | 可选 | 检测分值的阈值, 对应单帧分值>=threshold时,认为单帧异常。tooBright/tooDark/reddish/yellowish/greenish/bluish/purplish/blur/noise/mosaic/blackEdge/blurEdge/staticEdge/block/volumeLow/volumeHigh/soundIntermittent模型支持阈值自定义,其他模型不支持 | 0.0~1.0 | tooBright/tooDark/blur/noise/reddish/yellowish/greenish/bluish/purplish模型为0.5,mosaic模型为0.001,blackEdge/blurEdge/staticEdge模型为0.2, block模型为0.4, mute/soundIntermittent模型为0.0001, volumeLow模型为0.01, volumeHigh模型为0.6 |
duration | Number | 可选 | 持续时长(毫秒)的阈值, 对应单帧异常持续时长>=duration时,将对应异常时间段写入检测结果中。 | 非负整数 | blur/noise/freeze/volumeLow模型为2000,soundIntermittent模型为100,volumeHigh模型为200,其他模型均为1000 |
各模型threshold阈值含义
模型 | 模型描述 | 默认阈值 | 阈值含义 |
---|---|---|---|
whiteScreen | 白屏检测模型 | - | - |
blackScreen | 黑屏检测模型 | - | - |
tooBright | 过亮检测模型 | 0.500 |
|
tooDark | 过暗检测模型 | 0.500 |
|
redScreen | 红屏检测模型 | - | - |
yellowScreen | 黄屏检测模型 | - | - |
greenScreen | 绿屏检测模型 | - | - |
blueScreen | 蓝屏检测模型 | - | - |
purpleScreen | 紫屏检测模型 | - | - |
reddish | 偏红检测模型 | 0.500 |
|
yellowish | 偏黄检测模型 | 0.500 |
|
greenish | 偏绿检测模型 | 0.500 |
|
bluish | 偏蓝检测模型 | 0.500 |
|
purplish | 偏紫检测模型 | 0.500 |
|
blur | 模糊检测模型 | 0.500 |
|
noise | 噪声检测模型 | 0.500 |
|
mosaic | 马赛克检测模型 | 0.001 |
|
freeze | 冻结检测模型 | - | - |
jitter | 抖动检测模型 | - | - |
blackEdge | 黑边检测模型 | 0.200 |
|
blurEdge | 模糊边缘检测模型 | 0.200 |
|
staticEdge | 静态边缘检测模型 | 0.200 |
|
crash | 花屏检测模型 | - | - |
colorBar | 彩条检测模型 | - | - |
block | 块效应检测模型 | 0.400 |
|
interlace | 场效应检测模型 | - | - |
mute | 静音检测模型 | 0.0001 |
|
volumeLow | 音量过低检测模型 | 0.001 |
|
volumeHigh | 音量过高检测模型 | 0.600 |
|
soundIntermittent | 声音间断检测模型 | 0.0001 |
|
-
请求示例
POST /v3/job/video_defect_detect HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: 2021-05-21T21:13:00Z host: media.bj.baidubce.com accept: */* connection: keep-alive x-bce-request-id: d97c57d0-ca44-4d1c-bfeb-941a92440968 content-type: application/json authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-21T21:13:00Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9 { "pipelineName": "high_priority_pipe", "source": { "key": "samplefolderpath/samplevideo.mp4" }, "needTarget": true, "target": { "targetFolder": "sampleoutputfolderpath" }, "models": { "tooBright": { "enable": true, "interval": 1000, "threshold": 0.5, "duration": 2000 }, "reddish": { "enable": true, "interval": 1000, "threshold": 0.6, "duration": 2000 }, "mosaic": { "enable": true, "interval": 1000, "duration": 2000 } } }
响应(Reponse)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:
字段名称 | 字段类型 | 字段描述 |
---|---|---|
jobId | String | 系统生成的任务的唯一标识 |
-
响应示例:
HTTP/1.1 200 OK Transfer-Encoding: chunked x-bce-request-id: d97c57d0-ca44-4d1c-bfeb-941a92440968 Cache-Control: no-cache Server: BWS Date: Tue, 21 May 2021 21:13:02 GMT Content-Type: application/json;charset=UTF-8 { "jobId":"job-lsdspxdastsmnbam" }
查询指定视频质检任务
接口描述
通过jobId查询视频质检任务。
请求(Request)
-
请求语法:
GET /v{version}/job/video_defect_detect/{jobId} HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: {utc-date-string} host: media.bj.baidubce.com accept: */* connection: keep-alive x-bce-request-id: {bce-request-id} content-type: application/json authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
jobId | String | 必选 | 系统生成的任务的唯一标识 | - | - |
- 请求体:无
-
请求示例:
GET /v3/job/video_defect_detect/job-lsdspxdastsmnbam HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: 2021-05-21T21:21:21Z host: media.bj.baidubce.com accept: */* connection: keep-alive x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 content-type: application/json authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-21T21:21:21Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
响应(Reponse)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:与[创建视频质检任务/请求/请求体]保持一致,增加以下字段
字段名称 | 字段类型 | 字段描述 |
---|---|---|
jobId | String | 任务的唯一标识 |
jobStatus | String | 任务状态,success/failed/pending/running |
usedTime | Number | 检测用时(毫秒、ms) |
result | ModelsResult | 结果 |
error | Object | 错误,可能无此字段 |
+ code | String | 错误码 |
+ message | String | 错误信息 |
createTime | String | 任务创建的时间 |
startTime | String | 任务开始的时间 |
endTime | String | 任务完成的时间 |
ModelsResult
字段名称 | 字段类型 | 字段描述 |
---|---|---|
whiteScreen | ModelResult | 白屏检测结果 |
blackScreen | ModelResult | 黑屏检测结果 |
tooBright | ModelResult | 过亮检测结果 |
tooDark | ModelResult | 过暗检测结果 |
redScreen | ModelResult | 红屏检测结果 |
yellowScreen | ModelResult | 黄屏检测结果 |
greenScreen | ModelResult | 绿屏检测结果 |
blueScreen | ModelResult | 蓝屏检测结果 |
purpleScreen | ModelResult | 紫屏检测结果 |
reddish | ModelResult | 偏红检测结果 |
yellowish | ModelResult | 偏黄检测结果 |
greenish | ModelResult | 偏绿检测结果 |
bluish | ModelResult | 偏蓝检测结果 |
purplish | ModelResult | 偏紫检测结果 |
blur | ModelResult | 模糊检测结果 |
noise | ModelResult | 噪声检测结果 |
mosaic | ModelResult | 马赛克检测结果 |
freeze | ModelResult | 冻结检测结果 |
jitter | ModelResult | 抖动检测结果 |
blackEdge | ModelResult | 黑边检测结果 |
blurEdge | ModelResult | 模糊边缘检测结果 |
staticEdge | ModelResult | 静态边缘检测结果 |
crash | ModelResult | 花屏检测结果 |
colorBar | ModelResult | 彩条检测结果 |
block | ModelResult | 块效应检测结果 |
interlace | ModelResult | 场效应检测结果 |
mute | ModelResult | 静音检测结果 |
volumeLow | ModelResult | 音量过低检测结果 |
volumeHigh | ModelResult | 音量过高检测结果 |
intermittent | ModelResult | 声音间断检测结果 |
ModelResult
字段名称 | 字段类型 | 字段描述 |
---|---|---|
success | Boolean | 该项目是否成功 |
defects | Array[DefectResult] | 缺陷结果的集合(按时间段分割) |
error | Object | 错误 |
+ code | String | 错误码 |
+ message | String | 错误信息 |
DefectResult
字段名称 | 字段类型 | 字段描述 |
---|---|---|
score | Number | 缺陷分值, 检测结果对应时间段内的均值,含义参考模型阈值的含义,tooBright/tooDark/reddish/yellowish/greenish/bluish/purplish/blur/noise/mosaic/blackEdge/blurEdge/staticEdge/block/mute/volumeLow/volumeHigh/soundIntermittent模型有此字段,其他模型无 |
start | Number | 缺陷起始时间戳(毫秒、ms) |
end | Number | 缺陷结束时间戳(毫秒、ms) |
targetKeys | Array[String] | 检测异常帧(文件)的BOS key列表,needTarget为true时有此字段,mute/volumeLow/volumeHigh/soundIntermittent模型无此字段,其他模型有 |
-
响应示例:
HTTP/1.1 200 OK Transfer-Encoding: chunked x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 Cache-Control: no-cache Server: BWS Date: Tue, 21 May 2021 21:21:21 GMT Content-Type: application/json;charset=UTF-8 { "jobId": "job-lsdspxdastsmnbwx", "jobStatus": "success", "pipelineName": "high_priority_pipe", "source": { "key": "samplefolderpath/samplevideo.mp4" }, "needTarget": true, "target": { "targetFolder": "sampleoutputfolderpath" }, "usedTime": 12000, "result": { "tooBright": { "success": true, "defects": [ { "score": 0.95, "start": 4000, "end": 5000, "targetKeys": [ "sampleoutputfolderpath/00004000.jpg", "sampleoutputfolderpath/00005000.jpg" ] } ] }, "reddish": { "success": true, "defects": [ { "score": 0.95, "start": 9000, "end": 10000, "targetKeys": [ "sampleoutputfolderpath/00009000.jpg", "sampleoutputfolderpath/00010000.jpg" ] } ] }, "mosaic": { "success": true, "defects": [ { "start": 16000, "end": 17000, "targetKeys": [ "sampleoutputfolderpath/00016000.jpg", "sampleoutputfolderpath/00017000.jpg" ] }, { "start": 19000, "end": 20000, "targetKeys": [ "sampleoutputfolderpath/00019000.jpg", "sampleoutputfolderpath/00020000.jpg" ] } ] } }, "createTime": "2021-05-20T21:13:00Z", "startTime" : "2021-05-20T21:13:01Z", "endTime": "2021-05-20T21:13:14Z" }
查询指定队列的视频质检任务
接口描述
查询指定队列下满足一定条件的所有质检任务。
请求(Request)
-
请求语法:
GET /v{version}/job/video_defect_detect?pipelineName={pipelineName}&jobStatus={jobStatus}&begin={begin}&end={end}}&marker={marker}&maxSize={maxSize} HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: {utc-date-string} host: media.bj.baidubce.com accept: */* connection: keep-alive x-bce-request-id: {bce-request-id} content-type: application/json authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
pipelineName | String | 必选 | 任务所属的队列名 | - | - |
jobStatus | String | 可选 | 所选任务的状态 | SUCCESS, FAILED, PENDING, RUNNING | - |
begin | String | 可选 | 任务创建时间的上限。所选任务开始时间要大于等于begin | - | - |
end | String | 可选 | 任务创建时间的下限,所选任务开始时间要小于等于end | - | - |
marker | String | 可选 | 本次请求的marker,标记查询的起始位置,此处为jobId | - | - |
maxSize | Number | 可选 | 本次请求返回的任务列表的最大元素个数 | 1 ~ 1000 | 1000 |
- 请求体:无
-
请求示例:
GET /v3/job/video_defect_detect?pipelineName=high_priority_pipe&jobStatus=SUCCESS&begin=2021-05-20T08%3A53%3A42Z&end=2021-05-22T08%3A53%3A42Z&marker=job-feumm9etdd5c9gqv&maxSize=2 HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: 2021-05-21T21:14:00Z host: media.bj.baidubce.com accept: */* connection: keep-alive x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750 content-type: application/json authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-21T21:14:00Z/1800/host;x-bce-date/3e1bf9f50ae1fca2d704d61567810dde946fff3ca2e455676455a6f5c8cce596
响应(Response)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:与[查询指定视频质检任务/响应/响应体]保持一致,增加以下字段
字段名称 | 字段类型 | 字段描述 |
---|---|---|
marker | String | 本次请求的marker,标记查询的起始位置,此处为jobId |
isTruncated | Boolean | 指明返回数据是否被截断。true表示本页后面还有数据,即数据未全部返回;false表示已是最后一页,即数据已全部返回 |
nextMarker | String | 获取下一页所需要传递的marker值(此处为jobId),仅当isTruncated为true时(数据未全部返回)出现 |
-
响应示例:
HTTP/1.1 200 OK Transfer-Encoding: chunked x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 Cache-Control: no-cache Server: BWS Date: Tue, 21 May 2021 21:21:21 GMT Content-Type: application/json;charset=UTF-8 { "jobs" : [ { "jobId": "job-lsdspxdastsmnbwx", "jobStatus": "success", "pipelineName": "high_priority_pipe", "source": { "key": "samplefolderpath/samplevideo.mp4" }, "needTarget": true, "target": { "targetFolder": "sampleoutputfolderpath" }, "usedTime": 12000, "result": { "tooBright": { "success": true, "defects": [ { "score": 0.95, "start": 4000, "end": 5000, "targetKeys": [ "sampleoutputfolderpath/00004000.jpg", "sampleoutputfolderpath/00005000.jpg" ] } ] }, "reddish": { "success": true, "defects": [ { "score": 0.95, "start": 9000, "end": 10000, "targetKeys": [ "sampleoutputfolderpath/00009000.jpg", "sampleoutputfolderpath/00010000.jpg" ] } ] }, "mosaic": { "success": true, "defects": [ { "start": 16000, "end": 17000, "targetKeys": [ "sampleoutputfolderpath/00016000.jpg", "sampleoutputfolderpath/00017000.jpg" ] }, { "start": 19000, "end": 20000, "targetKeys": [ "sampleoutputfolderpath/00019000.jpg", "sampleoutputfolderpath/00020000.jpg" ] } ] } }, "createTime": "2021-05-20T21:13:00Z", "startTime" : "2021-05-20T21:13:01Z", "endTime": "2021-05-20T21:13:14Z" }, { "jobId": "job-feumm9etdd5c9gqv", "jobStatus": "success", "pipelineName": "high_priority_pipe", "source": { "key": "samplefolderpath/samplevideo2.mp4" }, "needTarget": true, "target": { "targetFolder": "sampleoutputfolderpath" }, "usedTime": 12000, "result": { "tooBright": { "success": true, "defects": [ { "score": 0.95, "start": 11000, "end": 12000, "targetKeys": [ "sampleoutputfolderpath/00011000.jpg", "sampleoutputfolderpath/00012000.jpg" ] } ] } }, "createTime": "2021-05-20T21:14:00Z", "startTime" : "2021-05-20T21:14:01Z", "endTime": "2021-05-20T21:14:14Z" } ], "marker": "job-lsdspxdastsmnbwx", "isTruncated": true, "nextMarker": "job-gfpj59idrpygsjtw" }
重新运行指定视频质检任务
接口描述
通过jobId和presetName重新运行视频质检任务(任务状态需要为成功或失败)。
请求(Request)
-
请求语法:
PUT /v{version}/job/video_defect_detect/{jobId}?rerun&presetName={presetName} HTTP/1.1 accept-encoding: gzip, deflate x-bce-date: {utc-date-string} connection: keep-alive accept: */* host: media.bj.baidubce.com x-bce-request-id: {bce-request-id} content-type: application/json authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
jobId | String | 必选 | 系统生成的任务的唯一标识 | - | - |
rerun | String | 必选 | 重新运行任务接口的标识 | 空/任意值 | - |
presetName | String | 可选 | 任务的模板名称 | - | 原任务的模板名称 |
- 请求体:无
- 请求示例
PUT /v3/job/video_defect_detect/job-lsdspxdastsmnbam?rerun&presetName=customlized_video_defect_detect_preset HTTP/1.1
accept-encoding: gzip, deflate
x-bce-date: 2021-05-28T21:21:21Z
host: media.bj.baidubce.com
accept: */*
connection: keep-alive
x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
content-type: application/json
authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-28T21:21:21Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
响应(Reponse)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:无
-
响应示例:
HTTP/1.1 200 OK Transfer-Encoding: chunked x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 Cache-Control: no-cache Server: BWS Date: Tue, 28 May 2021 21:21:21 GMT Content-Type: application/json;charset=UTF-8