*API_ADDRESS地址:api.video.heclouds.com
1.1 新增
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/devices |
HTTP头部 | api-key:xxxx-ffff-zzzzz,必须为masterKeyContent-Type:application/json |
HTTP内容 | { "title":"device1", // 设备名称,必选。64个字符以内。 "desc":"some description", // 设备描述,可选。 "location":{"ele":370000, // 高度,double "lat":17.609997, // 经度,double "lon":177.03403 // 纬度,double }, // 设备位置,可选。 "private":true, // 是否私有,可选。公开的应用在open.iot.10086.cn上会列出来。 "protocol":"RTMP", // 设备接入协议,必须RTMP。 "auth_info":{…} auth123”, // 设备鉴权信息,必选。产品下唯一。如不填写,将为该设备生成默认鉴权信息。 "area":”100”, // 设备区域号,可选。必须是合法的区域号。 “other":{…}, // 设备其余信息,可选。 "interval":60, // 保留,选择无效 "auth":"1233311", // 保留,选择无效 “route_to”:”abcd”, //保留,选择无效 “url”:“http://www.test.com”, // 设备url。(含义未知) “idsn”:“test”, // 保留,选择无效 “activate_code”:”test”, // 保留,设备激活码} |
HTTP响应响应消息内容 | {"errno": 0, "error":“succ”, "data": { //平台分配唯一ID "device_id":"233444" } } |
说明 | 新增设备用于向设备云增加一个设备,通过HTTP POST请求增加设备,增加成功后,会返回该设备的设备ID。 |
1.2 注册码创建设备
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/register_de |
URL参数 | register_code=xxxxx //设备注册码,必选 |
HTTP内容 | {"sn": "xxxx", //可选 设备唯一标识string类型, 最长512字符 "mac": "xxxx",//可选设备唯一mac标识string类型 , 最长512字符 注意sn,mac一定要必填其中一个,而且只可以传一个 "title": "xxxx"//可选设备名 最长32个字符, "area":100 //区域号,可选 } |
请求返回 | {"errno": 0, "error":“succ”, "data": { "key":"XXAABBCCDD",//api-key只可以操作这个设备 "device_id": 21442 } } |
1.3 更新
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/devices/{device_id} |
HTTP头部 | api-key:xxxx-ffff-zzzzz,masterKey或设备apikey。Content-Type:application/json |
HTTP内容 | {"title":"my device1", "desc":"some description", "private":true, "tags":[ "Tag1", "Tag2" ], “url”: “http://www.test.com”, “idsn”:”test”, "location":{ "ele":370000, "lat":17.609991828964787, "lon":177.03402996826173 }, “route_to”:”test”, // edp设备有效。 "auth_info":{…}“auth123”, “auth”:”123123”, // 保留,填写无效 "interval":60, “activate_code”:”test”, "area":”100”, "other":{} } |
请求返回 | { "errno": 0, "error":“succ”, } |
说明 | 更新时,更新那个字段就只需要在json字符串中包括哪个字段,不需要包含所有内容。 如有字段不明确,请参见设备新增章节的解释。 |
1.4 查看单个设备信息
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/devices/{device_id} |
HTTP头部 | api-key:xxxx-ffff-zzzzz,masterKey或设备apikey。Content-Type:application/json |
请求返回 | {"errno": 0, "error":“succ”, "data": { "id":"device_id", "online":true/false, // 设备是否在线。 "protocol":"rtmp" "title":"my device1", "desc":"some description,ex:url", ...... "keys":[ {"title":"device-auto-key","key":"2JO3B12O1"}, {"title":"key-name2","key":"DFWfsfw1wfDF233"}, ] } } |
说明 | 单个设备查看是在知道待查设备的设备ID的情况下查看设备的明细。会返回待查设备的基本信息、设备相关apikey信息等等。 |
1.5 模糊查找设备信息
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/devices |
HTTP头部 | api-key:xxxx-ffff-zzzzz,masterKey或设备apikey。Content-Type:application/json |
URL参数 | key_words = key, //可选,会从设备id或title或nb设备的imei字段中左匹配。 tag = xxx , //可选。 online = true/false , //可选。 private = true/false , //可选。 page = 1 , //指定页码, 可选, 默认1,最多10000 per_page = 30 // 指定每页输出设备个数,可选,默认30,最多100 device_id = 235122 //指定设备ID,可选,多个用逗号分隔,最多100个 auth_info = “{“auth”:”auth123”}”, //鉴权信息,可选。 begin=2016-06-10//可选, end=2016-06-20//可选, title=test//设备名称关键字,字符串,左匹配,大小写不敏感,可选。 |
请求返回 | {"errno": 0, "error":“succ”, "data": { "total_count":1, "per_page":30, "page":1, "devices": [ { "id":"dev_id", "title":"my device1", “desc”:”device desc”, "private":true, "protocol":"RTMP”, "online":ture/false, "location":{"lon":106.55231191544001,"lat":29.535451246673}, "create_time":"2013-02-11 12:22:33", "auth_info":{"SYS":"z=8QY3r7aTQ48UKfqPnB=PybYRo="}, “channel_count”:2 //设备通道数量 “last_login”: “2018-11-20 15:34:09” //设备最后上线时间 …… } {……}, …… ] } } |
说明 | 批量查看是指模糊查找设备,会把所有符合条件的设备都列出来。 批量查找通过在URL中附带参数的形式向服务器端查询设备。 |
1.6 删除
HTTP方法 | DELETE |
---|---|
URL | http://API_ADDRESS/devices/{device_id} |
HTTP头部 | api-key:xxxx-ffff-zzzzz,可为设备级别的Key或masterKey Content-Type:application/json |
URL参数 | 无 |
HTTP内容 | 无 |
请求返回 | {"errno": 0, "error":“succ” } |
说明 | 删除设备会删除所有在平台存储的视频和图片 |
2.1查询设备下通道信息
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/device/QryChannel |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//设备ID 必填 |
HTTP内容 | 无 |
{ "errno":0, "error":"succ", "result": [ { "channel_id":20, "title":"test_qwer", "desc":"1qwqwq/" }, { "channel_id":100, "title":"my_quto_test", "desc":"123_test" } ] } |
2.2删除设备下通道
HTTP方法 | DELETE |
---|---|
URL | http://API_ADDRESS/ipc/video/device/DelChannel |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//设备ID 必填 channel_id=//通道编号,必填 |
HTTP内容 | 无 |
成功返回 | { "errno":0, "error":"succ" } |
2.3增加设备下通道信息
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/ipc/video/device/AddChannel |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//设备ID 必填 channel_id=//通道ID,必填 title=//标题,必填(长度不超过64且只能是数字、字母或者是数字字母组合) desc=//通道描述 |
HTTP内容 | 无 |
成功返回 | { "errno":0, "error":"succ" } |
说明 | 如果通道已经存在则报错返回如下信息: { "errno": 16, "error": "The channel already exists,cannot add again!" } |
2.4修改设备下通道信息
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/ipc/video/device/ModifyChannel |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//设备ID 必填 channel_id=//通道ID,必填 title=//标题,必填(长度不超过64且只能是数字、字母或者是数字字母组合) desc=//通道描述 |
HTTP内容 | 无 |
成功返回 | { "errno":0, "error":"succ" } |
说明 | 如果修改的通道不存在则报错返回如下信息: { "errno": 17, "error": "This channel is not available under this device!" } |
3.1发送命令
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/ipc/video/cmds |
HTTP头部 | api-key 必填 |
URL参数 | device_id =//设备ID qos=//是否需要设备回应,0 不需要,1需要 默认值为0 type=//命令类型,0,平台定义,1用户定义 默认值为0 |
HTTP内容 | 用户自定义数据:json、string、二进制数据(小于64K) |
成功返回 | { "errno": 0, "error":”succ”, "data":{ "cmd_uuid":”2303-312-Fws”, //指令ID "cmd_status": 4,//设备下发的状态(平台的返回) "dev_resp": { “resp_code”:1,//设备返回的错误码,0表示成功 "resp_data": "xxxxxxx" //设备返回的数据的base64 } |
说明 | resp_code 为命令在设备的执行状态 cmd_status 如下: 0:设备不在线 device not online 1:命令已创建 sending 2:命令已发往设备 send ok 3:命令发往设备失败 Send error 4:设备正常响应 ok 5:命令执行超时 time out 6:设备响应数据错误 resp data error。 当命令为不需要设备回复时,返回2表示下发成功。 当需要设备回复时返回 >=4 时表示设备在http请求的这个过程已经返回。 当等于 4时dev_resp为设备的返回 返回1,2需要调用命令下发状态接口获取命令下发的情况 |
3.2设备定义的通用命令
a.设置码流级别
{
“type”: ”video”,
”cmdId”: 6,
”cmd”:{
“channel_id”: 1, //通道ID, 数字
“level”: 1 //数字1-4(1:流畅 2:标清 3:高清 4:超清)
}
}
b.云台控制指令
{
”type”: ”video”,
”cmdId”: 7,
”cmd”:{
”channel_id”: number, //对应通道的ID(映射到数据流名称)
”stop”:number, // 2 单步控制
”cmdV:number, // 1: 焦距变大(倍率变大) 2:焦距变小(倍率变小) 3: 焦点前调 4: 焦点后调 5: 光圈扩大 6: 光圈缩小 11: 方向向上 12: 方向向下 13: 方向左转 14: 方向右转 22:自动扫描
”speed”: number //速度1-7
}
}
c.本地视频列表查询
{
”type”: ”video”, //指令类型(设备SDK识别)
”cmdId”: 10, //查询视频列表指令(设备SDK识别)
”cmd”:{
”channel_id”:1,
”page”:1,
”start_time”: ”2017-09-29 12:00:31”, // 可选
”end_time”: ”2017-09-29 13:00:30” //可选
”per_page”:20
}
}
本地视频列表响应
”all_count”: 25, //查询的所有视频总数
”cur_count”:20, //当前页视频数
”rvods”:[
{
”channel_id”:1
”video_desc”: ”test123”,
”size”: 222, // 字节数
”beginTime”: ”2017-09-29 12:00:31”,
”endTime”: ”2017-09-29 13:00:30”
}
]
}
4.1 拉流地址获取
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/play_address |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//接收该数据的设备ID,必填 channel_id=//对应数据流名称中的channelnum protocol_type=播放协议类型 0:rtmp 1:hls 2:https-hls |
HTTP内容 | 无 |
成功返回 | { "errno": 0, "error":”succ”, “data”:{ "addr":"ip:port", "accessToken":“字符串”, "type":"rtmpe", } } |
说明 | 拉流地址需要根据返回接口进行拼接: Rtmp实时拉流地址格式:type://ip:port/live/${deviceid}-${channel_id}?accessToken Rtmp 实时拉流地址示例:rtmp://183.230.40.39:1935/live/2162826-2?accessToken Rtmp历史拉流地址格式: rtmp://ip:port/rvod/${device_id}-${channel_id}-${begintime}-${endtime}?accessToken Rtmp历史拉流地址示例: rtmp://183.230.40.39:1935/rvod/2162826-2-201711131530-201711131540?accessToken Hls实时拉流地址格式: http://183.230.40.39:8080/live/live${deviceid}${channel_id}/index.m3u8?accessToken Hls实时拉流地址示例: http://183.230.40.39:8080/live/live_2162826_2/index.m3u8?accessToken |
HTTP方法 | GET |
---|---|
URL | http://HLS_PLAY_ADDRESS/live/live_{DEVICE_ID}_{CHANNEL_ID}/preload |
HTTP头部 | api-key 必填 |
URL参数 | token=xxxxx, //播放token idle_time=120, //空闲清理时间(s),最大值120 |
HTTP内容 | |
成功返回 | { "errno": 0, "error":”succ” } |
说明 | HLS_PLAY_ADDRESS 及 token 是由HLS拉流地址接口返回。 DEVICE_ID 设备ID,CHANNEL_ID 通道ID 该接口可以达到HLS 流预加载的目的 |
HTTP方法 | GET |
---|---|
URL | http://coveraddr/live_preview/${device_id}-${channel_id} |
HTTP头部 | |
URL参数 | token = “” |
HTTP内容 | |
成功返回 | 图片二进制内容 |
说明 | 地址和Token是获取拉流地址时返回的accessToken和播放地址, 直接通过播放地址和token可以拼装url地址 http://coveraddr/live_preview/${device_id}_${channel_id}?token=accessToken |
5.1 图片上传
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/ipc/video/picture/upload |
HTTP头部 | api-key 必填 |
URL参数 | device_id =1 channel_id=1 format=”jpg”/”png” name="111" desc="图片描述" |
HTTP内容 | 图片二进制内容 |
成功返回 | { "errno": 0, "error":”succ”} |
说明 | 可用在播放端截图上传等 如果与已经上传的图片名字相同,则返回错误 |
5.2 获取图片列表信息
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/picture/get_list |
HTTP头部 | api-key 必填 |
URL参数 | device_id ="1111" channel_id=11 start_time=111, // UNIX时间戳,可选过滤条件 end_time=222, // UNIX时间戳, 可选过滤条件 page_start= 1, //分页起始 page_size=1 //分页大小 |
HTTP内容 | 无 |
成功返回 | { "errno": 0, "error":”succ” data:[ { "format":”jpg” // jpg或png "size": 1234,// 单位是字节 "date": 1234, // UNIX 时间戳 "name":"111",// 图片名(唯一ID) "desc" : "name", // 图片描述 "url" : "url" //图片获取url } ], "page_info":{ "total_num":50 "page_total":25, "page_size":2, "current_page":1 } } |
说明 | - |
5.3 获取图片信息
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/picture/get_info |
HTTP头部 | api-key 必填 |
URL参数 | device_id ="1111" channel_id=11 name=1, //图片名字 |
HTTP内容 | 无 |
成功返回 | { "errno": 0, "error":”succ” data: { "format":”jpg” // jpg或png "size": 1234,// 单位是字节 "date": 1234, // UNIX 时间戳 "name":"111",// 图片名(唯一ID) "desc" : "name", // 图片描述 "url" : "url" //图片获取url } |
说明 | - |
5.4 删除图片
HTTP方法 | DELETE |
---|---|
URL | http://API_ADDRESS/ipc/video/picture/delete_pictrue |
HTTP头部 | api-key 必填 |
URL参数 | device_id ="1111" channel_id=11 name=1, //图片名字 |
HTTP内容 | 无 |
成功返回 | { "errno": 0, "error":”succ”} |
说明 | - |
5.5 获取图片
HTTP方法 | GET |
---|---|
URL | $url |
HTTP头部 | 无 |
URL参数 | 无 |
HTTP内容 | 无 |
成功返回 | 返回图片数据 |
说明 | $url 从《获取图片信息》或者《获取图片列表信息》中的接口返回 |
6.1 视频信息获取
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/vod/get_video_info |
HTTP头部 | api-key 必填 |
URL参数 | device_id=12, channel_id=12, video_id=”1112341234” security=1 //选择安全播放链接(https和rtmpe),没有则默认为普通链接 |
HTTP内容 | |
成功返回 | { "errno": 0, "error":”succ”, "data":{ "videoid":dafdafd "name":“dad”, "start":"2017-01-12 12:01:12", "end":"2017-01-12 15:01:12", "size":"1234",// 单位是Kbytes "durtion":"12", // 单位是秒 "hls_url":"url",// http播放地址 "rtmp_url":"url" // RTMP播放地址 } } |
说明 | 播放地址需要携带token。token获取见《视频点播token获取》 组装方式为hls: url?token=”token”, rtmp: url?token。 Hls按照http url参数方式增加一个参数token,参数值为获取的token内容。 Rtmp协议直接将token内容拼接在“?”后面。 Security 默认为0,返回普通播放链接(http和rtmp),1表示返回安全播放链接(https和rtmpe) |
6.2 视频列表获取
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/vod/get_video_list |
HTTP头部 | api-key 必填 |
URL参数 | device_id=12, channel_id=12, start_time=“2018-01-01 01:00:00”, // 格式化字符串 可选过滤条件 end_time=“2018-01-01 01:00:00”, // 格式化字符串 可选过滤条件 name=”111”, //可选过滤条件,根据名称过滤 page_start= 1, //分页起始 page_size=1 //分页大小 security=1 //选择安全播放链接(https和rtmpe),没有则默认为普通链接 |
HTTP内容 | |
成功返回 | { "errno": 0, "error":”succ”, "data":{ "videos":[ { "videoid":"dafdafd", "name":"dad", "start":"2017-01-12 12:01:12", "end":"2017-01-12 15:01:12", "size":1234,// 单位是KBytes "hls_url":"url",// http播放地址 "rtmp_url":"url" // RTMP播放地址 }, {….}, ….. ] } "page_info": { "total_num":50, "page_total":25, "page_size":2, "current_page":1 } } |
说明 | 选择过滤时间可以只填start_time或者end_time,也可以一起填 播放地址需要携带token。token获取见《视频点播token获取》 组装方式为hls: url?token=”token”, rtmp: url?token。 Hls按照http url参数方式增加一个参数token,参数值为获取的token内容。 Rtmp协议直接将token内容拼接在“?”后面。 Security 默认为0,返回普通播放链接(http和rtmp),1表示返回安全播放链接(https和rtmpe) |
6.3 视频删除
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/ipc/video/vod/delete_video |
HTTP头部 | api-key 必填 Content-Type:application/json |
URL参数 | deviceid=1, channeled= 1 |
HTTP内容 | { "video": [{ "videoId": 1 }, { "videoId": 2 }] } |
成功返回 | { "errno": 0, "error":”succ”, "data": [ {"code":0} {"code":1, "message":"not exist"} ] } |
说明 | 返回消息会以数组的形式给出每个删除ID的结果,如果删除失败会给出错误信息videoId必须是字符串 |
6.4 视频重命名
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/ipc/video/vod/rename_video |
HTTP头部 | api-key 必填 Content-Type:application/json |
URL参数 | device_id=12, channel_id=12, video_id=”1112341234” |
HTTP内容 | {“name” : “11111”} |
成功返回 | { "errno": 0, "error":”succ”, } |
说明 | - |
6.5 视频点播token获取
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/vod/get_play_token |
HTTP头部 | api-key 必填 |
URL参数 | device_id=12, channel_id=12, video_id=”1112341234” |
HTTP内容 | |
成功返回 | { "errno": 0, "error":”succ”, "data":{ "token": "sdafsa" } } |
说明 | Token用于点播相关的视频获取 |
7.1 设置产品的视频加密开关
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/ipc/video/trans_encrypt |
HTTP头部 | api-key 必填 |
URL参数 | product_id=7355 //产品id |
HTTP内容 | {"type":0} 0为不加密,1加密 |
成功返回 | { "errno": 0, "error": "succ" } |
说明 |
7.2 获取产品加密状态
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/trans_encrypt |
HTTP头部 | api-key 必填 |
URL参数 | product_id=7355 //产品id |
HTTP内容 | 无 |
成功返回 | {"errno":0,"trans_enc":1} |
说明 | - |
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/device/QryDevStatus |
HTTP头部 | api-key 必填 |
URL参数 | devIds=123,456,789//设备ID串,以逗号隔开,最多30个,长度不超过500,必填字段 |
HTTP内容 | 无 |
成功返回 | {"errno": 0, "error": "succ", "result": { "total_count": 2, "devices": [ { "id": "2480461", "online": false }, { "id": "2818370", "online": false } ] } } |
说明 |
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/device/QryDevMsg |
HTTP头部 | api-key 必填 |
URL参数 | device_id=//设备ID 必填 begin_time=//查询开始时间 必填 2018-01-01 00:00:00 end_time=//查询结束时间,必填 2018-01-02 00:00:00 |
HTTP内容 | 无 |
成功返回 | {"errno":0, "error":"succ", "page_info": { "total_num":7, "page_total":1, "page_size":50, "current_page":1 }, "result": [ { "create_time":"2018-01-04 16:27:40", "msg_id":14, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-04 16:31:53", "msg_id":14, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-08 09:27:00", "msg_id":4398046511104, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-08 10:06:16", "msg_id":4398046511104, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-08 10:07:19", "msg_id":4398046511104, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-08 10:09:49", "msg_id":4398046511104, "msg":"bXlfdGVzdF8xMjM0NQ==" }, { "create_time":"2018-01-08 14:10:35", "msg_id":4398046511104, "msg":"bXlfdGVzdF8xMjM0NQ==" } ] } |
说明 | 设备透传的消息内容(msg字段)经过了base64编码,需要客户端解码。 |
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/boot_address |
HTTP头部 | 无 |
URL参数 | 无 |
HTTP内容 | 无 |
成功返回 | { "errno": 0, "error": "succ", “data”: { "boot_address": "183.230.40.42", "boot_port": 9101 } } |
说明 | - |
HTTP方法 | POST |
---|---|
URL | http://API_ADDRESS/ipc/video/dev_active |
HTTP头部 | api-key 必填 |
URL参数 | device_id =//设备ID |
HTTP内容 | 自定义,不超过128 byte |
成功返回 | { "errno": 0, // 0 命令发送成功 "error": "succ" } |
说明 | 该接口适用的场景:设备需要收到固定字符串 协议将不对该串加密,协议头部的序列号将置零 设备收到的头部字符串将固定不变 |
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/record/record_video |
HTTP头部 | api-key 必填 |
URL参数 | product_id=12 device_id=123 channel_id=12345 action=0/1, // 0:停止录制 1:开始录制, 必选 |
HTTP内容 | |
成功返回 | { "errno": 0, "error": "succ" } |
说明 | product_id : 产品号,必选参数 device_id : 设备号,必选参数 channel_id : 通道号,必选参数 action: 操作类型,0:停止录制 1:开始录制,必选参数 |
13.1 播放实时查询
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/stat/getonlinelist |
HTTP头部 | api-key 必填 注:只能用master-key |
URL参数 | productid=//产品号 必填 deviceid =//设备ID channelid=//通道号 protocoltype =//协议类型 rtmp hls page_key=//分页查询使用 page_size=//每页查询的数据 page=分页查询使用 |
HTTP内容 | 无 |
{ "errno":0, "error":"succ", "result": [ { "productid":7312, "deviceid":2479989, "channelid":1, "protocoltype":"RTMP", "clientip":"172.19.3.99", "videocodec":"H264", "resolution":"1280 720", "fps":25, "audiocodec":"", "bandwidth":91392, "onlinetime":"00:04:43" }, { "productid":7312, "deviceid":2479989, "channelid":2, "protocoltype":"RTMP", "clientip":"172.19.3.99", "videocodec":"H264", "resolution":"1280 720", "fps":25, "audiocodec":"", "bandwidth":63066, "onlinetime":"00:07:00" } ], "page_info": { "total_num":3, "page_total":2, "page_size":2, "current_page":1, "page_key":"fc94c7c4-0760-4523-876c-5583260520c6" } } |
|
说明 | 1)对于实时查询,第一页之后的数据查询,需要传入page_key 2)分页数据服务器只缓存5分钟,5分钟之后将失效 |
13.2 推流实时查询
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/stat/getpushlist |
HTTP头部 | api-key 必填 注:只能用master-key |
URL参数 | productid=//产品号 必填 deviceid =//设备ID channelid=//通道号 page_key=//分页查询使用 page_size=//每页查询的数据 page=分页查询使用 |
HTTP内容 | 无 |
成功返回 | { "errno":0, "error":"succ", "result": [ { "productid":7312, "deviceid":2479989, "channelid":3, "protocoltype":"RTMP", "puship":"172.19.3.98", "videocodec":"H264", "resolution":"640 480", "fps":25, "audiocodec":"AAC", "bandwidth":95230, "pushtime":"00:06:37" }, { "productid":7312, "deviceid":2479989, "channelid":1, "protocoltype":"RTMP", "puship":"172.19.3.98", "videocodec":"H264", "resolution":"1280 720", "fps":25, "audiocodec":"", "bandwidth":91020, "pushtime":"00:04:43" } ], "page_info": { "total_num":3, "page_total":2, "page_size":2, "current_page":1, "page_key":"5931b760-864a-44fb-9dd0-558e7caaace0" } } |
说明 | 分页查询的处理方式与播放记录列表的处理方式一致 |
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/ipc/video/access_control/closecamera |
HTTP头部 | api-key 必填 |
URL参数 | product_id=12, //产品id device_id=123, //设备id id="1", //摄像头ID |
HTTP内容 | { "type":1, //1为关,0为开 } |
成功返回 | { "errno": 0, "error":”succ” } |
HTTP状态码 | 错误码 | 含义 |
---|---|---|
200 | 200 | 成功(success) |
400 | 400 | 请求报文格式错误(bad request) |
401 | 401 | 认证授权失败(auth failed) |
403 | 403 | 权限不足,拒绝访问(access deny) |
404 | 404 | 资源不存在(resource not found) |
405 | 405 | 请求方式错误(method not allow) |
HTTP状态码 | 错误码 | 含义 |
---|---|---|
413 | 413 | 请求资源大小大于指定的最大值(resource size is too big) |
500 | 500 | 系统内部错误(system internal error) |
502 | 502 | 错误网关(bad gateway) |
503 | 503 | 服务端不可用(service unavailable) |
504 | 504 | 服务端操作超时(gateway timeout) |
1001 | 1001 | 无效名字,排除特殊字符(invalid name, excluding special characters) |
1002 | 1002 | 无效名,最大长度限制为256(invalid name, maximum limit is 256) |
1003 | 1003 | 无效描述,最大长度限制为1024(invalid desc, maximum limit is 1024) |
15.1 上传
HTTP方法 | PUT |
---|---|
URL | http://API_ADDRESS/ipc/video/file/upload |
HTTP头部 | api-key 与 authorization 二选一(必填项) |
URL参数 | product_id=1111, name=test, desc="1111", //可选 |
HTTP内容 | 上传的文件内容 |
成功返回 | { "errno": 200, "error":”succ” } |
说明 | 上传对象大小限制在8M以内 |
15.2 下载
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/file/download |
HTTP头部 | api-key 与 authorization 二选一(必填项) |
URL参数 | product_id=1111, name=test |
HTTP内容 | 无 |
成功返回 | 文件的二进制内容 |
说明 | - |
15.3 删除
HTTP方法 | DELETE |
---|---|
URL | http://API_ADDRESS/ipc/video/file/delete |
HTTP头部 | api-key 与 authorization 二选一(必填项) |
URL参数 | product_id=1111, name=test |
HTTP内容 | 无 |
成功返回 | { "errno": 200, "error":”succ” } |
说明 | - |
15.4 获取列表
HTTP方法 | GET |
---|---|
URL | http://API_ADDRESS/ipc/video/file/list |
HTTP头部 | api-key 与 authorization 二选一(必填项) |
URL参数 | product_id=1111, name=test |
HTTP内容 | 无 |
成功返回 | {"data": [{ "product_id": 111, "name": "test", "size": 1024, "date": 1548228623, "desc": "" }], "errno": 0, "error": "succ", "page_info": { "total_num": 0, "page_total": 0, "page_size": 50, "current_page": 1 } } |
说明 | - |