Unknown
2019-07-03 de2425e91c80400a6223fe1067355d10e36714a8
说明文档

3个文件已添加
820 ■■■■■ 已修改文件
测试rest.txt 273 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
视频监控平台vss对外协议.doc 补丁 | 查看 | 原始文档 | blame | 历史
视频监控平台vss对外协议.txt 547 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
²âÊÔrest.txt
New file
@@ -0,0 +1,273 @@
需要开放的端口:
mysql数据库端口:3306
srs流媒体服务端口:1935 8080  ï¼ˆTCP)
videosvr视频服务端口: httpserver: 8060 ï¼ˆTCP) rtspserver:7554 ï¼ˆTCP)  å›½æ ‡æœåŠ¡ç«¯å£ï¼š7060 ï¼ˆUDP和TCP) å›½æ ‡æŽ¥æ”¶ç æµç«¯å£ï¼š31000-35000 ï¼ˆUDP和TCP)
一、数据配置管理协议:
1、设置服务器信息:POST
    http://192.168.12.112:8060/vssconfig/set_platform_server?gbsvrid=32000000002000000001&gbsvrport=7060&gbsvrname=国标服务&rtspsvrport=7554
    HTTP Method:    GET
    è¿”回结果:
        {
            "errcode":0,
            "errdesc":"OK"
        }
2、获取服务器信息:GET
    http://192.168.12.112:8060/vssconfig/get_platform_server
    è¿”回结果:
        {
            "errcode":0,
            "errdesc":"OK",
            "name":"本级国标平台",
            "ipaddr":"192.168.12.112",
            "httpserverport":8060,
            "publicid":"11000000002000000001",
            "gbserverport":7060,
            "rtspservrport":7554,
            "httpclientip":"",
            "httpclientport":0
        }
3.设置上级平台信息:POST
    æ›´æ–°æˆ–则增加上级平台信息
    http://192.168.12.112:8060/vssconfig/set_upper_platform_server/update
    HTTP Method:    POST
    Body:
        {"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.1.20","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp"}
    è¿”回结果:
        {
            "errcode":0,
            "errdesc":"OK"
        }
    åˆ é™¤ä¸Šçº§å¹³å°ä¿¡æ¯
    http://192.168.12.112:8060/vssconfig/set_upper_platform_server/delete
    HTTP Method:    POST
    Body:
        {"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.1.30","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp"}
    è¿”回结果:
        {
            "errcode":0,
            "errdesc":"OK"
        }
4.获取上级平台信息:GET
    http://192.168.12.112:8060/vssconfig/get_upper_platform_server/1
    è¿”回结果:
        {
            "errcode":0,"totalsize":2,"onepagesize":10,"totalpage":1,"pageno":1,"count":2,"data":
            [
                {"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.1.20","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp","alive":1},
                {"name":"test_upper2","publicid":"11010000002000000002","ip":"192.168.1.30","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp","alive":1}
            ]
        }
5.获取所有设备信息:GET
    http://192.168.12.112:8060/vssconfig/get_all_device/1
    è¿”回结果:
        {
            "errcode":0,"totalsize":3,"onepagesize":10,"totalpage":1,"pageno":1,"count":3,"data":
            [
                {"publicid":"11000000001320020001","name":"camear1","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.11","port":5060,"username":"","passwd":"","devmode":"gb28181"},
                {"publicid":"11000000001320020002","name":"camear2","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.12","port":5060,"username":"","passwd":"","devmode":"gb28181"},
                {"publicid":"11000000001320020003","name":"camear3","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.13","port":5060,"username":"","passwd":"","devmode":"gb28181"}
            ]
        }
6.设备管理(一般用于删除设备):POST
    åˆ é™¤è®¾å¤‡ï¼š
    http://192.168.12.112:8060/vssconfig/set_device/delete
    HTTP Method:    POST
    Body:
        {
            "count":3,
            "data":
            [
                {"publicid":"11010000001325000001","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"},
                {"publicid":"11016666001320020001","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"},
                {"publicid":"11010000001320020001","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"}
            ]
        }
    è¿”回结果:
        {
            "errcode":0,"errdesc":"OK","count":3,"data":
            [
                {"publicid":'11010000001325000001',"errcode":0,"errdesc":"OK"},
                {"publicid":'11016666001320020001',"errcode":-501,"errdesc":"error 501"},
                {"publicid":'11010000001320020001',"errcode":-502,"errdesc":"error 501"}
            ]
        }
7.获取设备的所有通道资源信息:GET
    http://192.168.12.112:8060/vssconfig/get_all_channel/11010000002000000001/all/1
    è¿”回结果:
    {
        "errcode": 0 ,"errdesc": "OK" ,"totalsize": 5 ,"onepagesize": 100 ,"totalpage": 1 ,"pageno": 1, "count":5,"data":
        [
            {"restype":2,"publicid":"11010000002150000004","name":"28181推送角色","alive":1,"corp":"","model":"","owner":"","civilcode":"","address":"","devpubid":"11010000002000000001","parentid":"11010000002000000001","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":0,"streamtype":0,"realrtspurl":""},
            {"restype":2,"publicid":"11010000002160000009","name":"网关接入摄像机组","alive":1,"corp":"","model":"","owner":"","civilcode":"","address":"","devpubid":"11010000002000000001","parentid":"11010000002150000004","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":0,"streamtype":0,"realrtspurl":""},
            {"restype":1,"publicid":"11010000001310000004","name":"rtsp_69_1","alive":1,"corp":"51","model":"rtsplib_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":104.08116,"latitude":30.68946,"ptztype":3,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000004"},
            {"restype":1,"publicid":"11010000001310000029","name":"成都分公司","alive":1,"corp":"8","model":"hikes_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000029"},
            {"restype":1,"publicid":"11010000001310000030","name":"大华测试摄像机179-1","alive":1,"corp":"1","model":"dahua_IPC","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000030"}
        ]
    }
8.获取设备下的一级资源信息:GET     ï¼ˆæ ¹æ®çˆ¶èŠ‚ç‚¹æŸ¥æ‰¾ï¼‰
    http://192.168.12.112:8060/vssconfig/get_all_channel/11010000002000000001/node/1
    è¿”回结果:
    {
        "errcode": 0 ,"errdesc": "OK" ,"totalsize": 1 ,"onepagesize": 100 ,"totalpage": 1 ,"pageno": 1, "count":1,"data":
        [
            {"restype":2,"publicid":"11010000002150000004","name":"28181推送角色","alive":1,"corp":"","model":"","owner":"","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002000000001","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":0,"streamtype":0,"realrtspurl":""}
        ]
    }
9.获取平台的所有通道资源信息 (不包含资源组) ---->  å¦‚果只接入IPC设备, å»ºè®®é‡‡ç”¨è¯¥æŽ¥å£èŽ·å–èµ„æºä¿¡æ¯
    http://192.168.12.112:8060/vssconfig/get_platform_all_channel/1
    è¿”回结果:
    {
        "errcode": 0 ,"errdesc": "OK" ,"totalsize": 3 ,"onepagesize": 100 ,"totalpage": 1 ,"pageno": 1, "count":3,"data":
        [
            {"restype":1,"publicid":"11010000001310000004","name":"rtsp_69_1","alive":1,"corp":"51","model":"rtsplib_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":104.08116,"latitude":30.68946,"ptztype":3,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000004"},
            {"restype":1,"publicid":"11010000001310000029","name":"成都分公司","alive":1,"corp":"8","model":"hikes_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000029"},
            {"restype":1,"publicid":"11010000001310000030","name":"大华测试摄像机179-1","alive":1,"corp":"1","model":"dahua_IPC","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.12.112:7554/DevAor=11010000001310000030"}
        ]
    }
操作相关接口:
1.PTZ控制
    å‘上:        http://192.168.12.112:8060/vss/ptz/up/100/11000000001325000001
    å‘下:        http://192.168.12.112:8060/vss/ptz/down/100/11000000001325000001
    å‘左:        http://192.168.12.112:8060/vss/ptz/left/100/11000000001325000001
    å‘右:        http://192.168.12.112:8060/vss/ptz/right/100/11000000001325000001
    å·¦ä¸Šï¼š        http://192.168.12.112:8060/vss/ptz/leftup/100/11000000001325000001
    å·¦ä¸‹ï¼š        http://192.168.12.112:8060/vss/ptz/leftdown/100/11000000001325000001
    å³ä¸Šï¼š        http://192.168.12.112:8060/vss/ptz/rightup/100/11000000001325000001
    å³ä¸‹ï¼š        http://192.168.12.112:8060/vss/ptz/rightdown/100/11000000001325000001
    é•œå¤´è¿‘:    http://192.168.12.112:8060/vss/ptz/zoomin/100/11000000001325000001
    é•œå¤´è¿œï¼š    http://192.168.12.112:8060/vss/ptz/zoomout/100/11000000001325000001
    ç„¦è·è¿œï¼š    http://192.168.12.112:8060/vss/ptz/focusfar/100/11000000001325000001
    ç„¦è·è¿‘:    http://192.168.12.112:8060/vss/ptz/focusnear/100/11000000001325000001
    è®¾ç½®é¢„置位:http://192.168.12.112:8060/vss/ptz/setpos/100/11000000001325000001
    è°ƒé¢„置位:    http://192.168.12.112:8060/vss/ptz/callpos/100/11000000001325000001
    åœæ­¢ï¼š        http://192.168.12.112:8060/vss/ptz/stop/0/11000000001325000001
2.录像查询
    http://192.168.12.112:8060/vss/history_search/2018-08-30T00:00:00/2018-08-30T02:00:00/11000000001325000001
    è¿”回结果:
        {
            "errcode":0,"errdesc":"OK","totalsize":16,"onepagesize":16,"totalpage":1,"pageno":1,"count":16,"data":
            [
                {"channelid":"11000000001325000001","begintime":"2018-08-29T23:54:27","endtime":"2018-08-30T00:00:01","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:00:01","endtime":"2018-08-30T00:09:28","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:09:28","endtime":"2018-08-30T00:11:32","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:11:32","endtime":"2018-08-30T00:26:32","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:26:32","endtime":"2018-08-30T00:28:37","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:28:37","endtime":"2018-08-30T00:43:38","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:43:38","endtime":"2018-08-30T00:45:43","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T00:45:43","endtime":"2018-08-30T01:00:43","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:00:43","endtime":"2018-08-30T01:02:48","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:02:48","endtime":"2018-08-30T01:17:50","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:17:50","endtime":"2018-08-30T01:19:54","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:19:54","endtime":"2018-08-30T01:34:54","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:34:54","endtime":"2018-08-30T01:37:00","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:37:00","endtime":"2018-08-30T01:52:00","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:52:00","endtime":"2018-08-30T01:54:05","filename":"成都分公司ipc","type":"all"},
                {"channelid":"11000000001325000001","begintime":"2018-08-30T01:54:05","endtime":"2018-08-30T02:09:04","filename":"成都分公司ipc","type":"all"}
            ]
        }
3.设备控制
    æ‰‹åŠ¨å½•åƒå¼€å¯ï¼šhttp://192.168.12.112:8060/vss/device_ctrl/record/11000000001325000001/start
    æ‰‹åŠ¨å½•åƒåœæ­¢: http://192.168.12.112:8060/vss/device_ctrl/record/11000000001325000001/stop
    è¿”回结果:
        {
            "errcode":0,
            "errdesc":"OK"
        }
4. å®žæ—¶æˆªå›¾
    å­—段说明:
    "channelid":  (字符串)   é€šé“20位编号
    "type":       (数字)        å›½æ ‡è¯·æ±‚视频类型:1:udp 2:tcp主动 3:tcp被动
    "errcode":    (数字)   è¿”回值,0表示成功,其他见错误码
    "imageurl":    (字符串) å›¾ç‰‡çš„url地址
请求:
    URL:    http://192.168.12.112:8060/vss/get_image/11000000001320020001/1
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据
    {
        "errcode":0,
        "errdesc":"OK",
        "imagetime":"2019-03-04T11:44:16",
        "imageurl":"http://192.168.12.112:8088/image/11000000001320020001.jpg"
    }
5. é‡æ–°èŽ·å–èµ„æºç›®å½•
    å­—段说明:
    "devpubid":  (字符串)   è®¾å¤‡20位编号
请求:
    URL:    http://192.168.12.112:8060/vss/get_catalog/11010000002000000001
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {
        "errccode":0,
        "errdesc":"OK"
    }
二、报警通知
    è§†é¢‘服务器作为httpclient
    URL:    http://192.168.12.112:8060/vssalarm
    HTTP Method:    POST
    Body:
    æ‰€æœ‰å­—段都为必填项
    {"channelid":"11000000001325000001","alarmtype":1,"alarmtime":"2017-09-19T15:13:24","alarmdesc":"fire","longitude":"10.01123","latitude":"20.34221"}
ÊÓÆµ¼à¿ØÆ½Ì¨vss¶ÔÍâЭÒé.doc
Binary files differ
ÊÓÆµ¼à¿ØÆ½Ì¨vss¶ÔÍâЭÒé.txt
New file
@@ -0,0 +1,547 @@
错误码定义:
//-----------------------------------------------------------
//内部错误码
//错误码
#define ERR_OK                      0      //成功            //OK
#define ERR_JSON                    -71    //json解析失败      //Parse Json Failed
#define ERR_PERSE                   -72    //协议解析出错    //Protocol Resolution Error
#define ERR_PARAM                   -73    //参数错误        //Parameter Error
#define ERR_NODATA                  -74    //无数据            //No Data
#define ERR_BULID_URL               -75    //构造url失败    //Build Url Failed
#define ERR_TIMEOUT                 -81    //请求超时        //Request Timeout
#define ERR_DEVICE_OFFLINE          -82    //设备下线        //Device Offline
#define ERR_DEVICE_NOTEXIST         -83    //设备不存在        //Device Not Exist
#define ERR_DEVICE_NOINIT           -84    //设备未初始化    //Device Not Init
#define ERR_DEVCHAN_NOTEXIST        -85    //通道不存在        //Channel Not Exist
#define ERR_VIDEO_REQ_FAIL          -200    //视频请求失败                //Video Request Failed
#define ERR_VIDEO_REQ_NOTEXIST      -201    //视频不存在                //Video Not Exist
#define ERR_PTZ_CONTRL_FAIL         -202    //ptz控制失败                //PTZ Control Failed
#define ERR_VOD_RECORD_QUERY_FAIL   -203    //录像查询失败                //Vod Query Failed
#define ERR_VOD_CONTRL_FAIL         -204    //点播控制失败                //Vod Control Failed
#define ERR_VOD_NOSESSION           -205    //没有找到点播下载句柄        //Vod Session Not Exist
#define ERR_VSS_NO_MEMORY           -300    //申请内存失败
#define ERR_PORT_ALLOCAT_FAIL       -301    //端口分配失败                //Port allocation failure
//内部错误码
#define ERR_PARTERROR               -1001    //部分成功                    //Internal Error
通道为请求视频的单位,通道id生成方式:
    é‡‡ç”¨20位国标id的方式:
一、数据配置管理协议:
1.设置服务器信息
    å­—段说明:
    "gbsvrname":    (字符串)   å›½æ ‡å¹³å°çš„名称
    "gbsvrid":     (字符串)   å›½æ ‡å¹³å°çš„20位ID ï¼ˆ200类型)
    "gbsvrport":   (数字)      å›½æ ‡å¹³å°ç›‘听的端口
    "rtspsvrport":  (数字)      RTSP服务的端口
    "errcode:    (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":   (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
请求:
    URL:    http://192.168.0.10:8060/vssconfig/set_platform_server?gbsvrid=32000000002000000001&gbsvrport=7060&gbsvrname=国标服务&rtspsvrport=7554
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {
        "errcode":0,
        "errdesc":"OK"
    }
2.获取服务器信息 (根节点)
    å­—段说明:
    "name":           (字符串)   å›½æ ‡å¹³å°çš„名称
    "publicid":     (字符串)   å›½æ ‡å¹³å°çš„20位ID ï¼ˆ200类型)
    "gbserverport":   (数字)      å›½æ ‡å¹³å°ç›‘听的端口
    "rtspservrport":  (数字)      RTSP服务的端口
    "httpclientip":   (字符串)   HTTP客户端的ip(用于报警通知,一般不设置)
    "httpclientport": (数字)      HTTP客户端的端口(用于报警通知,一般不设置)
    "errcode:    (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":   (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_platform_server
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据
    {
        "errcode":0,
        "errdesc":"OK",
        "name":"bejing",
        "ipaddr":"192.168.0.10",
        "httpserverport":8060,
        "publicid":"11000000002000000001",
        "gbserverport":7060,
        "rtspservrport":7554,
        "httpclientip":"",
        "httpclientport":0
    }
3.设置上级平台信息
    å­—段说明:
    "type":            (字符串)   ä¸Šçº§å¹³å°è®¾ç½®çš„类型  update-更新和增加  delete-删除
    "name":              (字符串)   ä¸Šçº§å¹³å°çš„名称
    "publicid":       (字符串)   ä¸Šçº§å›½æ ‡å¹³å°çš„20位ID ï¼ˆ200类型)
    "ip":             (字符串)   ä¸Šçº§å›½æ ‡å¹³å°çš„ip地址
    "port":           (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„端口
    "authname":         (字符串)      ä¸Šçº§å›½æ ‡å¹³å°è®¤è¯çš„用户名
    "authpasswd":        (字符串)      ä¸Šçº§å›½æ ‡å¹³å°è®¤è¯çš„密码
    "registertime":   (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„æ³¨å†Œé¥±å’Œæ—¶é—´é—´éš”
    "keepalivetime":  (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„心跳饱和时间间隔
    "synctime":       (字符串)   æ˜¯å¦åŒæ­¥ä¸Šçº§å¹³å°çš„æ—¶é—´
    "pushprotocol":   (字符串)   èµ„源返回或则录像检索返回采用的协议方式(UDP或则TCP) (目前只支持UDP)
    "errcode:    (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":   (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
请求:
    URL:    http://192.168.0.10:8060/vssconfig/set_upper_platform_server/{type}
    HTTP Method:    POST
    Body:
    {"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.0.10","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp"}
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {
        "errcode":0,
        "errdesc":"OK"
    }
4.获取上级平台信息
    å­—段说明:
    "pageno":      (数字)   æŒ‡å®šèŽ·å–ç¬¬å‡ é¡µï¼Œç¬¬ä¸€æ¬¡ä¸º1,返回总页数,总条数
    "errcode:      (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":     (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
    "totalsize":   (数字)   è®¾å¤‡æ€»æ•°  ï¼ˆä¸‹åŒï¼‰
    "onepagesize": (数字)   æ¯é¡µå¤§å°  ï¼ˆä¸‹åŒï¼‰
    "totalpage":   (数字)   æ€»åˆ†é¡µæ•°  ï¼ˆä¸‹åŒï¼‰
    "pageno":      (数字)   å½“前第几页(下同)
    "count":       (数字)   å½“前有几条数据(下同)
    "data":        è®¾å¤‡ä¿¡æ¯ï¼Œå‚照“1.设备管理”定义
    "name":              (字符串)   ä¸Šçº§å¹³å°çš„名称
    "publicid":       (字符串)   ä¸Šçº§å›½æ ‡å¹³å°çš„20位ID ï¼ˆ200类型)
    "ip":             (字符串)   ä¸Šçº§å›½æ ‡å¹³å°çš„ip地址
    "port":           (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„端口
    "authname":         (字符串)      ä¸Šçº§å›½æ ‡å¹³å°è®¤è¯çš„用户名
    "authpasswd":        (字符串)      ä¸Šçº§å›½æ ‡å¹³å°è®¤è¯çš„密码
    "registertime":   (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„æ³¨å†Œé¥±å’Œæ—¶é—´é—´éš”
    "keepalivetime":  (数字)      ä¸Šçº§å›½æ ‡å¹³å°çš„心跳饱和时间间隔
    "synctime":       (字符串)   æ˜¯å¦åŒæ­¥ä¸Šçº§å¹³å°çš„æ—¶é—´
    "pushprotocol":   (字符串)   èµ„源返回或则录像检索返回采用的协议方式(UDP或则TCP) (目前只支持UDP)
    "alive"              (数字)     0-不在线  1-在线
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_upper_platform_server/{pageno}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {
        "errcode":0,"totalsize":3,"onepagesize":10,"totalpage":1,"pageno":1,"count":3,"data":
        [
            {"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.0.10","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp","alive":1},
            {"name":"test_upper2","publicid":"11010000002000000002","ip":"192.168.1.240","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp","alive":1},
            {"name":"test_upper3","publicid":"11010000002000000003","ip":"192.168.1.250","port":5060,"authname":"11010000002000000001","authpasswd":"12345678a","registertime":3600,"keepalivetime":60,"synctime":"false","pushprotocol":"udp","alive":1}
        ]
    }
5.获取所有的设备信息 ï¼ˆäºŒçº§æ ¹èŠ‚ç‚¹ï¼‰
    å­—段说明:
    "pageno":      (数字)   æŒ‡å®šèŽ·å–ç¬¬å‡ é¡µï¼Œç¬¬ä¸€æ¬¡ä¸º1,返回总页数,总条数
    "errcode:      (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":     (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
    "totalsize":   (数字)   è®¾å¤‡æ€»æ•°  ï¼ˆä¸‹åŒï¼‰
    "onepagesize": (数字)   æ¯é¡µå¤§å°  ï¼ˆä¸‹åŒï¼‰
    "totalpage":   (数字)   æ€»åˆ†é¡µæ•°  ï¼ˆä¸‹åŒï¼‰
    "pageno":      (数字)   å½“前第几页(下同)
    "count":       (数字)   å½“前有几条数据(下同)
    "data":        è®¾å¤‡ä¿¡æ¯ï¼Œå‚照“1.设备管理”定义
    "publicid":   (字符串)   å›½æ ‡è®¾å¤‡20位id
    "name":       (字符串)   èµ„源名称
    "alive":         (数字)      çŠ¶æ€ 0:不在线 1:在线
    "corp":        (字符串)      åނ商
    "parentid":   (字符串)      çˆ¶èŠ‚ç‚¹id
    "ip":         (字符串)   ip地址
    "port":       (数字)     ç«¯å£
    "username"      (字符串)   è®¾å¤‡æ³¨å†Œç”¨æˆ·å
    "passwd"      (字符串)   è®¾å¤‡æ³¨å†Œå¯†ç 
    "devmode"      (字符串)   è®¾å¤‡ç±»åž‹
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_all_device/{pageno}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {
        "errcode":0,"totalsize":4,"onepagesize":100,"totalpage":1,"pageno":1,"count":4,"data":
        [
            {"publicid":"11000000001320020001","name":"camear1","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.11","port":5060,"username":"","passwd":"","devmode":"gb28181"},
            {"publicid":"11000000001320020002","name":"camear2","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.12","port":5060,"username":"","passwd":"","devmode":"gb28181"},
            {"publicid":"11000000001320020003","name":"camear3","alive":1,"corp":"Dahua","parentid":"11010000002000000001","ip":"192.168.1.13","port":5060,"username":"","passwd":"","devmode":"gb28181"}
        ]
    }
6.    è®¾å¤‡ç®¡ç†  ï¼ˆä¸€èˆ¬ç”¨äºŽåˆ é™¤è®¾å¤‡ï¼‰
    æ–¹æ³•说明:
    "type":            (字符串)   ä¸Šçº§å¹³å°è®¾ç½®çš„类型  update-更新和增加  delete-删除
    å­—段说明:
    "publicid":   (字符串)   å›½æ ‡è®¾å¤‡20位id
    "name":       (字符串)   èµ„源名称
    "ip":         (字符串)   ip地址
    "port":       (数字)     ç«¯å£
    "username"      (字符串)   è®¾å¤‡æ³¨å†Œç”¨æˆ·å ï¼ˆä¸€èˆ¬ä¸å¡«å†™ï¼‰
    "passwd"      (字符串)   è®¾å¤‡æ³¨å†Œå¯†ç     ï¼ˆä¸€èˆ¬ä¸å¡«å†™ï¼‰
    "devmode"      (字符串)   è®¾å¤‡ç±»åž‹   ï¼ˆé»˜è®¤gb28181)
    "errcode:    (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":   (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
    "devid":     (数字)   è¿”回设备编号
请求:
    URL:    http://192.168.0.10:8060/vssconfig/set_device/{type}
    HTTP Method:    POST
    Body:
    {
        "count":3,
        "data":
        [
            {"publicid":"11000000001320020001","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"},
            {"publicid":"11000000001320020002","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"},
            {"publicid":"11000000001320020003","name":"hik_1","ip":"192.168.45.15", "port":8000,"username":"", "passwd":"", "devmode":"gb28181"}
        ]
    }
返回:
    å…¶ä¸­errcode为必填,errcode小于0表示错误,无数据
    {
        "errcode":0,"errdesc":"OK","count":3,"data":
        [
            {"publicid":'11000000001320020001',"errcode":0,"errdesc":"OK"},
            {"publicid":'11000000001320020001',"errcode":-501,"errdesc":"error 501"},
            {"publicid":'11000000001320020001',"errcode":-502,"errdesc":"error 501"}
        ]
    }
7.获取设备的所有通道资源信息
    å­—段说明:
    "pageno":      (数字)   æŒ‡å®šèŽ·å–ç¬¬å‡ é¡µï¼Œç¬¬ä¸€æ¬¡ä¸º1,返回总页数,总条数
    "devpubid":       (字符串) æ³¨å†Œçš„设备id
    "type"           (字符串) "all"-表示获取设备的所有资源  "node"-父节点下的第一级资源
    "errcode:      (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":     (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
    "totalsize":   (数字)   è®¾å¤‡æ€»æ•°  ï¼ˆä¸‹åŒï¼‰
    "onepagesize": (数字)   æ¯é¡µå¤§å°  ï¼ˆä¸‹åŒï¼‰
    "totalpage":   (数字)   æ€»åˆ†é¡µæ•°  ï¼ˆä¸‹åŒï¼‰
    "pageno":      (数字)   å½“前第几页(下同)
    "count":       (数字)   å½“前有几条数据(下同)
    "data":        è®¾å¤‡ä¿¡æ¯ï¼Œå‚照“1.设备管理”定义
    "restype":      (数字)     1-通道资源 2-资源组
    "publicid":  (字符串)   å›½æ ‡èµ„源通道20位id ï¼ˆç”¨äºŽè¯·æ±‚视频、控制等操作)
    "name":       (字符串)   èµ„源名称
    "alive":         (数字)      çŠ¶æ€ 0:不在线 1:在线
    "corp":        (字符串)      åނ商
    "owner":         (字符串)   è®¾å¤‡å½’属
    "civilcode":  (字符串)      è¡Œæ”¿åŒºåŸŸ ï¼ˆå¯ä»¥æŒ‰ç…§è¡Œæ”¿åŒºåŸŸè¿›è¡Œåˆ’分资源组)
    "address":    (字符串)      åœ°å€
    "devpubid":   (字符串)      é€šé“的设备id
    "parentid":   (字符串)      çˆ¶èŠ‚ç‚¹id
    "ip":         (字符串)   ip地址
    "port":       (数字)     ç«¯å£
    "longitude":  (数字)     ç»åº¦
    "latitude":   (数字)     çº¬åº¦
    "ptztype":    (数字)     æŽ§åˆ¶ç±»åž‹ 1-球机;2-半球;3-固定枪机;4-遥控枪机;
    "streamtype": (数字)     ç æµç±»åž‹ 0-H264;1-MPEG2;2-MPEG4;3-SVAC;4-3GP;5-H265;
    "realrtspurl":(字符串)   å®žæ—¶è§†é¢‘çš„rtsp地址
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_all_channel/{devpubid}/{type}/{pageno}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {
        "errcode": 0 ,"errdesc": "OK" ,"totalsize": 5 ,"onepagesize": 100 ,"totalpage": 1 ,"pageno": 1, "count":13,"data":
        [
            {"restype":2,"publicid":"11010000002150000004","name":"28181推送角色","alive":1,"corp":"","model":"","owner":"","civilcode":"","address":"","devpubid":"11010000002000000001","parentid":"11010000002000000001","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":0,"streamtype":0,"realrtspurl":""},
            {"restype":2,"publicid":"11010000002160000009","name":"网关接入摄像机组","alive":1,"corp":"","model":"","owner":"","civilcode":"","address":"","devpubid":"11010000002000000001","parentid":"11010000002150000004","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":0,"streamtype":0,"realrtspurl":""},
            {"restype":1,"publicid":"11010000001310000004","name":"rtsp_69_1","alive":1,"corp":"51","model":"rtsplib_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":104.08116,"latitude":30.68946,"ptztype":3,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000004"},
            {"restype":1,"publicid":"11010000001310000029","name":"成都分公司","alive":1,"corp":"8","model":"hikes_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000029"},
            {"restype":1,"publicid":"11010000001310000030","name":"大华测试摄像机179-1","alive":1,"corp":"1","model":"dahua_IPC","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000030"}
        ]
    }
资源组展现方式:(完全采用下级注册资源展现方式)
    æœ¬çº§å¹³å°çš„(Svrtbl)
        --注册设备1(VSSDevtbl)
            --注册设备下的资源组1 ï¼ˆVSSChannelTbl)
                --通道资源 ï¼ˆVSSChannelTbl)
            --注册设备下的资源组2 ï¼ˆVSSChannelTbl)
                --通道资源 ï¼ˆVSSChannelTbl)
        --注册设备2(VSSDevtbll)
            --通道资源 ï¼ˆVSSChannelTbl)
资源树展现:
    ä¸€çº§èµ„源组(国标服务名称:http://192.168.0.10:8060/vssconfig/get_platform_server)
        --二级资源组 ï¼ˆè®¾å¤‡ä¿¡æ¯ï¼šhttp://192.168.0.10:8060/vssconfig/get_all_device/{pageno})
            --三级资源组 ï¼ˆrestype=2 é€šé“资源:http://192.168.0.10:8060/vssconfig/get_all_channel/{devpubid}/node/{pageno})
                --通道资源 ï¼ˆrestype=1 é€šé“资源:http://192.168.0.10:8060/vssconfig/get_all_channel/{devpubid}/node/{pageno})
        --二级资源组 ï¼ˆè®¾å¤‡ä¿¡æ¯ï¼šhttp://192.168.0.10:8060/vssconfig/get_all_device/{pageno})
            --通道资源 ï¼ˆrestype=1 é€šé“资源:http://192.168.0.10:8060/vssconfig/get_all_channel/{devpubid}/node/{pageno})
8.获取平台的所有通道资源信息 (不包含资源组) ---->  å¦‚果只接入IPC设备, å»ºè®®é‡‡ç”¨è¯¥æŽ¥å£èŽ·å–èµ„æºä¿¡æ¯
    å­—段说明:
    "pageno":      (数字)   æŒ‡å®šèŽ·å–ç¬¬å‡ é¡µï¼Œç¬¬ä¸€æ¬¡ä¸º1,返回总页数,总条数
    "errcode:      (数字)   è¿”回状态值,0表示正常状态,其他见错误码(下同)
    "errdesc":     (字符串) é”™è¯¯ç æè¿°ï¼ˆä¸‹åŒï¼‰
    "totalsize":   (数字)   è®¾å¤‡æ€»æ•°  ï¼ˆä¸‹åŒï¼‰
    "onepagesize": (数字)   æ¯é¡µå¤§å°  ï¼ˆä¸‹åŒï¼‰
    "totalpage":   (数字)   æ€»åˆ†é¡µæ•°  ï¼ˆä¸‹åŒï¼‰
    "pageno":      (数字)   å½“前第几页(下同)
    "count":       (数字)   å½“前有几条数据(下同)
    "data":        è®¾å¤‡ä¿¡æ¯ï¼Œå‚照“1.设备管理”定义
    "restype":      (数字)     1-通道资源 2-资源组
    "publicid":  (字符串)   å›½æ ‡èµ„源通道20位id ï¼ˆç”¨äºŽè¯·æ±‚视频、控制等操作)
    "name":       (字符串)   èµ„源名称
    "alive":         (数字)      çŠ¶æ€ 0:不在线 1:在线
    "corp":        (字符串)      åނ商
    "owner":         (字符串)   è®¾å¤‡å½’属
    "civilcode":  (字符串)      è¡Œæ”¿åŒºåŸŸ ï¼ˆå¯ä»¥æŒ‰ç…§è¡Œæ”¿åŒºåŸŸè¿›è¡Œåˆ’分资源组)
    "address":    (字符串)      åœ°å€
    "devpubid":   (字符串)      é€šé“的设备id
    "parentid":   (字符串)      çˆ¶èŠ‚ç‚¹id
    "ip":         (字符串)   ip地址
    "port":       (数字)     ç«¯å£
    "longitude":  (数字)     ç»åº¦
    "latitude":   (数字)     çº¬åº¦
    "ptztype":    (数字)     æŽ§åˆ¶ç±»åž‹ 1-球机;2-半球;3-固定枪机;4-遥控枪机;
    "streamtype": (数字)     ç æµç±»åž‹ 0-H264;1-MPEG2;2-MPEG4;3-SVAC;4-3GP;5-H265;
    "realrtspurl":(字符串)   å®žæ—¶è§†é¢‘çš„rtsp地址
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_platform_all_channel/{pageno}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {
        "errcode": 0 ,"errdesc": "OK" ,"totalsize": 3 ,"onepagesize": 100 ,"totalpage": 1 ,"pageno": 1, "count":13,"data":
        [
            {"restype":1,"publicid":"11010000001310000004","name":"rtsp_69_1","alive":1,"corp":"51","model":"rtsplib_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":104.08116,"latitude":30.68946,"ptztype":3,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000004"},
            {"restype":1,"publicid":"11010000001310000029","name":"成都分公司","alive":1,"corp":"8","model":"hikes_ipc","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000029"},
            {"restype":1,"publicid":"11010000001310000030","name":"大华测试摄像机179-1","alive":1,"corp":"1","model":"dahua_IPC","owner":"11010000002000000001","civilcode":"1101","address":"","devpubid":"11010000002000000001","parentid":"11010000002160000009","ip":"","port":0,"longitude":0.0,"latitude":0.0,"ptztype":1,"streamtype":0,"realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000030"}
        ]
    }
9.获取单个设备或则通道的信息
    å­—段说明:
    "publicid":    (字符串)   è®¾å¤‡æˆ–则通道信息
    "restype":      (数字)     1-通道资源 2-资源组
    "publicid":  (字符串)    å›½æ ‡èµ„源通道20位id ï¼ˆç”¨äºŽè¯·æ±‚视频、控制等操作)
    "name":       (字符串)   èµ„源名称
    "alive":         (数字)      çŠ¶æ€ 0:不在线 1:在线
    "corp":        (字符串)      åނ商
    "owner":         (字符串)   è®¾å¤‡å½’属
    "civilcode":  (字符串)      è¡Œæ”¿åŒºåŸŸ ï¼ˆå¯ä»¥æŒ‰ç…§è¡Œæ”¿åŒºåŸŸè¿›è¡Œåˆ’分资源组)
    "address":    (字符串)      åœ°å€
    "devpubid":   (字符串)      é€šé“的设备id
    "parentid":   (字符串)      çˆ¶èŠ‚ç‚¹id
    "ip":         (字符串)   ip地址
    "port":       (数字)     ç«¯å£
    "longitude":  (数字)     ç»åº¦
    "latitude":   (数字)     çº¬åº¦
    "ptztype":    (数字)     æŽ§åˆ¶ç±»åž‹ 1-球机;2-半球;3-固定枪机;4-遥控枪机;
    "streamtype": (数字)     ç æµç±»åž‹ 0-H264;1-MPEG2;2-MPEG4;3-SVAC;4-3GP;5-H265;
    "realrtspurl":(字符串)   å®žæ—¶è§†é¢‘çš„rtsp地址
请求:
    URL:    http://192.168.0.10:8060/vssconfig/get_device_info/{publicid}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {
        "errcode":0,
        "errdesc":"OK",
        "restype":1,
        "publicid":"11010000001310000004",
        "name":"rtsp_69_1",
        "alive":1,
        "corp":"51",
        "model":"rtsplib_ipc",
        "owner":"11010000002000000001",
        "civilcode":"1101","address":"",
        "devpubid":"11010000002000000001",
        "parentid":"11010000002160000009",
        "ip":"",
        "port":0,
        "longitude":104.08116,
        "latitude":30.68946,
        "ptztype":3,
        "streamtype":0,
        "realrtspurl":"rtsp://192.168.0.10:7554/DevAor=11010000001310000004"
    }
二、通信接口:
    è§†é¢‘服务器作为httpserver。
1.    PTZ云台控制
    å­—段说明:
    "channelid":  (字符串)   é€šé“20位编号
    "ptztype":   (字符串) æŽ§åˆ¶ç±»åž‹ï¼šä¸Š"up",下"down",å·¦"left",右"right",左上"leftup",左下"leftdown",右上"rightup",右下"rightdown",镜头近"zoomin",镜头远"zoomout",
                            ç„¦è·è¿œ"focusfar",焦距近"focusnear", è®¾ç½®é¢„置位"setpos",调预置位"callpos",停止"stop"
    "ptzparam":   (数字)   å‚数,速度范围为1-255
请求:
    URL:    http://192.168.0.10:8088/vss/ptz/{ptztype}/{ptzparam}/{channelid}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {"errcode":0,"errdesc":"OK"}
2.    å½•像查询
    å­—段说明:
    "channelid":   (字符串)   é€šé“20位编号
    "begintime":   (字符串) "YYYY-MM-DDTHH:MM:SS":  å¹´æœˆæ—¥æ—¶åˆ†ç§’; å¼€å§‹æ—¶é—´ï¼Œæ³¨æ„ä¸å…¨0
    "endtime":     (字符串) "YYYY-MM-DDTHH:MM:SS":  å¹´æœˆæ—¥æ—¶åˆ†ç§’; ç»“束时间,注意不全0
    "data":        å½•像查询信息
    "begintime":   (字符串) "YYYY-MM-DDTHH:MM:SS":  å¹´æœˆæ—¥æ—¶åˆ†ç§’; å¼€å§‹æ—¶é—´ï¼Œæ³¨æ„ä¸å…¨0
    "endtime":     (字符串) "YYYY-MM-DDTHH:MM:SS":  å¹´æœˆæ—¥æ—¶åˆ†ç§’; ç»“束时间,注意不全0
    "filename":    (字符串) æ–‡ä»¶åï¼Œä¸ä¸€å®šç”¨ï¼Œå¦‚果根据文件回放才用,根据时间回放不用
    "type":      ï¼ˆå­—符串)录像类型 all,time,alarm,manual
请求:
    URL:    http://192.168.0.10:8088/vss/history_search/{begintime}/{endtime}/{channelid}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误,无数据; å¦‚æžœerrcode等于0,那么数据里面的每项都是必填项
    {"errcode":0,"errdesc":"OK","totalsize":3,"onepagesize":100,"totalpage":1,"pageno":1,"count":3,"data":
        [
            {"channelid":11000000001325000001,"begintime":"2017-09-19T15:13:24","endtime":"2017-09-19T15:38:34","filename":"101101001_0","type":"all"},
            {"channelid":11000000001325000001,"begintime":"2017-09-19T15:56:52","endtime":"2017-09-19T16:03:10","filename":"101101001_2","type":"all"},
            {"channelid":11000000001325000001,"begintime":"2017-09-19T16:06:42","endtime":"2017-09-19T17:28:55","filename":"101101001_4","type":"all"}
        ]
    }
3.     è®¾å¤‡æŽ§åˆ¶
    å­—段说明:
    "channelid":  (字符串)   é€šé“或者设备20位编号
    "devctrltype": (字符串)  "record":录像开启和停止-通道id "guard":布放和撤防-报警通道id "reboot":设备重启-设备id "keyfame":强制关键帧-通道id
    "param":  (字符串) "start"启动,"stop"停止
请求:
    URL:    http://192.168.0.10:8060/vss/device_ctrl/{devctrltype}/{channelid}/{param}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {"errccode":0,"errdesc":"OK"}
4.     é‡æ–°èŽ·å–èµ„æºç›®å½•
    å­—段说明:
    "devpubid":  (字符串)   è®¾å¤‡20位编号
请求:
    URL:    http://192.168.0.10:8060/vss/get_catalog/{devpubid}
    HTTP Method:    GET
返回:
    å…¶ä¸­errcode为必填项,errcode小于0表示错误
    {"errccode":0,"errdesc":"OK"}
三、报警通知
    è§†é¢‘服务器作为httpclient
    æ–¹æ³•说明:
    å­—段说明:
    "channelid":  (字符串)   é€šé“20位编号
    "alarmtype": ï¼ˆæ•°å­—) æŠ¥è­¦ç±»åž‹ï¼ˆåŽç»­æ ¹æ®éœ€æ±‚定义)
    "alarmtime":  (字符串) "YYYY-MM-DDTHH:MM:SS":  å¹´æœˆæ—¥ æ—¶åˆ†ç§’; æŠ¥è­¦æ—¶é—´
    "alarmdesc":  (字符串) æŠ¥è­¦æè¿°
    "longitude":  (字符串) ç»åº¦
    "latitude":      (字符串) çº¬åº¦
请求:
    URL:    http://192.168.0.10:8088/vssalarm
    HTTP Method:    POST
    Body:
    æ‰€æœ‰å­—段都为必填项
    {"channelid":"11000000001325000001","alarmtype":1,"alarmtime":"2017-09-19T15:13:24","alarmdesc":"fire","longitude":"10.01123","latitude":"20.34221"}