视频质量检测任务接口
更新时间:2024-05-31
创建视频质检任务
接口描述
用户通过BOS Bucket、Key以及其他配置信息为指定视频做质量检测。
请求(Request)
-
请求语法:
Http1POST /v{version}/job/video_defect_detect HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: {utc-date-string} 4connection: keep-alive 5accept: */* 6host: media.bj.baidubce.com 7x-bce-request-id: {bce-request-id} 8content-type: application/json 9authorization: {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 |
|
-
请求示例
Http1POST /v3/job/video_defect_detect HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: 2021-05-21T21:13:00Z 4host: media.bj.baidubce.com 5accept: */* 6connection: keep-alive 7x-bce-request-id: d97c57d0-ca44-4d1c-bfeb-941a92440968 8content-type: application/json 9authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-21T21:13:00Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9 10 11{ 12 "pipelineName": "high_priority_pipe", 13 "source": { 14 "key": "samplefolderpath/samplevideo.mp4" 15 }, 16 "needTarget": true, 17 "target": { 18 "targetFolder": "sampleoutputfolderpath" 19 }, 20 "models": { 21 "tooBright": { 22 "enable": true, 23 "interval": 1000, 24 "threshold": 0.5, 25 "duration": 2000 26 }, 27 "reddish": { 28 "enable": true, 29 "interval": 1000, 30 "threshold": 0.6, 31 "duration": 2000 32 }, 33 "mosaic": { 34 "enable": true, 35 "interval": 1000, 36 "duration": 2000 37 } 38 } 39}
响应(Reponse)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:
字段名称 | 字段类型 | 字段描述 |
---|---|---|
jobId | String | 系统生成的任务的唯一标识 |
-
响应示例:
Http1HTTP/1.1 200 OK 2Transfer-Encoding: chunked 3x-bce-request-id: d97c57d0-ca44-4d1c-bfeb-941a92440968 4Cache-Control: no-cache 5Server: BWS 6Date: Tue, 21 May 2021 21:13:02 GMT 7Content-Type: application/json;charset=UTF-8 8 9{ 10 "jobId":"job-lsdspxdastsmnbam" 11}
查询指定视频质检任务
接口描述
通过jobId查询视频质检任务。
请求(Request)
-
请求语法:
Http1GET /v{version}/job/video_defect_detect/{jobId} HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: {utc-date-string} 4host: media.bj.baidubce.com 5accept: */* 6connection: keep-alive 7x-bce-request-id: {bce-request-id} 8content-type: application/json 9authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
jobId | String | 必选 | 系统生成的任务的唯一标识 | - | - |
- 请求体:无
-
请求示例:
Http1GET /v3/job/video_defect_detect/job-lsdspxdastsmnbam HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: 2021-05-21T21:21:21Z 4host: media.bj.baidubce.com 5accept: */* 6connection: keep-alive 7x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 8content-type: application/json 9authorization: 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模型无此字段,其他模型有 |
-
响应示例:
Http1HTTP/1.1 200 OK 2Transfer-Encoding: chunked 3x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 4Cache-Control: no-cache 5Server: BWS 6Date: Tue, 21 May 2021 21:21:21 GMT 7Content-Type: application/json;charset=UTF-8 8 9{ 10 "jobId": "job-lsdspxdastsmnbwx", 11 "jobStatus": "success", 12 "pipelineName": "high_priority_pipe", 13 "source": { 14 "key": "samplefolderpath/samplevideo.mp4" 15 }, 16 "needTarget": true, 17 "target": { 18 "targetFolder": "sampleoutputfolderpath" 19 }, 20 "usedTime": 12000, 21 "result": { 22 "tooBright": { 23 "success": true, 24 "defects": [ 25 { 26 "score": 0.95, 27 "start": 4000, 28 "end": 5000, 29 "targetKeys": [ 30 "sampleoutputfolderpath/00004000.jpg", 31 "sampleoutputfolderpath/00005000.jpg" 32 ] 33 } 34 ] 35 }, 36 "reddish": { 37 "success": true, 38 "defects": [ 39 { 40 "score": 0.95, 41 "start": 9000, 42 "end": 10000, 43 "targetKeys": [ 44 "sampleoutputfolderpath/00009000.jpg", 45 "sampleoutputfolderpath/00010000.jpg" 46 ] 47 } 48 ] 49 }, 50 "mosaic": { 51 "success": true, 52 "defects": [ 53 { 54 "start": 16000, 55 "end": 17000, 56 "targetKeys": [ 57 "sampleoutputfolderpath/00016000.jpg", 58 "sampleoutputfolderpath/00017000.jpg" 59 ] 60 }, 61 { 62 "start": 19000, 63 "end": 20000, 64 "targetKeys": [ 65 "sampleoutputfolderpath/00019000.jpg", 66 "sampleoutputfolderpath/00020000.jpg" 67 ] 68 } 69 ] 70 } 71 }, 72 "createTime": "2021-05-20T21:13:00Z", 73 "startTime" : "2021-05-20T21:13:01Z", 74 "endTime": "2021-05-20T21:13:14Z" 75}
查询指定队列的视频质检任务
接口描述
查询指定队列下满足一定条件的所有质检任务。
请求(Request)
-
请求语法:
Http1GET /v{version}/job/video_defect_detect?pipelineName={pipelineName}&jobStatus={jobStatus}&begin={begin}&end={end}}&marker={marker}&maxSize={maxSize} HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: {utc-date-string} 4host: media.bj.baidubce.com 5accept: */* 6connection: keep-alive 7x-bce-request-id: {bce-request-id} 8content-type: application/json 9authorization: {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 |
- 请求体:无
-
请求示例:
Http1GET /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 2accept-encoding: gzip, deflate 3x-bce-date: 2021-05-21T21:14:00Z 4host: media.bj.baidubce.com 5accept: */* 6connection: keep-alive 7x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750 8content-type: application/json 9authorization: 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时(数据未全部返回)出现 |
-
响应示例:
Http1HTTP/1.1 200 OK 2Transfer-Encoding: chunked 3x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 4Cache-Control: no-cache 5Server: BWS 6Date: Tue, 21 May 2021 21:21:21 GMT 7Content-Type: application/json;charset=UTF-8 8 9{ 10 "jobs" : [ 11 { 12 "jobId": "job-lsdspxdastsmnbwx", 13 "jobStatus": "success", 14 "pipelineName": "high_priority_pipe", 15 "source": { 16 "key": "samplefolderpath/samplevideo.mp4" 17 }, 18 "needTarget": true, 19 "target": { 20 "targetFolder": "sampleoutputfolderpath" 21 }, 22 "usedTime": 12000, 23 "result": { 24 "tooBright": { 25 "success": true, 26 "defects": [ 27 { 28 "score": 0.95, 29 "start": 4000, 30 "end": 5000, 31 "targetKeys": [ 32 "sampleoutputfolderpath/00004000.jpg", 33 "sampleoutputfolderpath/00005000.jpg" 34 ] 35 } 36 ] 37 }, 38 "reddish": { 39 "success": true, 40 "defects": [ 41 { 42 "score": 0.95, 43 "start": 9000, 44 "end": 10000, 45 "targetKeys": [ 46 "sampleoutputfolderpath/00009000.jpg", 47 "sampleoutputfolderpath/00010000.jpg" 48 ] 49 } 50 ] 51 }, 52 "mosaic": { 53 "success": true, 54 "defects": [ 55 { 56 "start": 16000, 57 "end": 17000, 58 "targetKeys": [ 59 "sampleoutputfolderpath/00016000.jpg", 60 "sampleoutputfolderpath/00017000.jpg" 61 ] 62 }, 63 { 64 "start": 19000, 65 "end": 20000, 66 "targetKeys": [ 67 "sampleoutputfolderpath/00019000.jpg", 68 "sampleoutputfolderpath/00020000.jpg" 69 ] 70 } 71 ] 72 } 73 }, 74 "createTime": "2021-05-20T21:13:00Z", 75 "startTime" : "2021-05-20T21:13:01Z", 76 "endTime": "2021-05-20T21:13:14Z" 77 }, 78 { 79 "jobId": "job-feumm9etdd5c9gqv", 80 "jobStatus": "success", 81 "pipelineName": "high_priority_pipe", 82 "source": { 83 "key": "samplefolderpath/samplevideo2.mp4" 84 }, 85 "needTarget": true, 86 "target": { 87 "targetFolder": "sampleoutputfolderpath" 88 }, 89 "usedTime": 12000, 90 "result": { 91 "tooBright": { 92 "success": true, 93 "defects": [ 94 { 95 "score": 0.95, 96 "start": 11000, 97 "end": 12000, 98 "targetKeys": [ 99 "sampleoutputfolderpath/00011000.jpg", 100 "sampleoutputfolderpath/00012000.jpg" 101 ] 102 } 103 ] 104 } 105 }, 106 "createTime": "2021-05-20T21:14:00Z", 107 "startTime" : "2021-05-20T21:14:01Z", 108 "endTime": "2021-05-20T21:14:14Z" 109 } 110 ], 111 "marker": "job-lsdspxdastsmnbwx", 112 "isTruncated": true, 113 "nextMarker": "job-gfpj59idrpygsjtw" 114}
重新运行指定视频质检任务
接口描述
通过jobId和presetName重新运行视频质检任务(任务状态需要为成功或失败)。
请求(Request)
-
请求语法:
Http1PUT /v{version}/job/video_defect_detect/{jobId}?rerun&presetName={presetName} HTTP/1.1 2accept-encoding: gzip, deflate 3x-bce-date: {utc-date-string} 4connection: keep-alive 5accept: */* 6host: media.bj.baidubce.com 7x-bce-request-id: {bce-request-id} 8content-type: application/json 9authorization: {bce-authorization-string}
- 请求头域:无特殊Header参数
- 请求参数:
字段名称 | 字段类型 | 必要性 | 字段描述 | 可选值 | 默认值 |
---|---|---|---|---|---|
jobId | String | 必选 | 系统生成的任务的唯一标识 | - | - |
rerun | String | 必选 | 重新运行任务接口的标识 | 空/任意值 | - |
presetName | String | 可选 | 任务的模板名称 | - | 原任务的模板名称 |
- 请求体:无
- 请求示例
Http
1 PUT /v3/job/video_defect_detect/job-lsdspxdastsmnbam?rerun&presetName=customlized_video_defect_detect_preset HTTP/1.1
2 accept-encoding: gzip, deflate
3 x-bce-date: 2021-05-28T21:21:21Z
4 host: media.bj.baidubce.com
5 accept: */*
6 connection: keep-alive
7 x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481
8 content-type: application/json
9 authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2021-05-28T21:21:21Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9
响应(Reponse)
- 响应头域:无特殊Header参数
- 响应参数:无
- 响应体:无
-
响应示例:
Http1HTTP/1.1 200 OK 2Transfer-Encoding: chunked 3x-bce-request-id: 6bae5cb3-97d1-4b1a-b8b6-0ad577c1d481 4Cache-Control: no-cache 5Server: BWS 6Date: Tue, 28 May 2021 21:21:21 GMT 7Content-Type: application/json;charset=UTF-8