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

📄 hcnetsdk.h

📁 海康ip摄像机的sdkdemo 可在linux下获得视频并显示
💻 H
📖 第 1 页 / 共 5 页
字号:
#define MAX_STRINGNUM		4#ifdef SDK_ALCATEL #define WATCH_NUM	1000 #define SERVER_NUM	1000 #define ALARM_NUM	1000 #define MAX_SERVERNUM	1000#else #ifdef _UCLINUX  #define WATCH_NUM	16  #define SERVER_NUM	16  #define ALARM_NUM	16  #define MAX_SERVERNUM	16 #else  #define WATCH_NUM	512  #define SERVER_NUM	512  #define ALARM_NUM	512  #define MAX_SERVERNUM	512 #endif/* _UCLINUX */#endif/* SDK_ALCATEL */#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//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		13typedef struct  {	UINT8 sSerialNumber[SERIALNO_LEN];  //序列号	UINT8 byAlarmInPortNum;		//DVR报警输入个数	UINT8 byAlarmOutPortNum;		//DVR报警输出个数	UINT8 byDiskNum;				//DVR 硬盘个数	UINT8 byDVRType;				//DVR类型, 1:DVR 2:ATM DVR 3:DVS	UINT8 byChanNum;				//DVR 通道个数	UINT8 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];	UINT32 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{	UINT32 dwYear;		//年	UINT32 dwMonth;		//月	UINT32 dwDay;		//日	UINT32 dwHour;		//时	UINT32 dwMinute;		//分	UINT32 dwSecond;		//秒}NET_DVR_TIME,*LPNET_DVR_TIME;typedef struct{	//开始时间    UINT8 byStartHour;	UINT8 byStartMin;	//结束时间	UINT8 byStopHour;	UINT8 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{	UINT32	dwHandleType;			/*处理方式,处理方式的"或"结果*/									/*0x00: 无响应*/									/*0x01: 监视器上警告*/									/*0x02: 声音警告*/									/*0x04: 上传触发报警输出中心*/									/*0x08: 触发报警输出*/									/*0x20: 触发抓图*/	UINT8 byRelAlarmOut[MAX_ALARMOUT];  //报警触发的输出通道,报警触发的输出,为1表示触发该输出}NET_DVR_HANDLEEXCEPTION;//DVR设备参数typedef struct{	UINT32 dwSize;	UINT8 sDVRName[NAME_LEN];     //DVR名称	UINT32 dwDVRID;				//DVR ID,用于遥控器	UINT32 dwRecycleRecord;		//是否循环录像,0:不是; 1:是//以下不能更改	UINT8 sSerialNumber[SERIALNO_LEN];  //序列号	UINT32 dwSoftwareVersion;			//软件版本号,高16位是主版本,低16位是次版本	UINT32 dwSoftwareBuildDate;			//软件生成日期,0xYYYYMMDD	UINT32 dwDSPSoftwareVersion;		//DSP软件版本,高16位是主版本,低16位是次版本	UINT32 dwDSPSoftwareBuildDate;		// DSP软件生成日期,0xYYYYMMDD	UINT32 dwPanelVersion;				// 前面板版本,高16位是主版本,低16位是次版本	UINT32 dwHardwareVersion;	// 硬件版本,高16位是主版本,低16位是次版本	UINT8 byAlarmInPortNum;		//DVR报警输入个数	UINT8 byAlarmOutPortNum;		//DVR报警输出个数	UINT8 byRS232Num;			//DVR 232串口个数	UINT8 byRS485Num;			//DVR 485串口个数	UINT8 byNetworkPortNum;		//网络口个数	UINT8 byDiskCtrlNum;			//DVR 硬盘控制器个数	UINT8 byDiskNum;				//DVR 硬盘个数	UINT8 byDVRType;				//DVR类型, 1:DVR 2:ATM DVR 3:DVS	UINT8 byChanNum;				//DVR 通道个数	UINT8 byStartChan;			//起始通道号,例如DVS-1,DVR - 1	UINT8 byDecordChans;			//DVR 解码路数	UINT8 byVGANum;				//VGA口的个数	UINT8 byUSBNum;				//USB口的个数	char reservedData[3];		//保留 #ifdef SDK_ALCATEL_DX	UINT32 dwVideoMonitorEnabled;	//1-enable 0-disable	UINT32 dwVideoMonitorInterval;	//in minutes	char imageFormat[10];	//"JPEG" or "BMP"#endif}NET_DVR_DEVICECFG,*LPNET_DVR_DEVICECFG;typedef struct {	char sDVRIP[16];          //DVR IP地址	char sDVRIPMask[16];      // DVR IP地址掩码	UINT32 dwNetInterface;   //网络接口 1-10MBase-T 2-10MBase-T全双工 3-100MBase-TX 4-100M全双工 5-10M/100M自适应	UINT16 wDVRPort;		//端口号	UINT8 byMACAddr[MACADDR_LEN];		//服务器的物理地址}NET_DVR_ETHERNET;//网络配置结构typedef struct{	UINT32 dwSize;	NET_DVR_ETHERNET struEtherNet[MAX_ETHERNET];		/* 以太网口 */	char sManageHostIP[16];		//远程管理主机地址	UINT16 wManageHostPort; //远程管理主机端口号	char sDNSIP[16];            //DNS服务器地址  	//UINT8 sResolveName[NAME_LEN]; //解析服务器名称 	//char sResolveIP[16];       //解析服务器地址		char sMultiCastIP[16];     //多播组地址	char sGatewayIP[16];       	//网关地址 	char sNFSIP[16];			//NFS主机IP地址		UINT8 sNFSDirectory[PATHNAME_LEN];//NFS目录	UINT32 dwPPPOE;				//0-不启用,1-启用	UINT8 sPPPoEUser[NAME_LEN];	//PPPoE用户名	char sPPPoEPassword[PASSWD_LEN];// PPPoE密码	char sPPPoEIP[16];                      //PPPoE IP地址(只读)#ifdef SDK_V14	UINT16 wHttpPort;				//HTTP端口号#endif}NET_DVR_NETCFG,*LPNET_DVR_NETCFG;//移动侦测typedef struct{	UINT8 byMotionScope[18][22];	/*侦测区域,共有22*18个小宏块,为1表示该宏块是移动侦测区域,0-表示不是*/	UINT8 byMotionSensitive;		/*移动侦测灵敏度, 0 - 5,越高越灵敏,0xff关闭*/	UINT8 byEnableHandleMotion;	/* 是否处理移动侦测 */ 	NET_DVR_HANDLEEXCEPTION struMotionHandleType;	/* 处理方式 */	#ifdef SDK_V13	NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];#endif		UINT8 byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道	}NET_DVR_MOTION,*LPNET_DVR_MOTION;//遮挡报警  区域大小704*576typedef struct{	UINT32 dwEnableHideAlarm;				/* 是否启动遮挡报警 ,0-否,1-低灵敏度 2-中灵敏度 3-高灵敏度 */	UINT16 wHideAlarmAreaTopLeftX;			/* 遮挡区域的x坐标 */	UINT16 wHideAlarmAreaTopLeftY;			/* 遮挡区域的y坐标 */	UINT16 wHideAlarmAreaWidth;				/* 遮挡区域的宽 */	UINT16 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{	UINT8 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{	UINT32 dwSize;	UINT8 sChanName[NAME_LEN];	UINT32 dwVideoFormat;	/* 只读 视频制式 1-NTSC 2-PAL*/	UINT8 byBrightness;  	/*亮度,0-255*/	UINT8 byContrast;    	/*对比度,0-255*/		UINT8 bySaturation;  	/*饱和度,0-255 */	UINT8 byHue;    			/*色调,0-255*/		//显示通道名	UINT32 dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576	UINT16 wShowNameTopLeftX;				/* 通道名称显示位置的x坐标 */	UINT16 wShowNameTopLeftY;				/* 通道名称显示位置的y坐标 */    //信号丢失报警    NET_DVR_VILOST struVILost;	//移动侦测	NET_DVR_MOTION struMotion;		//遮挡报警	NET_DVR_HIDEALARM struHideAlarm;	//遮挡  区域大小704*576	UINT32 dwEnableHide;		/* 是否启动遮挡 ,0-否,1-是*/	UINT16 wHideAreaTopLeftX;				/* 遮挡区域的x坐标 */	UINT16 wHideAreaTopLeftY;				/* 遮挡区域的y坐标 */	UINT16 wHideAreaWidth;				/* 遮挡区域的宽 */	UINT16 wHideAreaHeight;				/*遮挡区域的高*/	//OSD	UINT32 dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576	UINT16 wOSDTopLeftX;				/* OSD的x坐标 */	UINT16 wOSDTopLeftY;				/* OSD的y坐标 */	UINT8 byOSDType;					/* OSD类型(主要是年月日格式) */							/* 0: XXXX-XX-XX 年月日 */							/* 1: XX-XX-XXXX 月日年 */							/* 2: XXXX年XX月XX日 */							/* 3: XX月XX日XXXX年 */	UINT8 byDispWeek;				/* 是否显示星期 */		UINT8 byOSDAttrib;				/* OSD属性:透明,闪烁 */									/* 1: 透明,闪烁 */										/* 2: 透明,不闪烁 */									/* 3: 闪烁,不透明 */									/* 4: 不透明,不闪烁 */}NET_DVR_PICCFG,*LPNET_DVR_PICCFG;typedef struct{	UINT16 wHideAreaTopLeftX;				/* 遮挡区域的x坐标 */	UINT16 wHideAreaTopLeftY;				/* 遮挡区域的y坐标 */	UINT16 wHideAreaWidth;				/* 遮挡区域的宽 */	UINT16 wHideAreaHeight;				/*遮挡区域的高*/}NET_DVR_SHELTER,*LPNET_DVR_SHELTER;//SDK_V14typedef struct{	UINT32 dwSize;	UINT8 sChanName[NAME_LEN];	UINT32 dwVideoFormat;	/* 只读 视频制式 1-NTSC 2-PAL*/	UINT8 byBrightness;  	/*亮度,0-255*/	UINT8 byContrast;    	/*对比度,0-255*/		UINT8 bySaturation;  	/*饱和度,0-255 */	UINT8 byHue;    			/*色调,0-255*/		//显示通道名	UINT32 dwShowChanName; // 预览的图象上是否显示通道名称,0-不显示,1-显示 区域大小704*576	UINT16 wShowNameTopLeftX;				/* 通道名称显示位置的x坐标 */	UINT16 wShowNameTopLeftY;				/* 通道名称显示位置的y坐标 */    //信号丢失报警    NET_DVR_VILOST struVILost;	//移动侦测	NET_DVR_MOTION struMotion;		//遮挡报警	NET_DVR_HIDEALARM struHideAlarm;	//遮挡  区域大小704*576	UINT32 dwEnableHide;		/* 是否启动遮挡 ,0-否,1-是*/	NET_DVR_SHELTER struShelter[MAX_SHELTERNUM]; 	//OSD	UINT32 dwShowOsd;// 预览的图象上是否显示OSD,0-不显示,1-显示 区域大小704*576	UINT16 wOSDTopLeftX;				/* OSD的x坐标 */	UINT16 wOSDTopLeftY;				/* OSD的y坐标 */	UINT8 byOSDType;					/* OSD类型(主要是年月日格式) */							/* 0: XXXX-XX-XX 年月日 */							/* 1: XX-XX-XXXX 月日年 */							/* 2: XXXX年XX月XX日 */							/* 3: XX月XX日XXXX年 */	UINT8 byDispWeek;				/* 是否显示星期 */	

⌨️ 快捷键说明

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