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

📄 hcnetsdk.h

📁 SDK DVR/DVS HIKVISION
💻 H
📖 第 1 页 / 共 5 页
字号:
	long nReserved;
}NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA;

typedef struct{
	LONG lChannel;	//channel No.
	LONG lLinkMode;	//highest bit(No. 31 bit) is 1 means minor bitrate, is 0 means major bitrate , 0-30 bits represent link mode: 0--TCP, 1--UDP, 2--Mulitcast, 3--RTP, 4-- video and audio detach(TCP);
	HWND hPlayWnd;	//play window handle, NULL means not play
	char* sMultiCastIP;	//Mulitcast IP
}NET_DVR_CLIENTINFO,*LPNET_DVR_CLIENTINFO;

typedef struct{
	LONG lChannel;	//channel No.
	LONG lLinkMode; //highest bit(No. 31 bit) is 1 means minor bitrate, is 0 means major bitrate , 0-30 bits represent link mode: 0--TCP, 1--UDP, 2--Multicast, 3--RTP, 4--video and audio detach(TCP);
	char* sMultiCastIP;
	NET_DVR_DISPLAY_PARA struDisplayPara;
}NET_DVR_CARDINFO,*LPNET_DVR_CARDINFO;

typedef struct{
	DWORD dwYear;		//
	DWORD dwMonth;		//
	DWORD dwDay;		//
	DWORD dwHour;		//
	DWORD dwMinute;		//
	DWORD dwSecond;		//
}NET_DVR_TIME, *LPNET_DVR_TIME;

typedef struct{
	//Start time
    BYTE byStartHour;
	BYTE byStartMin;
	//End time
	BYTE byStopHour;
	BYTE byStopMin;
}NET_DVR_SCHEDTIME,*LPNET_DVR_SCHEDTIME;

/*Handle method*/
#define NOACTION			0x0				/*no response*/
#define WARNONMONITOR		0x1				/*warn on monitor*/
#define WARNONAUDIOOUT		0x2				/*warn by beep告*/
#define UPTOCENTER			0x4				/*send to center*/
#define TRIGGERALARMOUT		0x8				/*trigger alarm output*/

typedef struct
{
	DWORD	dwHandleType;			/*handle mode*/
									/*0x00: no response*/
									/*0x01: warn on monitor*/
									/*0x02: warn by beep*/
									/*0x04: send to center*/
									/*0x08: trigger alarm output*/
									/*0x10: trigger picture capture*/
	BYTE byRelAlarmOut[MAX_ALARMOUT];  //1 -- trigger the correspond alarm output
}NET_DVR_HANDLEEXCEPTION;

//DVR server parameter
typedef struct{
	DWORD dwSize;
	BYTE sDVRName[NAME_LEN];     //DVR name
	DWORD dwDVRID;				//DVR ID for infrared remote controller
	DWORD dwRecycleRecord;		//0:not overwrite; 1:overwrite
//
	BYTE sSerialNumber[SERIALNO_LEN];	//serial number
	DWORD dwSoftwareVersion;			//firmware version
	DWORD dwSoftwareBuildDate;			//firmware created date,0xYYYYMMDD
	DWORD dwDSPSoftwareVersion;			//DSP software version
	DWORD dwDSPSoftwareBuildDate;		//DSP software created date,0xYYYYMMDD
	DWORD dwPanelVersion;				//Front panel version
	DWORD dwHardwareVersion;			//Hardware version
	BYTE byAlarmInPortNum;				//DVR alarm input number
	BYTE byAlarmOutPortNum;				//DVR alarm output number
	BYTE byRS232Num;					//DVR RS-232 number
	BYTE byRS485Num;					//DVR RS-485 number
	BYTE byNetworkPortNum;				//UTP number
	BYTE byDiskCtrlNum;					//DVR HDD controller number
	BYTE byDiskNum;						//DVR HDD number
	BYTE byDVRType;						//DVR type, 1:DVR 2:ATM DVR 3:DVS
	BYTE byChanNum;						//DVR channel number
	BYTE byStartChan;					//start channel No. for example:DVS-0, DVR-1
	BYTE byDecordChans;					//DVR decode channel nmber
	BYTE byVGANum;						//VGA interface number
	BYTE byUSBNum;						//USB interface number
	char reservedData[3];				//reserved
}NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;

typedef struct {
	char sDVRIP[16];					//DVR IP
	char sDVRIPMask[16];				//DVR mask IP
	DWORD dwNetInterface;				//Net interface: 1-10MBase-T 2-10MBase-T full duplex 3-100MBase-TX 4-100M full duplex 5-10M/100M auto
	WORD wDVRPort;						//Port number
	BYTE byMACAddr[MACADDR_LEN];		//MAC
}NET_DVR_ETHERNET;

//network parameters
typedef struct{
	DWORD dwSize;
	NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET];
	char sManageHostIP[16];				//remote host IP
	WORD wManageHostPort;				//remote host port
	char sIPServer[16];					//DNS IP
	char sMultiCastIP[16];				//Multicast IP
	char sGatewayIP[16];       			//Gateway IP
	char sNFSIP[16];					//NAS IP
	BYTE sNFSDirectory[PATHNAME_LEN];	//NAS directory
	DWORD dwPPPOE;						//0-disable,1-enable
	BYTE sPPPoEUser[NAME_LEN];			//PPPoE username
	char sPPPoEPassword[PASSWD_LEN];	//PPPoE password
	char sPPPoEIP[16];					//PPPoE IP (read only)
	WORD wHttpPort;						//HTT port
}NET_DVR_NETCFG,*LPNET_DVR_NETCFG;

//Video Motion Detect
typedef struct{
	BYTE byMotionScope[18][22];		//Motion detect area
									//PAL:22*18 blocks; NTSC:22*15 blocks
									//1 means enable the related block, 0 means disable the block
	BYTE byMotionSensitive;			//sensitivity 0 - 5: bigger value means higher sensitivity; 0xff means close
	BYTE byEnableHandleMotion;		//handle motion detection
	NET_DVR_HANDLEEXCEPTION strMotionHandleType;	//handle mode
	NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];// work schedule
	BYTE byRelRecordChan[MAX_CHANNUM]; //trigger record channel, 1 means trigger this channel
}NET_DVR_MOTION,*LPNET_DVR_MOTION;

//Max mask alarm area 704*576
typedef struct{
	DWORD dwEnableHideAlarm;			//enable mask alarm, 0-disable, 1-low sensitivity 2-middle 3-high
	WORD wHideAlarmAreaTopLeftX;		//left X coordinate of mask area
	WORD wHideAlarmAreaTopLeftY;		//left Y coordinate of mask area
	WORD wHideAlarmAreaWidth;			//width
	WORD wHideAlarmAreaHeight;			//height
	NET_DVR_HANDLEEXCEPTION strHideAlarmHandleType;	//handle mode
	NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];// work schedule
}NET_DVR_HIDEALARM,*LPNET_DVR_HIDEALARM;

//signal lost alarm
typedef struct{
	BYTE byEnableHandleVILost;		//enable signal lost alarm
	NET_DVR_HANDLEEXCEPTION strVILostHandleType;	//handle mode
	NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];// work schedule
}NET_DVR_VILOST,*LPNET_DVR_VILOST;

typedef struct
{
	DWORD dwSize;					//struct size
	BYTE sChanName[NAME_LEN];		//channel name
	DWORD dwVideoFormat;			//video standard 1-NTSC 2-PAL
	BYTE byBrightness;  			//brightness: 0-255
	BYTE byContrast;    			//contrast: 0-255
	BYTE bySaturation;  			//saturation: 0-255
	BYTE byHue;    					//hue: 0-255
	//show channel name
	DWORD dwShowChanName; 			//display channel name,0-not display,1-display
	WORD wShowNameTopLeftX;			//x coordinate
	WORD wShowNameTopLeftY;			//y coordinate
	//signal lost alarm
	NET_DVR_VILOST struVILost;
	//motion detection
	NET_DVR_MOTION struMotion;
	//mask alarm
	NET_DVR_HIDEALARM struHideAlarm;
	//mask area 704*576
	DWORD dwEnableHide;				//enable mask,0-Disable,1-Enable
	WORD wHideAreaTopLeftX;			//x coordinate
	WORD wHideAreaTopLeftY;			//y coordinate
	WORD wHideAreaWidth;			//width
	WORD wHideAreaHeight;			//height
	//OSD
	DWORD dwShowOsd;				//enable show OSD,0-disable,1-enable
	WORD wOSDTopLeftX;				//x coordinate
	WORD wOSDTopLeftY;				//y coordinate
	BYTE byOSDType;					//OSD format
	/* 0: XXXX-XX-XX year month day */
	/* 1: XX-XX-XXXX month day year */
	/* 2: XXXXyearXXmonthXXday */
	/* 3: XmonthXXdayXXXXyear */
	/* 4: XX-XX-XXXX day month year*/
	/* 5: XXdayXXmonthXXXXyear */

	BYTE byDispWeek;				//enable show week
	BYTE byOSDAttrib;				//OSD properity:Transparent and twinkle
	/* 1: transparent and twinkle */
	/* 2: transparent and untwinkle */
	/* 3: untransparent and twinkle */
	/* 4: untransparent and untwinkle */
}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;

typedef struct{
	WORD wHideAreaTopLeftX;			//x coordinate
	WORD wHideAreaTopLeftY;			//y coordinate
	WORD wHideAreaWidth;			//width
	WORD wHideAreaHeight;			//height
}NET_DVR_SHELTER,*LPNET_DVR_SHELTER;

typedef struct
{
	DWORD dwSize;					//struct size
	BYTE sChanName[NAME_LEN];		//channel name
	DWORD dwVideoFormat;			//video standard 1-NTSC 2-PAL
	BYTE byBrightness;  			//brightness: 0-255
	BYTE byContrast;    			//contrast: 0-255
	BYTE bySaturation;  			//saturation: 0-255
	BYTE byHue;    					//hue: 0-255
	//show channel name
	DWORD dwShowChanName; 			//display channel name,0-not display,1-display
	WORD wShowNameTopLeftX;			//x coordinate
	WORD wShowNameTopLeftY;			//y coordinate
	//signal lost alarm
	NET_DVR_VILOST struVILost;
	//motion detection
	NET_DVR_MOTION struMotion;
	//mask alarm
	NET_DVR_HIDEALARM struHideAlarm;
	DWORD dwEnableHide;				//enable mask,0-Disable,1-Enable
	NET_DVR_SHELTER struShelter[MAX_SHELTERNUM];
	//OSD
	DWORD dwShowOsd;				//enable show OSD,0-disable,1-enable
	WORD wOSDTopLeftX;				//x coordinate
	WORD wOSDTopLeftY;				//y coordinate
	BYTE byOSDType;					//OSD format
	/* 0: XXXX-XX-XX year month day */
	/* 1: XX-XX-XXXX day month year */
	/* 2: XXXXyearXXmonthXXday */
	/* 3: XXmonthXXdayXXXXyear */
	/* 4: XX-XX-XXXX DayMonthYear */
	/* 5: XXDayXXMonthXXXXYear */

	BYTE byDispWeek;				//enable show week
	BYTE byOSDAttrib;				//OSD properity:Transparent and twinkle
	/* 1: transparent and twinkle */
	/* 2: transparent and untwinkle */
	/* 3: untransparent and twinkle */
	/* 4: untransparent and untwinkle */
}NET_DVR_PICCFG_EX,*LPNET_DVR_PICCFG_EX;

//compression parameter
typedef struct{
	BYTE byStreamType;		/*stream type:0-video stream,1-mixed stream
								2008-03-31 the highest bit of this byte is used to denote whether the event paramters
								will take effect after setting to DVR*/
	BYTE byResolution;  	//resolution:0-DCIF 1-CIF, 2-QCIF, 3-4CIF(ATM DVR can not support 4CIF), 4-2CIF
	BYTE byBitrateType;		//bitrate type:0-variable, 1-fix
	BYTE  byPicQuality;		//image quality:0-best 1-better 2-good 3-normal 4-bad 5-worse
	DWORD dwVideoBitrate; 	//bitrate: 0-reserved 1-reserved 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
				//highest bit(No. 31 bit) is 1 means self define bitrate, 0-30 bits represent bitrate value.MIN-16K MAX-8192K
	DWORD dwVideoFrameRate;	//Frame rate: 0-Full; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20;14-15; 15-18; 16-22;
}NET_DVR_COMPRESSION_INFO,*LPNET_DVR_COMPRESSION_INFO;

//compression parameter extension
typedef struct{
	BYTE byStreamType;		/*stream type:0-video stream,1-mixed stream*/
	BYTE byResolution;  	//resolution:0-DCIF 1-CIF, 2-QCIF, 3-4CIF(ATM DVR can not support 4CIF), 4-2CIF
	BYTE byBitrateType;		//bitrate type:0-variable, 1-fix
	BYTE  byPicQuality;		//image quality:0-best 1-better 2-good 3-normal 4-bad 5-worse
	DWORD dwVideoBitrate; 	//bitrate: 0-reserved 1-reserved 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
				//highest bit(No. 31 bit) is 1 means self define bitrate, 0-30 bits represent bitrate value.MIN-16K MAX-8192K
	DWORD dwVideoFrameRate;	//Frame rate: 0-Full; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; //V2.0 ADD 14-15; 15-18; 16-22;
	WORD  wIntervalFrameI;  //Frame I Interval
	//2006-08-11 add the interface for Only Frame P, it can optimize time-lapse stream
	BYTE  byIntervalBPFrame;//0-BBP; 1-BP; 2-Only P ,BP doesnt work temporarily
	BYTE  byRes;

}NET_DVR_COMPRESSION_INFO_EX,*LPNET_DVR_COMPRESSION_INFO_EX;

typedef struct{
	DWORD dwSize;
	NET_DVR_COMPRESSION_INFO struRecordPara;	//record
	NET_DVR_COMPRESSION_INFO struNetPara;		//network
}NET_DVR_COMPRESSIONCFG,*LPNET_DVR_COMPRESSIONCFG;

typedef struct{
	DWORD dwSize;
	NET_DVR_COMPRESSION_INFO_EX struRecordPara; //record
	NET_DVR_COMPRESSION_INFO_EX struNetPara;	//network
}NET_DVR_COMPRESSIONCFG_EX,*LPNET_DVR_COMPRESSIONCFG_EX;

//record
typedef struct{
	NET_DVR_SCHEDTIME struRecordTime;
	BYTE byRecordType;	//0:schedule record, 1:motion record, 2:alarm record, 3:Motion|Alarm, 4:Motion&Alarm, 5:command trigger, 6:manual record
	char reservedData[3];
}NET_DVR_RECORDSCHED,*LPNET_DVR_RECORDSCHED;

typedef struct {
	WORD wAllDayRecord;				/* record all day */
	BYTE byRecordType;				/* record type 0:schedule record, 1:motion record, 2:alarm record, 3:motion|alarm, 4:motion&alarm, 5:command trigger, 6:manual record*/
	char reservedData;
}NET_DVR_RECORDDAY;

typedef struct {
	DWORD dwSize;
	DWORD dwRecord;					/*enable record: 0-disable 1-enable */
	NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS];
	NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT];
	DWORD dwRecordTime;				/* enable pre record time */
	DWORD dwPreRecordTime;			/* pre record time: 0-no 1-5 seconds 2-10 seconds 3-15 seconds 4-20 seconds 5-25 seconds 6-30 seconds 7-0xffffffff(as long as it can) */
}NET_DVR_RECORD,*LPNET_DVR_RECORD;

/* PTZ type */
#define YOULI						0
#define LILIN					1
#define LILIN_820					2
#define PELCO_P						3
#define DM_DynaColor				4

⌨️ 快捷键说明

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