卡口通信协议卡口接入服务器通信协议Word格式.docx
《卡口通信协议卡口接入服务器通信协议Word格式.docx》由会员分享,可在线阅读,更多相关《卡口通信协议卡口接入服务器通信协议Word格式.docx(93页珍藏版)》请在冰豆网上搜索。
![卡口通信协议卡口接入服务器通信协议Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/66ab358a-4f9f-4d69-acbd-3de1be73d310/66ab358a-4f9f-4d69-acbd-3de1be73d3101.gif)
5.1协议枚举定义值规则说明12
5.2手持终端与中心服务器通信枚举12
5.3卡口设备与中心服务器通信枚举19
5.4通用响应枚举21
6手持终端22
6.1登录22
6.2保持在线23
6.3用户管理24
6.3.1获取用户列表24
6.3.2添加帐号24
6.3.3修改用户25
6.3.1删除帐号25
6.4修改密码25
6.5卡口管理26
6.5.1获取卡口列表26
6.5.2添加卡口设备26
6.5.3修改卡口设备27
6.5.4删除卡口设备27
6.6对讲28
6.6.1发起对讲28
6.6.2收到对讲28
6.6.3结束对讲29
6.6.4对方结束对讲30
6.7实时语音广播30
6.7.1发起广播30
6.7.2结束广播30
6.7.3卡口结束广播31
6.8摄像机参数设置31
6.8.1获取摄像机参数31
6.8.2设置摄像机参数33
6.9摄像机录像设置34
6.9.1获取录像计划34
6.9.2设置录像计划34
6.10摄像机录像设置35
6.10.1获取抓图参数35
6.10.2设置抓图参数36
6.11区域入侵侦测开关36
6.11.1获取区域入侵侦测36
6.11.2设置区域入侵侦测37
6.12摄像机报警38
6.13摄像机状态39
6.13.1摄像机上线39
6.13.2摄像机掉线39
6.14卡口状态39
6.14.1卡口上线39
6.14.2卡口掉线39
6.15订阅设备状态40
6.16取消订阅设备状态40
6.17通知添加卡口设备40
6.18通知删除卡口设备41
6.19获取卡口详细信息41
6.20获取报警录音文件列表41
6.21获取报警录音文件42
6.22上传报警录音文件42
6.23添加报警录音文件42
6.24修改报警录音文件43
6.25删除报警录音文件43
6.26获取广播录音文件列表44
6.27获取广播录音文件44
6.28上传广播录音文件44
6.29添加广播录音文件44
6.30修改广播录音文件45
6.31删除广播录音文件45
6.32卡口报警联动46
6.32.1获取卡口报警联动46
6.32.2获取卡口报警联动录音文件46
6.32.3上传卡口报警联动录音文件47
6.32.4设置卡口报警联动47
6.33文件上传下载47
6.33.1下载文件47
6.33.2上传文件48
6.33.3取消流传输49
6.33.4收到取消流传输49
6.34卡口广播49
6.34.1获取卡口广播49
6.34.2设置卡口广播50
6.34.3获取卡口广播录音文件51
6.34.4上传卡口广播录音文件51
6.35卡口LED显示51
6.35.1获取卡口LED显示配置51
6.34.2设置卡口LED显示配置52
6.36预览卡口视频53
6.36.1开流53
6.36.2关流54
6.37录像查询54
6.37.1查询月录像(查询一个月中那些天有录像)54
6.37.2查询录像详细55
6.38查询报警图片56
6.38.1查询报警图片56
6.38.2获取报警抓图58
6.39录像回放58
6.39.1请求录像回放58
6.39.2快播,慢播,暂停,继续59
6.39.3停止回放59
6.40录像下载60
6.41控制云台60
6.42到预置位60
6.43开关扫描61
6.44获取扫描状态61
6.45获取卡口设备状态62
6.46开关卡口设备电源62
6.47获取气象信息63
7卡口设备63
7.1向卡口注册63
7.2对讲64
7.2.1发起对讲64
7.2.2收到对讲64
7.2.3结束对讲65
7.2.4对方结束对讲66
7.3实时语音广播66
7.3.1手机请求广播66
7.3.2手机挂断广播66
7.4卡口报警联动67
7.4.1获取卡口报警联动67
7.4.2获取卡口报警联动录音文件67
7.5上传下载68
7.5.1收到下载请求68
7.5.2收到上传请求69
7.5.3收到取消流传输70
7.6卡口广播70
7.6.1获取卡口广播70
7.6.2设置卡口广播71
7.6.3获取卡口广播录音文件71
7.6.4上传卡口广播录音文件71
7.7卡口LED显示72
7.7.1获取卡口LED显示配置72
7.7.2设置卡口LED显示配置73
7.8报警通知到卡口74
7.9通知卡口同步时间74
7.10控制云台74
7.11到预置位75
7.12开关扫描75
7.13获取扫描状态76
7.14获取卡口设备状态76
7.15开关卡口设备电源77
7.16获取气象信息77
8网页配置78
8.1网页登录78
1引言
1.1编写目的
1.2背景
1.3定义
卡口通信协议(卡口接入服务器通信协议),下文列出本文件中用到专门术语的定义和外文首字母组词的原词组。
卡口接入服务器:
卡口设备、IP摄像机,手持终端通过卡口接入服务器处理数据,转发信令,存取数据库,视音频转发。
手持终端:
安卓下开发的一款远程管理前端卡口等。
中心服务器:
卡口接入服务器简写
1.4参考资料
方案资料:
2文档约定
为方便阅读该文档,发起方使用如下所示的图形表示:
响应方,使用另一种图形表示:
3系统的结构
4传输协议
数据的传输协议由卡口接入服务器统一约定,各客户端逐步实现协议规范。
4.1协议介绍
目前,实现数据传输协议的设备有手机和卡口设备和IP摄像机,卡口设备、手持终端同卡口接入服务器通信采用DKLPRT(XX实时通信协议)。
当前借鉴RTMP协议的子协议AMF,该协议是Adobe公司的协议,主要用于数据交互和远程过程调用,在功能上与WebService相当。
其特点主要有:
•基于远程的异步方法调用
•数据压缩率高
•支持20种数据类型,满足各种使用场景
•统一格式解析方法
•便于系统扩展
4.2协议说明
手持终端和卡口设备与卡口接入服务器进行数据传输时,每次传输的数据包由数据头和数据内容两部分组成;
下面以手持终端登录为例说明协议规则,手持终端向卡口接入服务器发送的数据(以十六进制表示)如下:
030000000000000076000100001300030007436d64547970650600000001000d5472616e73616374696f6e4964110020396531376466663030366236343663363838653863313838656163626135666500064f626a6563741300020008557365724e616d6511000868656c70736f6674000850617373776f7264110006313233343536
上面的数据包含了头和内容两部分,下面分别进行拆分说明。
4.2.1数据头
数据头包含的内容:
03000000000000007600010000
字节数据
类型
值
字节数
说明
03
byte
3
1
头类型和通道,前两位表示类型,后六位表示通道
00000000
int
4
时间戳
00000076
118
数据大小
0001
short
2
消息类型
0000
流ID
第一个字节03包含了两部分信息,即头类型和通道,将03以二进制形式表示为00000011,前两位00表示头类型为0,后六位000011表示通道为3;
头类型共有四个值,主要用于对数据头进行优化,降低网络传输流量,这在传输音频和视频信息的时候尤其有用。
头类型详细说明见下表:
完整的头数据包(时间戳、数据大小、消息类型、流ID)
没有流ID的头数据包
只包含时间戳的头数据包
空头,即头数据不包含任何信息
对于通道信息,可表示的最大通道数为,有效的通道值为2~63(0和1有特殊用途);
协议约定通道等于0或者1时,说明当前通道数不够用,需要进行通道扩充,即没有扩充时实际可用通道数为62个;
当通道为0时,数据头会在第一个字节后面再增加一个字节以扩充通道数,一个字节可存储的值范围为0~255,此时可表示的最大通道数为,有效的通道值为64~319;
当通道为1时,数据头会在第一个字节后面再增加两个字节进行通道扩充,此时可表示的最大通道数为,有效的通道值为320~65535。
图3.2数据通道扩展
当通道扩展一个字节时,会有一个加减操作,当通道扩展两个字节时,则没有这一操作,因为此时可使用的通道数已经足够多,无须进行加减操作。
这里重点介绍通道扩展一个字节时的相关操作,比如现在手持终端要给卡口接入服务器发送数据包,在构建数据头时,指定通道数为270,由于第一个字节的后六位最大可用的通道数为63,因此需要扩展一个字节,扩展的字节中实际存储的值为,其二进制形式的值如图3.3。
图3.3206的二进制形式
卡口接入服务器收到该数据包后,解析通道时,首先应判断数据头中第一个字节后六们的值,如果该值等于0,则说明有一个通道字节扩展,读出扩展字节的值,然后加上64即为实际通道的值。
目前已经约定使用的通道如下表:
通道
用于Command和Notify的消息类型
6
用于AudioData音频的消息类型
7
用于VideoData视频的消息类型
8
用于AckSize的消息类型
9
用于FileData的消息类型
11
用于Heartbeat心跳包的消息类型
数据头中的消息类型用来说明数据包的作用,当前使用的消息类型有六种,如下表:
Command
命令类型,主要用于发送与接收业务数据
AudioData
音频类型
VideoData
视频类型
Heartbeat
5
心跳包
AckSize
接收数据数大小,结合音频和视频消息使用,防止网络阻塞
FileData
文件传输,在文件传输中,时间戳有特殊意义,0表示正常传输,1标识文件无法读取,2发送文件结束
None
其它类型,目前未使用
4.2.2数据优化
数据