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

📄 hcnetsdk.h

📁 监控开发资料,提供二次开发源码和使用说明书
💻 H
📖 第 1 页 / 共 3 页
字号:
	BYTE byChanNum;				//DVR 通道个数
	BYTE byStartChan;			//起始通道号,例如DVS-0,DVR - 1
	BYTE byDecordChans;			//DVR 解码路数
	BYTE byVGANum;				//VGA口的个数
	BYTE byUSBNum;				//USB口的个数
	char reservedData[3];		//保留 
}NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;

typedef struct {
	char sDVRIP[16];          //DVR IP地址
	char sDVRIPMask[16];      // DVR IP地址掩码
	DWORD dwNetInterface;   //网络接口 1-10MBase-T 2-10MBase-T全双工 3-100MBase-TX 4-100M全双工 5-10M/100M自适应
	WORD wDVRPort;		//端口号
	BYTE byMACAddr[MACADDR_LEN];		//服务器的物理地址
}NET_DVR_ETHERNET;

//网络配置结构
typedef struct{
	DWORD dwSize;
	NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET];		/* 以太网口 */
	char sManageHostIP[16];		//远程管理主机地址
	WORD wManageHostPort; //远程管理主机端口号
	char sDNSIP[16];            //DNS服务器地址  
	char sMultiCastIP[16];     //多播组地址
	char sGatewayIP[16];       	//网关地址 
	char sNFSIP[16];			//NFS主机IP地址	
	BYTE sNFSDirectory[PATHNAME_LEN];//NFS目录
	DWORD dwPPPOE;				//0-不启用,1-启用
	BYTE sPPPoEUser[NAME_LEN];	//PPPoE用户名
	char sPPPoEPassword[PASSWD_LEN];// PPPoE密码
	char sPPPoEIP[16];			//PPPoE IP地址(只读)
}NET_DVR_NETCFG,*LPNET_DVR_NETCFG; 

//通道图象结构
typedef struct{
	BYTE byMotionScope[18][22];	/*侦测区域,共有22*18个小宏块,为1表示该宏块是移动侦测区域,0-表示不是*/
	BYTE byMotionSensitive;		/*移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭*/
	BYTE byEnableHandleMotion;	/* 是否处理移动侦测 */ 
	NET_DVR_HANDLEEXCEPTION strMotionHandleType;	/* 处理方式 */	
	BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道
}NET_DVR_MOTION,*LPNET_DVR_MOTION;

//遮挡报警 区域为704*576
typedef struct{
	DWORD dwEnableHideAlarm;			/* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度*/
	WORD wHideAlarmAreaTopLeftX;		/* 遮挡区域的x坐标 */
	WORD wHideAlarmAreaTopLeftY;		/* 遮挡区域的y坐标 */
	WORD wHideAlarmAreaWidth;			/* 遮挡区域的宽 */
	WORD wHideAlarmAreaHeight;			/*遮挡区域的高*/ 
	NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType;	/* 处理方式 */		
}NET_DVR_HIDEALARM,*LPNET_DVR_HIDEALARM;

typedef struct
{
	DWORD dwSize;
	BYTE sChanName[NAME_LEN];
	DWORD dwVideoFormat;	/* 只读:视频制式 1-NTSC 2-PAL*/
	BYTE byBrightness;  	/*亮度,0-255*/
	BYTE byContrast;    	/*对比度,0-255*/	
	BYTE bySaturation;  	/*饱和度,0-255 */
	BYTE byHue;    		/*色调,0-255*/	
	//显示通道名
	DWORD dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域为704*576
	WORD wShowNameTopLeftX;				/* 通道名称显示位置的x坐标 */
	WORD wShowNameTopLeftY;				/* 通道名称显示位置的y坐标 */
	//显示LOGO图片(暂时不支持LOGO显示)
	DWORD dwShowLogo; // 预览的图象上是否显示LOGO图片,0-不显示,1-显示 区域为704*576	
	WORD wLOGOTopLeftX;	/* LOGO位置的x坐标 */
	WORD wLOGOTopLeftY;	/* LOGO位置的y坐标 */
	BYTE byLogoAttrib;	/* LOGO属性: 1:透明,2:不透明 */
	//移动侦测
	NET_DVR_MOTION struMotion;	
	//遮挡报警
	NET_DVR_HIDEALARM strHideAlarm;
	//遮挡
	DWORD dwEnableHide;		/* 是否启动遮挡 ,0-否,1-是 区域为704*576*/
	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类型(主要是年月日格式) */
							/* 0: XXXX-XX-XX 年月日 */
							/* 1: XX-XX-XXXX 月日年 */
							/* 2: XXXX年XX月XX日 */
							/* 3: XX月XX日XXXX年 */
	BYTE byDispWeek;				/* 是否显示星期 */	
	BYTE byOSDAttrib;				/* OSD属性:透明,闪烁 */
									/* 1: 透明,闪烁 */	
									/* 2: 透明,不闪烁 */
									/* 3: 闪烁,不透明 */
									/* 4: 不透明,不闪烁 */
}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;

//压缩参数
typedef struct{
	BYTE byStreamType;		//码流类型0-视频流,1-复合流
	BYTE byResolution;  	//分辨率0-DCIF 1-CIF, 2-QCIF, 3-2CIF, 4-4CIF 
	BYTE byBitrateType;		//码率类型0:变码率,1:定码率
	BYTE  byPicQuality;		//图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差	
	DWORD dwVideoBitrate; 	//视频码率 0-无限制 1-16K 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K
							// 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K 
							//最高位(32位)置成1表示是自定义码流, 0-31位表示码流值。
	DWORD dwVideoFrameRate;	//帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-12; 11-16; 12-20; 13-自适应
}NET_DVR_COMPRESSION_INFO,*LPNET_DVR_COMPRESSION_INFO;

typedef struct{
	DWORD dwSize;
	NET_DVR_COMPRESSION_INFO struRecordPara; //录像
	NET_DVR_COMPRESSION_INFO struNetPara;	//网传
}NET_DVR_COMPRESSIONCFG,*LPNET_DVR_COMPRESSIONCFG;

//录像
typedef struct{
	NET_DVR_SCHEDTIME struRecordTime;
	BYTE byRecordType;	//0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警, 5:命令触发, 6: 手动录像
	char reservedData[3];
}NET_DVR_RECORDSCHED,*LPNET_DVR_RECORDSCHED;

typedef struct {
	WORD wAllDayRecord;				/* 是否全天录像 */
	BYTE byRecordType;				/* 录象类型 0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警 5:命令触发, 6: 手动录像*/
	char reservedData;
}NET_DVR_RECORDDAY;

typedef struct {
	DWORD dwSize;
	DWORD dwRecord;  /*是否录像 0-否 1-是*/
	NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS];
	NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT];
	DWORD dwRecordTime;	/* 录象时间长度 */
	DWORD dwPreRecordTime;	/* 预录时间 0-不预录 1-5秒 2-10秒 3-15秒 4-20秒 5-25秒 6-30秒 7-0xffffffff(尽可能预录) */
}NET_DVR_RECORD,*LPNET_DVR_RECORD;

//解码器
typedef struct{
	DWORD dwSize;
	DWORD dwBaudRate;//波特率(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200, 11-38400,12-57600,13-76800,14-115.2k;
	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-硬流控
	WORD wDecoderType;//解码器类型, 0-YouLi,1-LiLin-1016,2-LiLin-820,3-Pelco-p,4-DM DynaColor,5-HD600,6-JC-4116,7-Pelco-d WX,8-Pelco-d PICO
	WORD wDecoderAddress;	/*解码器地址:0 - 255*/
	BYTE bySetPreset[MAX_PRESET];		/* 预置点是否设置,0-没有设置,1-设置*/
	BYTE bySetCruise[MAX_PRESET];		/* 巡航是否设置: 0-没有设置,1-设置 */
	BYTE bySetTrack[MAX_PRESET];		/* 轨迹是否设置,0-没有设置,1-设置*/
}NET_DVR_DECODERCFG,*LPNET_DVR_DECODERCFG;

//RS232串口
typedef struct{
	char sRemoteIP[16];            //远端IP地址
	char sLocalIP[16];             //本地IP地址
	char sLocalIPMask[16];         //本地IP地址掩码
	BYTE sUsername[NAME_LEN];		/* 用户名 */
	BYTE sPassword[PASSWD_LEN];		/* 密码 */
	BYTE byPPPMode;            //PPP模式, 0-主动,1-被动	
	BYTE byRedial;            //是否回拨 :0-否,1-是
	BYTE byRedialMode;        //回拨模式,0-由拨入者指定,1-预置回拨号码
	BYTE byDataEncrypt;	     //数据加密,0-否,1-是
	DWORD dwMTU;              //MTU
	char sTelephoneNumber[PHONENUMBER_LEN];   //电话号码
}NET_DVR_PPPCFG,*LPNET_DVR_PPPCFG;

typedef struct{
	DWORD dwSize;
	DWORD dwBaudRate;//波特率(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200, 11-38400,12-57600,13-76800,14-115.2k;
	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串口用于PPP拨号),1-控制台(232串口用于参数控制),2-透明通道
	NET_DVR_PPPCFG struPPPConfig;
}NET_DVR_RS232CFG,*LPNET_DVR_RS232CFG;

//报警输入
typedef struct{
	DWORD dwSize;
	BYTE sAlarmInName[NAME_LEN];	/* 名称 */
	BYTE byAlarmType;	//报警器类型,0:常开,1:常闭
	BYTE byAlarmInHandle;	/* 是否处理 */
	NET_DVR_HANDLEEXCEPTION struAlarmHandleType;	/* 处理方式 */
	NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间
	BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道
	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];			/* 调用的云台的轨迹序号 */
}NET_DVR_ALARMINCFG,*LPNET_DVR_ALARMINCFG;

//上传报警信息
typedef struct{
	DWORD dwAlarmType;/*0-信号量报警,1-硬盘满,2-信号丢失,3-移动侦测,4-硬盘未格式化*/
	DWORD dwAlarmInputNumber;/*报警输入端口*/
	DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*报警输入端口对应的输出端口,哪一位为1表示对应哪一个输出*/
	DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*报警输入端口对应的录像通道,哪一位为1表示对应哪一路录像,dwAlarmRelateChannel[0]对应第1个通道*/
	DWORD dwChannel[MAX_CHANNUM];/*dwAlarmType为2或3时,表示哪个通道,dwChannel[0]位对应第0个通道*/
	DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmType为4时,表示哪个硬盘*/
}NET_DVR_ALARMINFO,*LPNET_DVR_ALARMINFO;

//DVR报警输出
typedef struct{
	DWORD dwSize;
	BYTE sAlarmOutName[NAME_LEN];	/* 名称 */
	DWORD dwAlarmOutDelay;	/* 输出保持时间(-1为无限,手动关闭) */
	NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];/* 报警输出激活时间段 */				
}NET_DVR_ALARMOUTCFG,*LPNET_DVR_ALARMOUTCFG;

//DVR本地预览参数
typedef 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表示不用
}NET_DVR_PREVIEWCFG,*LPNET_DVR_PREVIEWCFG;

//DVR视频输出
typedef struct {
	WORD wResolution;							/* 分辨率 */
	WORD wFreq;								/* 刷新频率 */
	DWORD dwBrightness;							/* 亮度 */
}NET_DVR_VGAPARA;

typedef struct{
	WORD wDisplayLogo;						/* 显示视频通道号 */
	WORD wDisplayOsd;						/* 显示时间 */
}NET_DVR_MATRIXPARA;

typedef struct{
	BYTE byVideoFormat;						/* 输出制式,0-PAL,1-N	*/
	BYTE byMenuAlphaValue;					/* 菜单与背景图象对比度 */
	WORD wScreenSaveTime;					/* 屏幕保护时间 */
	WORD wVOffset;							/* 视频输出偏移 */
	WORD wBrightness;						/* 视频输出亮度 */
	BYTE byStartMode;						/* 启动后视频输出模式(0:菜单,1:预览)*/ 
	char reservedData;
}NET_DVR_VOOUT;

typedef struct {
	DWORD dwSize;
	NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT];
	NET_DVR_VGAPARA struVGAPara[MAX_VGA];	/* VGA参数 */
	NET_DVR_MATRIXPARA struMatrixPara;		/* MATRIX参数 */
}NET_DVR_VIDEOOUT,*LPNET_DVR_VIDEOOUT;

//DVR用户参数
typedef struct{
	BYTE sUserName[NAME_LEN];		/* 用户名 */
	BYTE sPassword[PASSWD_LEN];		/* 密码 */
	DWORD dwLocalRight[MAX_RIGHT];	/* 权限 */
									/*数组0: 本地控制云台*/
									/*数组1: 本地手动录象*/
									/*数组2: 本地回放*/
									/*数组3: 本地设置参数*/
									/*数组4: 本地查看状态、日志*/
									/*数组5: 本地高级操作(升级,格式化,重启,关机)*/
	DWORD dwRemoteRight[MAX_RIGHT];	/* 权限 */
									/*数组0: 远程控制云台*/
									/*数组1: 远程手动录象*/
									/*数组2: 远程回放*/
									/*数组3: 远程设置参数*/
									/*数组4: 远程查看状态、日志*/
									/*数组5: 远程高级操作(升级,格式化,重启,关机)*/
									/*数组6: 远程发起语音对讲*/
									/*数组7: 远程预览*/
									/*数组8: 远程请求报警上传、报警输出*/
									/*数组9: 远程控制,本地输出*/
									/*数组10: 远程控制串口*/
	char sUserIP[16];					/* 用户IP地址(为0时表示允许任何地址) */
	BYTE byMACAddr[MACADDR_LEN];		/* 物理地址 */
}NET_DVR_USER_INFO,*LPNET_DVR_USER_INFO;

typedef struct{
	DWORD dwSize;
	NET_DVR_USER_INFO struUser[MAX_USERNUM];
}NET_DVR_USER,*LPNET_DVR_USER;

//DVR异常参数
typedef struct{
	DWORD dwSize;
	NET_DVR_HANDLEEXCEPTION struExceptionHandleType[MAX_EXCEPTIONNUM];
	/*数组0-盘满,1- 硬盘出错,2-信号丢失,3-网线断,4-MODEM 掉线,5-非法访问,6-局域网内IP 地址冲突*/
}NET_DVR_EXCEPTION,*LPNET_DVR_EXCEPTION;

typedef struct
{
	char sFileName[100];//文件名
	NET_DVR_TIME struStartTime;//文件的开始时间
	NET_DVR_TIME struStopTime;//文件的结束时间
	DWORD dwFileSize;//文件的大小
}NET_DVR_FIND_DATA,*LPNET_DVR_FIND_DATA;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -