查询设备本地录像片段
# queryLocalRecords:查询设备本地录像片段
# 功能详情
查询设备/通道在指定时间段内,指定类型的本地录像片段,并返回指定范围的片段。
# 请求地址
https://openapi.lechange.cn/openapi/queryLocalRecords
# 子账户token请求所需最小权限
"Permission":"RecordReplay" "Resource":"cam:序列号:通道号"
# 传入参数说明
| 参数名 | 参数类型 | 是否必填 | 默认值 | 合法值 | 参数说明 |
|---|---|---|---|---|---|
| token | String | 是 | 管理员或者子账户accessToken | ||
| deviceId | String | 是 | 设备序列号 | ||
| channelId | String | 是 | 通道号 | ||
| beginTime | String | 是 | 格式:yyyy-MM-dd HH:mm:ss | 开始时间 | |
| endTime | String | 是 | 格式:yyyy-MM-dd HH:mm:ss | 结束时间 | |
| type | String | 否 | "All",即查询全部录像 | 类型 | |
| count | Integer | 是 | 部分历史型号设备最大查询数量不能超过32条。若出现录像条件符合但是无法查询到,请减小count值再试 | 分页查询的数量,每次最大100条 |
查询策略:按照起止时间内的设备录像片段升序排序,查询指定count条数的设备录像片段,下次分页查询可以将前次查询的录像片段最大endTime当做下次beginTime入参继续向后查询。
示例:遍历查询2021-12-01 10:00:00到2021-12-01 11:00:00时间段的设备录像片段信息,假设该时间段录像超过50条。
步骤1: 第一次请求,设置beginTime=2021-12-01 10:00:00,endTime=2021-12-01 11:00:00,count=50,调用queryLocalRecords协议查询,平台返回了50条录像片段。
步骤2: 第二次请求,取步骤1返回的录像片段的最大endTime,假设是2021-12-01 10:30:00,把该时间加一秒,2021-12-01 10:30:01作为下次查询的beginTime入参,endTime还是2021-12-01 11:00:00,count=50,继续调用queryLocalRecords协议查询,以此遍历。
步骤3: 当queryLocalRecords协议返回的录像片段最大endTime大于等于2021-12-01 11:00:00或者queryLocalRecords协议返回的录像片段数小于count条数时,可以认为遍历完成。
# 样例输入
{
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af",
"system":{
"ver":"1.0",
"appId":"lcdxxxxxxxxx",
"sign":"74bc756ebd53e9eef2836f8cf1730c10",
"time":1599031074,
"nonce":"8ec8a7bd1d1c95420de20d92422d457d"
},
"params":{
"token":"At_00006acr3456d12312d3grf60147de7ec",
"deviceId":"TESTQWERXXXX",
"channelId":"0",
"beginTime":"2020-05-19 00:00:00",
"endTime":"2020-05-19 23:59:59",
"type":"All",
"count":100
}
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 返回data字段说明
| 字段名 | 字段类型 | 字段说明 | ||
|---|---|---|---|---|
| records | recordId | String | 录像文件名 | |
| fileLength | Long | 录像文件长度 | ||
| channelID | String | 通道号 | ||
| beginTime | String | 录像开始时间 | ||
| endTime | String | 录像结束时间 | ||
| type | String | 类型 | ||
| streamType | String | 码流类型,main:主码流,extraX:辅码流 | ||
# 样例输出
{
"result":{
"msg":"操作成功。",
"code":"0",
"data":{
"records":[{
"recordId":"/mnt/sd/2020-05-19/001/dav/00/00.30.59-00.31.36[M][0@0][0].mp4",
"fileLength":713883,
"channelID":"0",
"beginTime":"2020-05-19 00:30:59",
"endTime":"2020-05-19 00:31:36",
"type":"Event",
"streamType":"main"
}]
}
},
"id":"d5c287b4-5b2f-4f03-baf5-8032c5c354af"
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18