📄 dvs.h
字号:
typedef struct { /* Each day shares the same motion detection parameter */
DWORD dwMotionScope[18]; //侦测区域,0-21位,表示22行,共有22*18个小宏块,为1表示是侦测区域,0-表示不是
BYTE byMotionSenstive; //移动侦测灵敏度, 0 - 5,越高越灵敏,0关闭
BYTE byEnableHandleMotion; //是否处理移动侦测
char reservedData[2];
INTER_HANDLEEXCEPTION struMotionHandleType; //处理方式
#ifdef SDK_V11
INTER_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT]; //布防时间
#endif
DWORD dwRelRecordChan; //报警触发的录象通道 按位
}INTER_MOTION,*LPINTER_MOTION;
/**************************遮挡报警********************************************************/
typedef struct{
DWORD dwEnableHideAlarm; //是否启动遮挡报警 ,0-否,1-是
WORD wHideAlarmAreaTopLeftX; //遮挡区域的x坐标
WORD wHideAlarmAreaTopLeftY; //遮挡区域的y坐标
WORD wHideAlarmAreaWidth; //遮挡区域的宽
WORD wHideAlarmAreaHeight; //遮挡区域的高
INTER_HANDLEEXCEPTION strHideAlarmHandleType; //处理方式
}INTER_HIDEALARM,*LPINTER_HIDEALARM;
/***************************信号丢失报警****************************************************/
typedef struct{
DWORD dwEnableVILostAlarm; //是否启动信号丢失报警 ,0-否,1-是
INTER_HANDLEEXCEPTION strVILostAlarmHandleType; //处理方式
}INTER_VILOST,*LPINTER_VILOST;
/****************************图像参数*******************************************************/
typedef struct{
DWORD dwSize;
BYTE sChanName[NAME_LEN]; //通道名
DWORD dwVideoFormat; //视频制式(算法部分是否做成客设置的模式)/
BYTE byBrightness; //亮度,传索引
BYTE byContrast; //对比度,传索引
BYTE bySaturation; //饱和度,传索引
BYTE byHue; //色调,传索引
//显示通道名
DWORD dwShowChanName; //预览的图象上是否显示通道名称,0-不显示,1-显示
WORD wShowNameTopLeftX; //通道名称显示位置的x坐标
WORD wShowNameTopLeftY; //通道名称显示位置的y坐标
//信号丢失报警
INTER_VILOST struVILost;
//移动侦测
INTER_MOTION struMotion;
//遮挡报警
INTER_HIDEALARM struHideAlarm;
//遮挡
DWORD dwEnableHide; //是否启动遮挡 ,0-否,1-是
WORD wHideAreaTopLeftX; //遮挡区域的x坐标
WORD wHideAreaTopLeftY; //遮挡区域的y坐标
WORD wHideAreaWidth; //遮挡区域的宽
WORD wHideAreaHeight; //遮挡区域的高
//OSD
DWORD dwShowOsd; //预览的图象上是否显示OSD,0-不显示,1-显示
WORD wOSDTopLeftX; //OSD的x坐标
WORD wOSDTopLeftY; //OSD的y坐标
BYTE byOSDType; //OSD类型(主要是年月日格式)
BYTE byDispWeek; //是否显示星期
BYTE byOSDAttrib; //OSD属性:透明,闪烁
char reservedData2;
}INTER_PICCFG,*LPINTER_PICCFG;
/******************************编码参数****************************************************/
typedef struct{
BYTE byStreamType; //码流类型 0-视频流,1-复合流
BYTE byResolution; //分辨率0-CIF 1-QCIF, 2-D1, 3-, 4-
BYTE byBitrateType; //码率类型 0:定码率,1:变码率
BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差
DWORD dwVideoBitrate; //视频码率 //最高位(32位)置成1表示是自定义码流,0-31位表示码流值。
DWORD dwVideoFrameRate; //帧率 0-全部;
}INTER_COMPRESSION_INFO,*LPINTER_COMPRESSION_INFO;
/******************************编码传输参数*************************************************/
typedef struct{
DWORD dwSize;
INTER_COMPRESSION_INFO struNetPara; //网传
}INTER_COMPRESSIONCFG,*LPINTER_COMPRESSIONCFG;
/******************************压缩参数******************************************************/
typedef struct
{
BYTE byStreamType; //码流类型 0-视频流,1-复合流
BYTE byResolution; //分辨率0-CIF 1-QCIF, 2-D1, 3-, 4-
BYTE byBitrateType; //码率类型 0:定码率,1:变码率
BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差
DWORD dwVideoBitrate; //视频码率,最高位(31位)置成1表示是自定义码流,
//0-30位表示码流值。
DWORD dwVideoFrameRate; //帧率
WORD wIntervalFrameI; //I帧间隔
}INTER_COMPRESSION_INFO_EX,*LPINTER_COMPRESSION_INFO_EX;
/*****************************压缩传输参数***************************************************/
typedef struct
{
DWORD dwSize;
INTER_COMPRESSION_INFO_EX struNetPara; //网传
}INTER_COMPRESSIONCFG_EX,*LPINTER_COMPRESSIONCFG_EX;
/*****************************串口232参数*****************************************************/
typedef struct{
DWORD dwSize;
DWORD dwBaudRate; //波特率
BYTE byDataBit; //数据有几位 0-5位,1-6位,2-7位,3-8位
BYTE byStopBit; //停止位 0-1位,1-2位
BYTE byParity; //校验 0-无校验,1-奇校验,2-偶校验
BYTE byFlowcontrol; //0-无,1-软流控,2-硬流控
DWORD dwWorkMode; //工作模式,0-232串口用于参数控制,1-透明通道
}INTER_RS232CFG,*LPINTER_RS232CFG;
/*****************************报警输入参数****************************************************/
typedef struct{
DWORD dwSize;
BYTE sAlarmInName[NAME_LEN]; //名称
BYTE byAlarmType; //报警器类型,0:常开,1:常闭
BYTE byAlarmInHandle; //是否处理
char reservedData[2];
INTER_HANDLEEXCEPTION struAlarmHandleType; //处理方式
INTER_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT]; // 布防时间
BYTE byRelRecordChan[16]; //报警触发的通道,按位,最大128个通道
BYTE byEnablePreset[MAX_CHANNUM]; //是否调用预置点
BYTE byPresetNo[MAX_CHANNUM]; /*调用的云台预置点序号,一个报警输入可以调用多个通道的云台预置点,
0xff表示不调用预置点.*/
BYTE byEnableCruise[MAX_CHANNUM]; //是否调用巡航
BYTE byCruiseNo[MAX_CHANNUM]; //巡航
BYTE byEnablePtzTrack[MAX_CHANNUM]; //是否调用轨迹
BYTE byPTZTrack[MAX_CHANNUM]; //调用的云台的轨迹序号
}INTER_ALARMINCFG,*LPINTER_ALARMINCFG;
/*****************************报警输出参数****************************************************/
typedef struct{
DWORD dwSize;
BYTE sAlarmOutName[NAME_LEN]; //名称
DWORD dwAlarmOutDelay; //输出延时(-1为无限,手动关闭)
INTER_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];//报警输出激活时间段
}INTER_ALARMOUTCFG,*LPINTER_ALARMOUTCFG;
/******************************时间************************************************************/
typedef struct{
DWORD dwYear; //年
DWORD dwMonth; //月
DWORD dwDay; //日
DWORD dwHour; //时
DWORD dwMinute; //分
DWORD dwSecond; //秒
}INTER_TIME,*LPINTER_TIME;
/******************************本地预览********************************************************/
ypedef struct{
DWORD dwSize;
BYTE byPreviewNumber; //预览数目,0-1画面,1-4画面,2-9画面,3-16画面,0xff:最大画面
BYTE byEnableAudio; //是否声音预览,0-不预览,1-预览
WORD wSwitchTime; //切换时间,0-不切换,1-5s,2-10s,3-20s,4-60s,5-120s,6-300s
BYTE bySwitchSeq[MAX_WINDOW]; //切换顺序,如果lSwitchSeq[i]为 0xff表示不用
}INTER_PREVIEWCFG,* LPINTER_PREVIEWCFG;
/*******************************DVS通道状态****************************************************/
typedef struct {
BYTE bySignalStatic; //连接的信号状态,0-正常,1-信号丢失
BYTE byHardwareStatic; //通道硬件状态,0-正常,1-异常,例如DSP死掉
char reservedData;
DWORD dwBitRate; //实际码率
DWORD dwLinkNum; //客户端连接的个数
DWORD dwClientIP[MAX_LINK]; //客户端的IP地址
}INTER_CHANNELSTATE,*LPINTER_CHANNELSTATE;
/*******************************DVS工作状态****************************************************/
typedef struct{
DWORD dwDeviceStatic; //设备的状态,0-正常,1-CPU占用率太高,超过85%,2-硬件错误,例如串口死掉
INTER_DISKSTATE struHardDiskStatic[MAX_DISKNUM];
INTER_CHANNELSTATE struChanStatic[MAX_CHANNUM]; //通道的状态
BYTE byAlarmInStatic[MAX_ALARMIN]; //报警端口的状态,0-没有报警,1-有报警
BYTE byAlarmOutStatic[MAX_ALARMOUT]; //报警输出端口的状态,0-没有输出,1-有报警输出
WORD wLocalDisplay; //本地显示状态,0-正常,1-不正常
}INTER_WORKSTATE,*LPINTER_WORKSTATE;
/*******************************DVS日志********************************************************/
typedef struct {
time_t tLogTime; //时间
DWORD dwMajorType; //主类型
DWORD dwMinorType; //次类型
BYTE sPanelUser[NAME_LEN]; //操作面板的用户
BYTE sNetUser[NAME_LEN]; //网络操作的用户
DWORD dwRemoteHostAddr; //远程操作主机地址
DWORD dwParaType; //参数类型
DWORD dwChannel; //通道号
DWORD dwAlarmInPort; //报警输入端口
DWORD dwAlarmOutPort; //报警输出端口
}INTER_DVSLOG,*LPINTER_DVSLOG;
/*******************************报警上传*******************************************************/
typedef struct{
DWORD dwAlarmType; /*0-信号量报警,1-非法访问,2-信号丢失,3-移动侦测,
4-视频遮挡报警,5- 6-,7-, 8- */
DWORD dwAlarmInputNumber; /*按位,第0位对应第0个输入端口,dwAlarmType为0时需要设置*/
DWORD dwAlarmOutputNumber; /*按位,第0位对应第0个输出端口,dwAlarmType为0时需要设置*/
DWORD dwAlarmRelateChannel; /*dwAlarmRelateChannel[0]表示第0个报警输入对应的通道,按位,
dwAlarmRelateChannel[0]的第0位对应第0个通道*/
DWORD dwChannel; /*按位,第0位对应第0个通道,dwAlarmType为2或3,6时需要设置,
原来是第0位对应第1个通道*/
}INTER_ALARMINFO,*LPINTER_ALARMINFO;
/*******************************发送命令格式***************************************************/
struct FIX_SEND_DATA
{
DWORD length;
DWORD Checksum;
DWORD state;
DWORD spare;
};
/********************************接受命令格式**************************************************/
struct FIX_RECEIVE_DATA
{
DWORD length; //总的长度
DWORD spare; //保留字节
DWORD CheckSum; //校验和
DWORD requestID; //客户端请求命令
BYTE clientIP[4]; //客户端IP地址
BYTE usrID[4]; //用户ID
BYTE clientMAC[6]; //客户端物理地址
BYTE spare2[2]; //保留字节
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -