📄 serverconfigdef.h
字号:
#ifndef SERVER_CONFIG_DEF_H
#define SERVER_CONFIG_DEF_H
#include "NetDefine.h"
#define MAXPORTNO 16//DVR最大端口宏定义
#define MAXNAMELEN 31
#define ARRAY_MAXCONTACT 16//最大探头数
#define ARRAY_MAXPORT 18
/*********************所有参数大结构(用于获取非88主机的参数配置)****************/
typedef struct _Record_Time_Seg
{
UInt8 nBgnHour ;
UInt8 nBgnMinute ;
UInt8 nEndHour ;
UInt8 nEndMinute ;
} Record_Time_Seg;
typedef struct _RECORD_VIDEO_PARAMETER
{
UInt8 nLuma; //亮度
UInt8 nChroma; //色度
UInt8 nContrast; //对比度
UInt8 modify; //表示是否被修改过(DVR主机使用)
} Record_Video_Parameter;
typedef struct _Record_Config_Table_Ext
{
Record_Video_Parameter VideoPara;
UInt8 nVideoProtectStatus;
Record_Time_Seg tScheduleRecEveryday1; //每天定时录像时间段1
Record_Time_Seg tScheduleRecEveryday2; //每天定时录像时间段2
Record_Time_Seg tAlarmRecEveryday1; //每天报警布防时间段1
Record_Time_Seg tAlarmRecEveryday2; //每天报警布防时间段2
UInt8 ScheduleRecDefendDayTag;//定时录像,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321
UInt8 AlarmRecDefendDayTag; //移动录像,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321
UInt8 MotionAlarmOutTag; //移动报警联动输出标志,每位表示一个输出,末位是输出1
UInt16 nClearAlarmOutTime; //自动清除报警输出时限
UINT32 IFrameInterval;
UINT32 IFrameIntervalMSec;//I帧间隔毫秒数
UInt32 nMotionCheck[13];
UInt32 nImageMask[13];
UInt16 nAssociRecMark;
UInt8 nCameraBaudRate;//0~7
UInt8 nCameraAddr;//0~255
} Record_Config_Table_Ext;
typedef struct _PORT_PARAMETER//各端口的参数
{
Record_Time_Seg tScheduleRecTable1[7] ;//定时录像时间段1, 星期1到星期天
Record_Time_Seg tScheduleRecTable2[7] ;//定时录像时间段2, 星期1到星期天
Record_Time_Seg tAlarmRecTable1[7] ;//移动报警时间段1, 星期1到星期天
Record_Time_Seg tAlarmRecTable2[7] ;//移动报警时间段2, 星期1到星期天
UInt32 nImageQuality ;
//cif 0:1152K 1:768K 2:512K 3:384K 4:256K 5:128K 6:64K 7:32K
//d1 0:4.5M 1:4M 2:3M 3:2M 4:1.5M 5:1M 6:512K 7:256M 8:128K
UInt8 nImageFrame ; //PAL制 1~25帧 N制:1~30帧
UInt8 nAudio ;//0:不录声音 1:录声音
UInt8 nMotionCheckRegion[13];//移动报警区域(共分99段):nMotionCheckRegion[0]的低位表示第一段起,置1表示打开
UInt8 nImageMask[13]; //屏蔽区域(同上)
UInt8 nMotionCheckSensitivity;//移动报警检测灵敏度值(0~99)
UInt32 nMotionAlarmTime ;//移动报警录像时间(分钟)
char nTermName[32]; //端口标题
UInt8 nRecordPortStatus ;// 6.01中已无效,不能通过客户端控制主机手动录像
UInt8 nRecordSchedulePortStatus ; //0:不定时录像 1:定时录像
UInt8 nRecordAlarmPortStatus ; //0:不报警录像 1:报警录像
}PORT_PARAMETER;
typedef struct _Contact_Track_Parameter{
UInt8 nPreSetPort[8];
UInt8 nDelay[8];
} Contact_Track_Parameter;
typedef struct _Contact_Alarm_Parameter
{
Record_Time_Seg tContactAlarmRecTable1[7] ;
Record_Time_Seg tContactAlarmRecTable2[7] ;
UInt8 nContactAlarmTime ;
UInt16 nContactAlarmPort ;
UInt8 nContactAlarmOut ;
UInt8 nContactAlarmStatus ;
Record_Time_Seg tContactAlarmRecEveryday1;
Record_Time_Seg tContactAlarmRecEveryday2;
UInt8 ContactAlarmRecDefendDayTag;//探头报警,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321
Contact_Track_Parameter nContactTrack[8];
UInt8 nPreSetPort[ARRAY_MAXPORT]; //预置点
UInt16 nClearAlarmOutTime; //=0:不清除,>0,nClearAlarmOutTime秒后清除报警
} Contact_Alarm_Parameter;
typedef struct _USER_DVR_PARAMETER
{
UInt8 nPortNo; //端口数
Record_Time_Seg tProbeAlarmRecTable1[7] ;//探头报警时间段1, 星期1到星期天
Record_Time_Seg tProbeAlarmRecTable2[7] ;//探头报警时间段2, 星期1到星期天
UInt8 nProbeAlarmPort[16] ; //分别对应1-16号探头报警联动录像端口
UInt8 nProbeAlarmOut[16] ; //分别对应1-16号探头报警联动输出
UInt8 nRecordProbeAlarmStatus ;//是否探头报警录像 0:不录像 1:录像
UInt8 nProbeAlarmTime ; //探头报警录像时间
UInt32 nNetIPAddr ; //网络IP地址
UInt32 nSubNetMask ; //子网掩码
UInt32 nNetGateWay ; //网关
UInt8 nWDMethod ; //0:自动覆盖 1:覆盖前提示
UInt8 nRecordDateChar ; //0:不叠加日期 1:叠加日期
UInt8 nRecordRateVarySmart ; //码率动态调整灵敏度 0:不调整 1:低速 2:中 3:高
UInt8 nRecordRateVaryTime ; //码率动态调整速度 0:慢速 1:中速 2:快速
PORT_PARAMETER PortConfig[MAXPORTNO];//对应各端口的参数
char DVRName[MAXNAMELEN]; // Add by zhouzhengxiang
Record_Config_Table_Ext PortConfigEx[MAXPORTNO];
Contact_Alarm_Parameter contactPara[ARRAY_MAXCONTACT]; //探头报警参数
UInt8 nLanguage; //0:中文 1:英文
UInt8 nStandard; //制式 0:PAL制 1:N制
UInt16 nVersion; //版本
} USER_DVR_PARAMETER;
/************************************88系统参数结构**********************************/
#define PARA_TYPE_CONFIG 0x00 // 主机端配置信息(LoginParam)
#define PARA_TYPE_RECORD 0x01 // 录像参数(RecSetParam)
#define PARA_TYPE_ALARM 0x02 // 报警参数()
#define PARA_TYPE_ALARM_MOVE 0x03 // 移动报警()
#define PARA_TYPE_ALARM_MOVE_PRESET 0x04 // 定时录象和移动录象设置(RecParam)
#define PARA_TYPE_ALARM_MOVE_PRAR 0x05 // 移动报警参数(MotionAlarmPamam)
#define PARA_TYPE_ALARM_MOVE_CHECK_REGION 0x06 // 移动报警检测参数(MotionRegion)
#define PARA_TYPE_ALARM_PROBE 0x07 // 探头报警(Contact_Alarm_Parameter)
#define PARA_TYPE_LOSE 0x08 // 丢失报警()
#define PARA_TYPE_ENVELOP 0x09 // 遮挡报警()
#define PARA_TYPE_SCHEDULE 0x0a // 定时录像参数(ScheduleRecParam)
#define PARA_TYPE_NET 0x0b // 网络属性(NetAttrParam)
#define PARA_TYPE_VIDEO 0x0c // 视频参数(VideoParam)
#define PARA_TYPE_TV 0x0d // TV参数()
#define PARA_TYPE_VGA 0x0e // VGA参数()
#define PARA_TYPE_SWITCH 0x0f // 循环切换()
#define PARA_TYPE_TEXTOVER 0x10 // 字符叠加(OSDParam)
#define PARA_TYPE_TERM 0x11 // 终端(Terminal)
#pragma pack(push , 1)
// 主机端配置信息
typedef struct tagLoginParam
{
BYTE MainboardVersion;//主板版本
BYTE MainboardType;//主板类型
BYTE Content;//容量
BYTE NetType;//网传方式
BYTE VGASelect;//VGA选择
BYTE ChannelCount;//路数
BYTE Language;//语言
BYTE nStandard;//制式
WORD ClientPort;//接受客户端命令端口号
DWORD IPAddress;//IP地址
DWORD Reserve;//预留
}LoginParam,*PLoginParam;
// 录像参数
typedef struct tagRecSetParam
{
BYTE RecOverMethod;//录象覆盖方式
BYTE RecDateSplice;//录象日期叠加
BYTE RecSensitivity;//录象码率动态调整灵敏度
BYTE RecRate;//录象码率动态调整速度
DWORD CodeRate;//码率
BYTE FrameCount;//帧数
BYTE Audio;//有无音频
DWORD IFrameInterval;//I帧间隔
}RecSetParam,*PRecSetParam;
typedef struct tagProbeAlarmParam
{
BYTE WeekNum;//星期号
BYTE IsDefend;//是否启动布防
BYTE SoundAlarm;//声音报警
BYTE ProbeAlarmRecTime;//探头报警录象时间
BYTE IsProbeAlarmRec;//是否探头报警录象
BYTE DefendStartHour1;//布防开始时间段(小时)
BYTE DefendStartMinute1;//布防开始时间段(分钟)
BYTE DefendEndHour1;//布防结束时间段(小时)
BYTE DefendEndMinute1;//布防结束时间段(分钟)
BYTE DefendStartHour2;//布防开始时间段(小时)
BYTE DefendStartMinute2;//布防开始时间段(分钟)
BYTE DefendEndHour2;//布防结束时间段(小时)
BYTE DefendEndMinute2;//布防结束时间段(分钟)
BYTE ContactAlarmOut;//联动报警输出
WORD ClearAlarmTime;//自动清除报警时间
WORD ContactRecChannel;//自动联动录象通道
BYTE PreSetPort[16];//预置点(通道1-16)
}ProbeAlarmParam,*PProbeAlarmParam;
// 定时录象和移动录象设置
typedef struct tagRecParam
{
BYTE MotionRec;//移动录象
BYTE ScheduleRec;//定时录象
}RecParam,*PRecParam;
// 移动报警参数
typedef struct tagMotionAlarmPamam
{
BYTE WeekNum;//星期号
BYTE IsDefend;//是否启动布防
BYTE SoundAlarm;//声音报警
DWORD MotionAlarmRecTime;//移动报警录象时间
BYTE MotionAlarmSensitivity;//移动报警检测灵敏度
BYTE DefendStartHour1;//布防开始时间段(小时)
BYTE DefendStartMinute1;//布防开始时间段(分钟)
BYTE DefendEndHour1;//布防结束时间段(小时)
BYTE DefendEndMinute1;//布防结束时间段(分钟)
BYTE DefendStartHour2;//布防开始时间段(小时)
BYTE DefendStartMinute2;//布防开始时间段(分钟)
BYTE DefendEndHour2;//布防结束时间段(小时)
BYTE DefendEndMinute2;//布防结束时间段(分钟)
BYTE ContactAlarmOut;//联动报警输出
WORD ContactRecChannel;//联动录象通道
WORD ClearAlarmTime;//自动清除报警时间
}MotionAlarmPamam,*PMotionAlarmPamam;
// 移动报警检测参数
typedef struct tagMotionRegion
{
DWORD MotionCheck[13];//小格
DWORD ImageMask[13];
}MotionRegion,*PMotionRegion;
// 定时录像参数
typedef struct tagScheduleRecParam
{
BYTE WeekNum;//星期号
BYTE IsRec;//是否启动录象
BYTE DefendStartHour1;//布防开始时间段(小时)
BYTE DefendStartMinute1;//布防开始时间段(分钟)
BYTE DefendEndHour1;//布防结束时间段(小时)
BYTE DefendEndMinute1;//布防结束时间段(分钟)
BYTE DefendStartHour2;//布防开始时间段(小时)
BYTE DefendStartMinute2;//布防开始时间段(分钟)
BYTE DefendEndHour2;//布防结束时间段(小时)
BYTE DefendEndMinute2;//布防结束时间段(分钟)
}ScheduleRecParam,*PScheduleRecParam;
// 网络属性
typedef struct tagNetAttrParam
{
DWORD IPAddress;//IP地址
DWORD NetGateWay;//网关
DWORD SubNetMask;//掩码
char DVRName[31];//DVR名称
DWORD Mac;//网卡地址
WORD Port;//设置接收客户端命令端口号
}NetAttrParam,PNetAttrParam;
// 视频参数
typedef struct tagVideoParam
{
BYTE Brightness;//亮度
BYTE chroma;//色度
BYTE contrast;//对比度
BYTE saturation;//饱和度
}VideoParam,PVideoParam;
// 字符叠加
typedef struct tagOSDParam
{
BYTE nDateOSDParam; //叠加日期参数(bit0-1:位置信息;bit4:大小信息)
BYTE nChOSDParam; //叠加通道(bit0-1:位置信息;bit4:大小信息)
BYTE nReverse; //是否反色
BYTE nRes;
}OSDParam,POSDParam;
// OSD位置信息说明
// 0:左上角;1:左下角;2:右上角;3:右下角;
// OSD大小暂不支持
// 终端
typedef struct tagTerminal
{
BYTE PanType[9];//云台类型
DWORD ChannelTitle1;//通道标题(字一区位码)
DWORD ChannelTitle2;//通道标题(字二区位码)
DWORD ChannelTitle3;//通道标题(字三区位码)
DWORD ChannelTitle4;//通道标题(字四区位码)
DWORD ChannelTitle5;//通道标题(字五区位码)
DWORD ChannelTitle6;//通道标题(字六区位码)
DWORD ChannelTitle7;//通道标题(字七区位码)
DWORD ChannelTitle8;//通道标题(字八区位码)
BYTE BallBaudRate;//球机波特率
BYTE BallAddressCode;//球机地址码
}Terminal,PTerminal;
#pragma pack(pop)
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -