错误码定义:
//-----------------------------------------------------------
//内部错误码
//错误码
#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.设置服务器信息
字段说明:
"name": (字符串) 国标平台的名称
"publicid": (字符串) 国标平台的20位ID (200类型)
"gbserverport": (数字) 国标平台监听的端口
"rtspservrport": (数字) RTSP服务的端口
"httpclientip": (字符串) HTTP客户端的ip(用于报警通知,一般不设置)
"httpclientport": (数字) HTTP客户端的端口(用于报警通知,一般不设置)
"errcode: (数字) 返回状态值,0表示正常状态,其他见错误码(下同)
"errdesc": (字符串) 错误码描述(下同)
请求:
URL: http://192.168.1.230:8060/vssconfig/set_platform_server
HTTP Method: POST
Body:
{"name":"本级平台","publicid":"11000000002000000001","gbserverport":7060,"rtspservrport":7554,"httpclientip":"","httpclientport":0}
返回:
其中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.1.230:8060/vssconfig/get_platform_server
HTTP Method: GET
返回:
其中errcode为必填项,errcode小于0表示错误,无数据
{
"errcode":0,
"errdesc":"OK",
"name":"bejing",
"ipaddr":"192.168.1.230",
"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.1.230:8060/vssconfig/set_upper_platform_server/{type}
HTTP Method: POST
Body:
{"name":"test_upper1","publicid":"11010000002000000001","ip":"192.168.1.230","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.1.230: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.1.230","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.1.230:8060/vssconfig/get_all_device/{pageno}
HTTP Method: GET
返�