📄 hcnetsdk.h
字号:
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 + -