网络摄像机客户端通讯协议已检查Word文件下载.docx
《网络摄像机客户端通讯协议已检查Word文件下载.docx》由会员分享,可在线阅读,更多相关《网络摄像机客户端通讯协议已检查Word文件下载.docx(49页珍藏版)》请在冰豆网上搜索。
0x0201
媒体流请求
STREAM_RESPONSE
0x8201
媒体流响应
STREAM_NOTIFY
0x0202
媒体流通知
KEY_FRAME_REQUEST
0x0203
关键帧请求
QUERY_REC_FILE_REQUEST
0x0204
查询录像文件请求
QUERY_REC_FILE_RESPONSE
0x8204
查询录像文件响应
FILE_INFO_REQUEST
0x0205
录像文件信息请求
FILE_INFO_RESPONSE
0x8205
录像文件信息响应
FILE_STREAM_REQUEST
0x0206
录像媒体流请求
FILE_STREAM_RESPONSE
0x8206
录像媒体流响应
FILE_STREAM_SCALE_REQUEST
0x0207
录像媒体流进度报告请求
FILE_STREAM_SCALE_RESPONSE
0x8207
录像媒体流进度报告响应
FILE_STREAM_CTRL_REQUEST
0x0208
录像媒体流控制请求
FILE_STREAM_CTRL_RESPONSE
0x8208
录像媒体流控制响应
SEND_VIDEO_DATA
0x0301
发送视频流数据
SEND_AUDIO_DATA
0x0302
发送音频流数据
PTZ_CTRL_REQUEST
0x0401
PTZ控制请求
PTZ_CTRL_RESPONSE
0x8401
PTZ控制响应
LOG_QUERY_REQUEST
0x0402
日志查询请求
LOG_QUERY_RESPONSE
0x8402
日志查询响应
ALARM_NOTIFY
0x0403
报警通知
DEV_REBOOT_REQUEST
0x0404
设备重启请求
DEV_REBOOT_RESPONSE
0x8404
设备重启响应
RECORD_REQUEST
0x0405
录像请求
RECORD_RESPONSE
0x8405
录像响应
SEND_TRANS_DATA_REQUEST
0x0406
发送串口透明数据请求
SEND_TRANS_DATA_RESPONSE
0x8406
发送串口透明数据响应
TANS_DATA_NOTFIY
0x0407
串口透明数据通知
GET_BASE_PARAM_REQUEST
0x0501
获取基本参数请求
GET_BASE_PARAM_RESPONSE
0x8501
获取基本参数响应
SET_BASE_PARAM_REQUEST
0x0502
设置基本参数请求
SET_BASE_PARAM_RESPONSE
0x8502
设置基本参数响应
GET_VIDEO_PARAM_REQUEST
0x0503
获取视频参数请求
GET_VIDEO_PARAM_RESPONSE
0x8503
获取视频参数响应
SET_VIDEO_PARAM_REQUEST
0x0504
设置视频参数请求
SET_VIDEO_PARAM_RESPONSE
0x8504
设置视频参数响应
GET_AUDIO_PARAM_REQUEST
0x0505
获取音频参数请求
GET_AUDIO_PARAM_RESPONSE
0x8505
获取音频参数响应
SET_AUDIO_PARAM_REQUEST
0x0506
设置音频参数请求
SET_AUDIO_PARAM_RESPONSE
0x8506
设置音频参数响应
GET_RS_PARAM_REQUEST
0x0507
获取串口参数请求
GET_RS_PARAM_RESPONSE
0x8507
获取串口参数响应
SET_RS_PARAM_REQUEST
0x0508
设置串口参数请求
SET_RS_PARAM_RESPONSE
0x8508
设置串口参数响应
GET_MOTION_PARAM_REQUEST
0x0509
获取运动侦测参数请求
GET_MOTION_PARAM_RESPONSE
0x8509
获取运动侦测参数响应
SET_MOTION_PARAM_REQUEST
0x050a
设置运动侦测参数请求
SET_MOTION_PARAM_RESPONSE
0x850a
设置运动侦测参数响应
GET_SENSOR_PARAM_REQUEST
0x050b
获取报警探头参数请求
GET_SENSOR_PARAM_RESPONSE
0x850b
获取报警探头参数响应
SET_SENSOR_PARAM_REQUEST
0x050c
设置报警探头参数请求
SET_SENSOR_PARAM_RESPONSE
0x850c
设置报警探头参数响应
GET_MASK_PARAM_REQUEST
0x050d
获取遮挡区域参数请求
GET_MASK_PARAM_RESPONSE
0x850d
获取遮挡区域参数响应
SET_MASK_PARAM_REQUEST
0x050e
设置遮挡区域参数请求
SET_MASK_PARAM_RESPONSE
0x850e
设置遮挡区域参数响应
GET_VLOSS_PARAM_REQUEST
0x050f
获取视频丢失参数请求
GET_VLOSS_PARAM_RESPONSE
0x850f
获取视频丢失参数响应
SET_VLOSS_PARAM_REQUEST
0x0510
设置视频丢失参数请求
SET_VLOSS_PARAM_RESPONSE
0x8510
设置视频丢失参数响应
GET_RECORD_PARAM_REQUEST
0x0511
获取录像参数请求
GET_RECORD_PARAM_RESPONSE
0x8511
获取录像参数响应
SET_RECORD_PARAM_REQUEST
0x0512
设置录像参数请求
SET_RECORD_PARAM_RESPONSE
0x8512
设置录像参数响应
GET_NET_PARAM_REQUEST
0x0513
获取网络参数请求
GET_NET_PARAM_RESPONSE
0x8513
获取网络参数响应
SET_NET_PARAM_REQUEST
0x0514
设置网络参数请求
SET_NET_PARAM_RESPONSE
0x8514
设置网络参数响应
GET_ALL_PARAM_REQUEST
0x0515
获取所有参数请求
GET_ALL_PARAM_RESPONSE
0x8515
获取所有参数响应
GET_SINGLE_CHN_PARAM_REQUEST
0x0516
获取单通道参数请求
GET_SINGLE_CHN_PARAM_RESPONSE
0x8516
获取单通道参数响应
RESET_DEFAULT_PARAM_REQUEST
0x0517
恢复出厂值请求
RESET_DEFAULT_PARAM_RESPONSE
0x8517
恢复出厂值响应
GET_PAN_PARAM_REQUEST
0x0518
获取云台参数请求
GET_PAN_PARAM_RESPONSE
0x8518
获取云台参数响应
SET_PAN_PARAM_REQUEST
0x0519
设置云台参数请求
SET_PAN_PARAM_RESPONSE
0x8519
设置云台参数响应
SET_BRIGHT_PARAM
0x060c
设置亮度值
GET_BRIGHT_PARAM
0x860c
获取亮度值
SET_CONTRAST_PARAM
0x060d
设置对比度值
GET_CONTRAST_PARAM
0x860d
获取对比度值
SET_FRAMERATE_PARAM
0x060e
设置帧率值
GET_FRAMERATE_PARAM
0x860e
获取帧率值
SET_HZ5060_PARAM
0x060f
设置CMOS的HZ值
GET_HZ5060_PARAM
0x860f
获取CMOS的HZ值
SET_ROTATION_VIDEO
0x0610
设置图像的翻转镜像
GET_ROTATION_VIDEO
0x8610
获取图像的翻转镜像
三、消息命令说明
1.登录请求
客户端向设备发送登录请求的消息,消息内容如下:
typedefstruct_stLoginRequest{
unsignedintdwDeviceID;
//该设备ID
unsignedcharbyChanNum;
//该设备的视频通道数
unsignedcharbyDevType;
//设备类型(0/1/2/3/4/5:
DVS/DVR/客户端/
媒体服务器/录像服务器/解码器)
unsignedshortnReserved;
//保留
charszUserName[8];
//登录用户名
charszPassword[8];
//登录密码
}LOGINREQUEST,*PLOGINREQUEST;
2.登录响应
当设略去收到客户端的登录请求后,响应该设备的登录结果;
消息内容如下:
typedefstruct_stGeneralResponse{
unsignedshortnResult;
//结果(0/其他:
成功/失败原因)
//保留
}GENERALRESPONSE,*PGENERALRESPONSE;
3.登出请求
当客户端退出,会向设略去发送登录请求;
消息内容为空;
4.登出响应
设备收到设备的登出请求,做出响应;
5.心跳请求
客户端登录设备成功后,在30s之内须向设略去发送心跳请求;
(设备收到心跳请求后,立即发送心跳响应,如果设备在规定的时间暂定为30s没有收到心跳响应,则认为该链路出现故障,断开此链路。
)消息内容为空;
6.心跳响应
设备收到客户端心跳请求后,立即发送心跳响应;
7.升级请求
当服务器把系统执行文件通过ftp上传到特定目录后,向设备发送升级请求;
typedefstruct_stUpdateRequest{
unsignedcharbyFlag;
//标志(0/1/2:
使用升级文件(ftp方式)/恢复最近一次的备份文件/采用客户端直接发送升级文件数据方式)
unsignedcharbyIsStart;
//是否开始(1/0:
开始/结束)
unsignddshortnFtpPort;
//ftp服务器端口
unsignedintdwFtpIpAddr;
//ftp服务器IP
charszFileName[64];
//升级文件名
}UPDATEREQUEST,*PUPDATEREQUEST;
8.升级响应
设备收到服务器的升级请求后,检测该升级文件是否是系统执行文件,并把检测结果响应给服务器;
(如果是系统文件,发送响应后,执行升级脚本文件,并关闭该系统文件;
脚本文件主要是把当前系统执行文件备份,并把升级文件拷贝到系统执行目录,改名为系统执行文件,重启系统)消息内容为GENERALRESPONSE;
服务器向设备发送升级文件数据请求;
typedefstruct_stUpdateInfoHead{
unsignedshortnIndex;
//升级文件数据序号
unsignedshortnDataLen;
//升级文件数据长度,最大值为1024
}UPDATEINFOHEAD,*PUPDATEINFOHEAD;
后面接着是升级文件数据;
设备收到服务器发送的升级文件数据请求后,处理结果以响应消息回给服务器;
GENERALRESPONSE,后接UPDATEINFOHEAD,然后是升级文件数据;
9.媒体流请求
服务器向设备发送媒体流请求;
typedefstruct_stStreamRequest{
unsignedcharbyType;
//请求类型(0/1/2/3:
主码流视频/子码流视频/音频/对讲)
unsignedcharbyChanID;
//通道ID
unsignedcharbyStatus;
//状态(0/1:
停止/开始)
unsignedcharbyReserved;
//保留
//设备ID
unsignedshortnMediaPort;
//流媒体服务器的端口<
暂保留>
unsignedintdwMediaIpAddr;
//流媒体服务器的IP地址<
}STREAMREQUEST,*PSTREAMREQUEST;
10.媒体流响应
设备收到服务器的媒体流请求后,做出相应的响应;
消息内容为GENERALRESPONSE结构;
11.媒体流通知
客户端收到设备媒体流成功的响应后;
typedefstruct_stStreamNotify{
//设备ID
(注意:
当以客户端登录方式访问设备时,此字段为该客户端在设备中的链接序号。
)
}STREAMNOTIFY,*PSTREAMNOTIFY;
12.关键帧请求
服务器向设备发送关键帧请求(当客户端检测到丢帧比较严重时,通过服务器发送消息);
typedefstruct_stKeyFrameRequest{
unsignedcharbyReserved[3];
}KEYFRAMEREQUEST,*PKEYFRAMEREQUEST;
13.查询录像文件请求
服务器向设备发送的设备录像文件查询请求,请求查询符合条件的设备录像文件;
typedefstruct_stQueryRecFileReqeust{
unsignedcharbyChannelID;
unsignedcharbyQueryType;
//查询类型:
0/1:
全部/按时间段
unsignedcharbyOperType;
//操作类型:
0/1/2/3/4/5:
全部/手动录像/定时录像/联动录像/侦测报警/探头报警
unsignedintdwStartTime;
//开始时间
unsignedintdwStopTime;
//结束时间
}QUERYRECFILEREQUEST,*PQUERYRECFILEREQUEST;
14.查询录像文件响应
设备把符合条件的录像文件查询结果发送给服务器;
typedefstruct_stQueryRecFileResponse{
unsignedshortnRecCount;
//当前数据包包含的录像记录数
unsignedshortnTotalCount;
//符合条件的录像记录总数
RECINFOstRecInfo[nRecCount];
//记录信息
}QUERYRECFILERESPONSE,*PQUERYRECFILERESPONSE;
typedefstruct_stRecInfo{
unsignedcharbyChanID;
unsignedcharbyRecType;
//录像类型
//1/2/3/4/5:
手动录像/定时录像
/视频丢失联动录像/侦测联动报警/探头联动报警
unsignedshortnRecTime;
//录像时长
unsignedintdwBeginTime;
unsignedintdwFileIndex;
//当日的录像文件序号
}RECINFO,*PRECINFO;
15.录像文件信息请求
服务器向设备发送的录像文件信息请求,消息内容为RECINFO结构(暂不用此命令);
16.录像文件信息响应
设备向服务器发送其录像文件信息请求的响应结果,消息内容如下(暂不用此命令):
typedefstruct_stFileInfoResponse{
unsignedcharbyVideoType;
//视频编码类型(0/1:
MPEG4/H264)
unsignedcharbyVideoMode;
//视频模式(/1/2/3:
D1/CIF/QCIF)
unsignedintdwFileSize;
//文件大小
}FILEINFORESPONSE,*PFILEINFORESPONSE;
17.录像媒体流请求
服务器向设备发送的录像媒体流请求,要求设备向指定的媒体流服务器发送录像媒体流,消息内容如下:
typedefstruct_stFileStreamRequest{
RECINFOstRecFile;
//录像回放文件
unsignedintdwMediaIpAddr;
//录像媒体流接收服务器
unsignedshortnMediaPort;
//录像媒体流接收端口
unsignedcharbyIsStart;
//开始标志:
//1:
开始,0:
停止
unsignedcharbyReserved;
}FILESTREAMREQUEST,*PFILESTREAMREQUEST;
18.录像媒体流响应
设备向服务器发送其录像媒体流请求的响应结果,消息内容为GENERALRESPONSE结构;
19.录像媒体流进度报告请求
服务器向设备发送当前录像文件的播放进度报告请求,消息内容为空;
20.录像媒体流进度报告响应
设备向服务器发送当前录像文件的播放进度;
typedefstruct_stFileStreamScaleResponse{
unsignedintdwCurFrameNo;
//已发送的帧号
unsignedintdwStreamSize;
//已发送的字节数(单位kbytes)
}FILESTREAMSCALERESPONSE,*PFILESTREAMSCALERESPONSE;
21.录像媒体流控制请求
服务器向设备发送录像回放控制请求;
typedefstruct_stFileStreamCtrlRequest{
//1设置帧率
//2拖动动播放位置
//3暂停
//4继续
//5停止
unsignedintdwValue;
//录像回放帧率(当操作类型为1)
//其值为:
1正常速率的1/4
//2正常速率的1/2
//3正常速率
//4正常速率的2倍
//5正常速率的4倍
//相对于起始播放时间的秒数(当操作类型不//为1)
}FILESTREAMCTRLREQUEST,*PFILESTREAMCTRLREQUEST;
22.录像媒体流控制响应
设备向服务器响应录像回放控制请求的结果,消息内容为GENERALRESPONSE结构;
23.发送视频流数据
设备向流媒体服务器发送视频数据;
typedefstruct_stVideoDataHead//Videodataheadinfo
{
unsignedcharbyChannelID;
//视频通道ID
unsignedcharbyVideoMode;
unsignedcharbyReserved;
unsignedcharbyFrameType;
//视频帧类型(2/3:
I帧/P帧)
unsignedcharbyIsAckFlag;
//是否需要回应(0/1:
不需要/需要)
unsignedcharbyPackIndex;
//包序号
unsignedcharbyPackCount;
//当前帧的包数目
unsignedintdwFrameID;
//帧号
unsignedintdwFrameLength;
//帧长度
unsi