⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dvs.h

📁 DVS主程序
💻 H
📖 第 1 页 / 共 2 页
字号:
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 + -