📄 hcnetsdk.h
字号:
#define WATCH_NUM 512#define SERVER_NUM 512#define ALARM_NUM 512#define MAX_SERVERNUM 512#define MAXCARD_NUM 40#define COMMANDLEN 1024#define MAXPROGRESS 100#define MAX_SERIALNUM 2#define MAX_CASTNUM 100#define CARDNUM_LEN 20#define MAX_VIDEOOUT 2#define MAX_STRINGNUM 4#define MAX_AUXOUT 4#define MAX_HD_COUNT 24#define MAX_CYCLE_CHAN 4#define MAX_NFS_DISK 8//DVR TYPE#define DVR 1#define ATMDVR 2#define DVS 3#define DEC 4#define ENC_DEC 5#define DVR_HC 6#define DVR_HT 7#define DVR_HF 8#define DVR_HS 9#define DVR_HTS 10#define DVR_HB 11#define DVR_HCS 12#define DVS_A 13#define DVR_HC_S 14#define DVR_HT_S 15#define DVR_HF_S 16#define DVR_HS_S 17#define ATMDVR_S 18#define LOWCOST_DVR 19#define DEC_MAT 20 //多路解码器typedef struct { BYTE sSerialNumber[SERIALNO_LEN]; //序列号 BYTE byAlarmInPortNum; //DVR报警输入个数 BYTE byAlarmOutPortNum; //DVR报警输出个数 BYTE byDiskNum; //DVR 硬盘个数 BYTE byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS BYTE byChanNum; //DVR 通道个数 BYTE byStartChan; //起始通道号,例如DVS-1,DVR - 1}NET_DVR_DEVICEINFO, *LPNET_DVR_DEVICEINFO;enum{ TCP_MODE, UDP_MODE, MULTICAST_MODE, RTP_MODE};typedef struct{ int lChannel;//通道号 int lLinkMode;//最高位(31)为0表示主码流,为1表示子,0-31位表示码流连接方式: 0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-音视频分开(TCP) PLAYRECT hPlayWnd;//播放窗口的句柄,为NULL表示不播放图象 char* sMultiCastIP;//多播组地址#ifdef NJLC_VER char mediaSrvIp[16]; DWORD mediaSrvPort;#endif}NET_DVR_CLIENTINFO,*LPNET_DVR_CLIENTINFO;//预览参数typedef struct{ int bToScreen; int bToVideoOut; int nLeft; int nTop; int nWidth; int nHeight; int nReserved;}NET_DVR_DISPLAY_PARA,*LPNET_DVR_DISPLAY_PARA; typedef struct{ int lChannel;//通道号 int lLinkMode; //最高位(31)为0表示主码流,为1表示子,0-31位表示码流连接方式:0:TCP方式,1:UDP方式,2:多播方式,3 - RTP方式,4-电话线,5-128k宽带,6-256k宽带,7-384k宽带,8-512k宽带; 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{ //开始时间 BYTE byStartHour; BYTE byStartMin; //结束时间 BYTE byStopHour; BYTE byStopMin;}NET_DVR_SCHEDTIME,*LPNET_DVR_SCHEDTIME;/*处理方式*/#define NOACTION 0x0 /*无响应*/#define WARNONMONITOR 0x1 /*监视器上警告*/#define WARNONAUDIOOUT 0x2 /*声音警告*/#define UPTOCENTER 0x4 /*上传中心*/#define TRIGGERALARMOUT 0x8 /*触发报警输出*/#define TRIGGERCATPIC 0x20 /* trigger catch picture */ typedef struct{ DWORD dwHandleType; /*处理方式,处理方式的"或"结果*/ /*0x00: 无响应*/ /*0x01: 监视器上警告*/ /*0x02: 声音警告*/ /*0x04: 上传触发报警输出中心*/ /*0x08: 触发报警输出*/ /*0x20: 触发抓图*/ BYTE byRelAlarmOut[MAX_ALARMOUT]; //报警触发的输出通道,报警触发的输出,为1表示触发该输出}NET_DVR_HANDLEEXCEPTION;//DVR设备参数typedef struct{ DWORD dwSize; BYTE sDVRName[NAME_LEN]; //DVR名称 DWORD dwDVRID; //DVR ID,用于遥控器 DWORD dwRecycleRecord; //是否循环录像,0:不是; 1:是//以下不能更改 BYTE sSerialNumber[SERIALNO_LEN]; //序列号 DWORD dwSoftwareVersion; //软件版本号,高16位是主版本,低16位是次版本 DWORD dwSoftwareBuildDate; //软件生成日期,0xYYYYMMDD DWORD dwDSPSoftwareVersion; //DSP软件版本,高16位是主版本,低16位是次版本 DWORD dwDSPSoftwareBuildDate; // DSP软件生成日期,0xYYYYMMDD DWORD dwPanelVersion; // 前面板版本,高16位是主版本,低16位是次版本 DWORD dwHardwareVersion; // 硬件版本,高16位是主版本,低16位是次版本 BYTE byAlarmInPortNum; //DVR报警输入个数 BYTE byAlarmOutPortNum; //DVR报警输出个数 BYTE byRS232Num; //DVR 232串口个数 BYTE byRS485Num; //DVR 485串口个数 BYTE byNetworkPortNum; //网络口个数 BYTE byDiskCtrlNum; //DVR 硬盘控制器个数 BYTE byDiskNum; //DVR 硬盘个数 BYTE byDVRType; //DVR类型, 1:DVR 2:ATM DVR 3:DVS BYTE byChanNum; //DVR 通道个数 BYTE byStartChan; //起始通道号,例如DVS-1,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 sIPServerIP[16]; //IP Server服务器地址 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地址(只读)#ifdef SDK_V14 WORD wHttpPort; //HTTP端口号#endif}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 struMotionHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道 }NET_DVR_MOTION,*LPNET_DVR_MOTION;//遮挡报警 区域大小704*576typedef struct{ DWORD dwEnableHideAlarm; /* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度 */ WORD wHideAlarmAreaTopLeftX; /* 遮挡区域的x坐标 */ WORD wHideAlarmAreaTopLeftY; /* 遮挡区域的y坐标 */ WORD wHideAlarmAreaWidth; /* 遮挡区域的宽 */ WORD wHideAlarmAreaHeight; /*遮挡区域的高*/ NET_DVR_HANDLEEXCEPTION struHideAlarmHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif }NET_DVR_HIDEALARM,*LPNET_DVR_HIDEALARM;//信号丢失报警typedef struct{ BYTE byEnableHandleVILost; /* 是否处理信号丢失报警 */ NET_DVR_HANDLEEXCEPTION struVILostHandleType; /* 处理方式 */ #ifdef SDK_V13 NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif }NET_DVR_VILOST,*LPNET_DVR_VILOST;//通道图象结构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坐标 */ //信号丢失报警 NET_DVR_VILOST struVILost; //移动侦测 NET_DVR_MOTION struMotion; //遮挡报警 NET_DVR_HIDEALARM struHideAlarm; //遮挡 区域大小704*576 DWORD dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/ WORD wHideAreaTopLeftX; /* 遮挡区域的x坐标 */ WORD wHideAreaTopLeftY; /* 遮挡区域的y坐标 */ WORD wHideAreaWidth; /* 遮挡区域的宽 */ WORD wHideAreaHeight; /*遮挡区域的高*/ //OSD DWORD dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576 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年 */ /* 4: XX-XX-XXXX 日月年*/ /* 5: XX日XX月XXXX年 */ BYTE byDispWeek; /* 是否显示星期 */ BYTE byOSDAttrib; /* OSD属性:透明,闪烁 */ /* 1: 透明,闪烁 */ /* 2: 透明,不闪烁 */ /* 3: 闪烁,不透明 */ /* 4: 不透明,不闪烁 */}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;typedef struct{ WORD wHideAreaTopLeftX; /* 遮挡区域的x坐标 */ WORD wHideAreaTopLeftY; /* 遮挡区域的y坐标 */ WORD wHideAreaWidth; /* 遮挡区域的宽 */ WORD wHideAreaHeight; /*遮挡区域的高*/}NET_DVR_SHELTER,*LPNET_DVR_SHELTER;//SDK_V14typedef 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坐标 */ //信号丢失报警 NET_DVR_VILOST struVILost; //移动侦测 NET_DVR_MOTION struMotion; //遮挡报警 NET_DVR_HIDEALARM struHideAlarm; //遮挡 区域大小704*576 DWORD dwEnableHide; /* 是否启动遮挡 ,0-否,1-是*/ NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; //OSD DWORD dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576 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_EX,*LPNET_DVR_PICCFG_EX;//压缩参数
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -