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

📄 hcnetsdk.h

📁 海康ip摄像机的sdkdemo 可在linux下获得视频并显示
💻 H
📖 第 1 页 / 共 5 页
字号:
			UINT8 sPassword[PASSWD_LEN];	/* 密码 */			char cReserve[52];		}userInfo;		struct 		{						UINT8   fileName[100];				}fileInfo;		struct 		{			UINT32	dwChannel;			UINT8	sUserName[NAME_LEN];	/*请求视频用户名*/			UINT8	sPassword[PASSWD_LEN];	/* 密码 */			NET_DVR_TIME struStartTime;		/* 按时间回放的开始时间 */			NET_DVR_TIME struStopTime;		/* 按时间回放的结束时间 */			}timeInfo;	}objectInfo;}NET_DVR_DECCHANSTATUS, *LPNET_DVR_DECCHANSTATUS;typedef struct {	UINT32   dwSize;	NET_DVR_DECCHANSTATUS struDecState[MAX_DECNUM];	}NET_DVR_DECSTATUS, *LPNET_DVR_DECSTATUS;//叠加字符typedef struct {	uint16_t wShowString;				// 预览的图象上是否显示字符,0-不显示,1-显示 区域大小704*576,单个字符的大小为32*32	uint16_t wStringSize;				/* 该行字符的长度,不能大于44个字符 */	uint16_t wShowStringTopLeftX;		/* 字符显示位置的x坐标 */	uint16_t wShowStringTopLeftY;		/* 字符名称显示位置的y坐标 */	char sString[44];				/* 要显示的字符内容 */}NET_DVR_SHOWSTRINGINFO, *LPNET_DVR_SHOWSTRINGINFO;//叠加字符typedef struct {	uint32_t dwSize;	NET_DVR_SHOWSTRINGINFO struStringInfo[MAX_STRINGNUM];				/* 要显示的字符内容 */}NET_DVR_SHOWSTRING, *LPNET_DVR_SHOWSTRING;#ifdef SDK_ALCATEL#ifdef SDK_ALCATEL_DXtypedef struct {	UINT32 dwLostPercent;	/*丢报率 0 <= lostPercent <= 100 例30表示30%*/	UINT32 dwTimeDelay;	/*延时以 ms 为单位*/}NET_DVR_NETSTATUS, *LPNET_DVR_NETSTATUS;#endiftypedef struct tagMANAGECFG{	UINT32 dwSize;#ifndef ALCATEL_FRONTIDCFG  	UINT8 sFrontID[NAME_LEN];  /* 前端ID */	#endif	UINT32 bEnableHeartbeat; /* 是否心跳 */	char sHBHostIp[16]; /* 心跳管理主机网络地址 */		UINT16 wHeartBeatPort; /* 管理主机心跳倾听端口 */	UINT16 wHeartBeatCycle; /* 心跳周期,单位妙 */	char sRegHostIp[16]; /* 注册管理主机网络地址 */	UINT16 wRegisterPort; /* 管理主机注册倾听端口 */	UINT16 wRegisterDuration; /* 注册有效时长,单位小时,为2的倍数,不超过24,0xffff表示时效无效 */}NET_DVR_MANAGECFG, *LPNET_DVR_MANAGECFG;#ifdef ALCATEL_FRONTIDCFGtypedef struct {  UINT32 dwSize;  UINT8 sFrontID[NAME_LEN];   /* 前端ID */}NET_DVR_FRONTIDCFG,*LPNET_DVR_FRONTIDCFG;#endif/* ALCATEL_FRONTIDCFG *//* * structure define for cruise */typedef struct tagCRUISEPOINT {	UINT8	res;	UINT8	byPresetNo;	/* preset point number */	UINT8	bySpeed;	/* speed from this point */	UINT8	byDwellTime;	/* dwell time at this point */}NET_DVR_CRUISEPOINT;typedef struct tagCRUISECFG {	UINT32	dwSize;		/* structure size */	UINT32  dwListCount;	/* cruise point count */	NET_DVR_CRUISEPOINT	struCruisePoint[16];	/* maximum 16 cruise points */}NET_DVR_CRUISECFG, *LPNET_DVR_CRUISECFG;typedef struct tagCRUISECOUNTCFG {	UINT32	dwSize;	UINT32 	dwCruiseCount;	/* cruise count in a channel */	UINT32 	dwCruiseStatus;	/* cruise status,bit0-7:1-8 cruise,1:set 0:not set */}NET_DVR_CRUISECOUNTCFG, *LPNET_DVR_CRUISECOUNTCFG;#ifdef SDK_ALCATEL_DXtypedef struct tagFTPUPGRADECFG {	char sFTPIP[16];	UINT16 wFTPPort;	UINT8 sUserName[NAME_LEN];		UINT8 sPassword[PASSWD_LEN];		UINT8 sPath[PATHNAME_LEN];	UINT8 sFileName[NAME_LEN];}NET_DVR_FTPUPGRADECFG, *LPNET_DVR_FTPUPGRADECFG;#endif#endif/* SDK_ALCATEL *//* ftp 上传参数*/typedef struct tagFTPCFG{	DWORD	dwSize;	DWORD	dwEnableFTP;			/*是否启动ftp上传功能*/	char	sFTPIP[16];				/*ftp 服务器*/	DWORD	dwFTPPort;				/*ftp端口*/	BYTE	sUserName[NAME_LEN];	/*用户名*/	BYTE	sPassword[PASSWD_LEN];	/*密码*/	DWORD	dwDirLevel;	/*0 = 不使用目录结构,直接保存在根目录,1 = 使用1级目录,2=使用2级目录*/	WORD 	wTopDirMode;	/* 0x1 = 使用设备名,0x2 = 使用设备号,0x3 = 使用设备ip地址*/	WORD 	wSubDirMode;	/* 0x4 = 使用通道名,0x5 = 使用通道号*/	BYTE 	reservedData[24];}NET_DVR_FTPCFG, *LPNET_DVR_FTPCFG;/*可用来命名图片的相关元素 */#define PICNAME_ITEM_DEV_NAME 	1#define PICNAME_ITEM_DEV_NO 	2#define PICNAME_ITEM_DEV_IP 	3#define PICNAME_ITEM_CHAN_NAME 	4#define PICNAME_ITEM_CHAN_NO 	5#define PICNAME_ITEM_TIME 		6#define PICNAME_ITEM_CARDNO		7#define PICNAME_MAXITEM 		15typedef struct tagPICNAME{	BYTE 	byItemOrder[PICNAME_MAXITEM];	/*	桉数组定义文件命名的规则 */	BYTE 	byDelimiter;		/*分隔符,一般为'_'*/}NET_DVR_PICTURE_NAME, *LPNET_DVR_PICTURE_NAME;//图片质量typedef struct tagJPEGPARA{	WORD	wPicSize;				/* 0=CIF, 1=QCIF, 2=D1 */	WORD	wPicQuality;			/* 图片质量系数 0-最好 1-较好 2-一般 */}NET_DVR_JPEGPARA, *LPNET_DVR_JPEGPARA;/* 串口抓图设置*/typedef struct tagSERIALCAPPARA{	BYTE	byStrFlag;	/*串口数据开始符*/	BYTE 	byEndFlag;	/*结束符*/	WORD	wCardIdx;	/*卡号相对起始位*/	DWORD 	dwCardLen;	/*卡号长度*/	DWORD   dwTriggerPicChans;	/*所触发的通道号,按位,从第1位开始计,即0x2表示第一通道*/}NET_DVR_SERIAL_CATCHPIC_PARA, *LPNET_DVR_SERIAL_CATCHPIC_PARA;typedef struct tagJPEGCFG{	DWORD	dwSize;	NET_DVR_JPEGPARA struJpegPara[MAX_CHANNUM];	/*每个通道的图像参数*/	WORD	wBurstMode;							/*抓图方式,按位设置.0x1=报警输入触发,0x2=移动侦测触发 0x4=232触发,0x8=485触发,0x10=网络触发*/	WORD	wUploadInterval;					/*图片上传间隔(秒)[0,65535]*/	NET_DVR_PICTURE_NAME 	struPicNameRule;	/* 图片命名规则 */							   	BYTE	bySaveToHD;		/*是否保存到硬盘*/	BYTE	res1;	WORD	wCatchInterval;		/*抓图间隔(毫秒)[0,65535]*/	BYTE	res2[12];							NET_DVR_SERIAL_CATCHPIC_PARA struRs232Cfg;	NET_DVR_SERIAL_CATCHPIC_PARA struRs485Cfg;	DWORD dwTriggerPicTimes[MAX_CHANNUM];	/* 每个通道一次触发拍照次数 */	DWORD dwAlarmInPicChanTriggered[MAX_ALARMIN]; /*报警触发抓拍通道,按位设置,从第1位开始*/}NET_DVR_JPEGCFG, *LPNET_DVR_JPEGCFG;typedef struct tagGetJpeg{	DWORD dwReturn;		/*是否直接返回图片数据*/	DWORD dwUploadFtp;	/*是否上传Ftp服务器*/	DWORD dwSaveHd;		/*是否保存到设备硬盘*/	char sImageName[PATHNAME_LEN];	/*自定义的生成图片文件名*/	char sOsdStr[16];	/*需要叠加在图片上的OSD字符串*/	WORD wOsdLen;		/*OSD字符串长度*/}NET_DVR_GETJPEG, *LPNET_DVR_GETJPEG;typedef struct tagFIND_PICTURE{	char sFileName[100];//图片名	NET_DVR_TIME struTime;//图片的时间	DWORD dwFileSize;//图片的大小	char sCardNum[32];	//卡号}NET_DVR_FIND_PICTURE,*LPNET_DVR_FIND_PICTURE;NET_DVR_API BOOL   NET_DVR_Init();NET_DVR_API BOOL   NET_DVR_Cleanup();NET_DVR_API BOOL   NET_DVR_SetDVRMessCallBack(BOOL (  *fMessCallBack)(int lCommand,char *sDVRIP,char *pBuf,UINT32 dwBufLen));NET_DVR_API BOOL   NET_DVR_SetDVRMessCallBack_EX(BOOL (  *fMessCallBack_EX)(int lCommand,int lUserID,char *pBuf,UINT32 dwBufLen));NET_DVR_API BOOL   NET_DVR_SetConnectTime(UINT32 dwWaitTime,UINT32 dwTryTimes);NET_DVR_API UINT32   NET_DVR_GetSDKVersion();NET_DVR_API BOOL   NET_DVR_StartListen(char *sLocalIP,UINT16 wLocalPort);NET_DVR_API BOOL   NET_DVR_StopListen();NET_DVR_API int   NET_DVR_Login(char *sDVRIP,UINT16 wDVRPort,char *sUserName,char *sPassword,LPNET_DVR_DEVICEINFO lpDeviceInfo);NET_DVR_API BOOL   NET_DVR_Logout(int lUserID);NET_DVR_API UINT32   NET_DVR_GetLastError();NET_DVR_API BOOL   NET_DVR_GetDVRIPByResolveSvr(char *sServerIP, UINT16 wServerPort, UINT8 *sDVRName,UINT16 wDVRNameLen,UINT8 *sDVRSerialNumber,UINT16 wDVRSerialLen,char* sGetIP);//图像预览NET_DVR_API int   NET_DVR_RealPlay(int lUserID,LPNET_DVR_CLIENTINFO lpClientInfo);NET_DVR_API BOOL   NET_DVR_StopRealPlay(int lRealHandle);NET_DVR_API BOOL   NET_DVR_RealPlayPause(int lRealHandle);NET_DVR_API BOOL   NET_DVR_RealPlayRestart(int lRealHandle, PLAYRECT *hPlayWnd);//视频参数是索引值 1-10NET_DVR_API BOOL   NET_DVR_ClientSetVideoEffect(int lRealHandle,UINT32 dwBrightValue,UINT32 dwContrastValue, UINT32 dwSaturationValue,UINT32 dwHueValue);NET_DVR_API BOOL   NET_DVR_ClientGetVideoEffect(int lRealHandle,UINT32 *pBrightValue,UINT32 *pContrastValue, UINT32 *pSaturationValue,UINT32 *pHueValue);NET_DVR_API BOOL   NET_DVR_SetPlayerBufNumber(int lRealHandle,UINT32 dwBufNum);NET_DVR_API BOOL   NET_DVR_ThrowBFrame(int lRealHandle,UINT32 dwNum);NET_DVR_API BOOL   NET_DVR_OpenSound(int lRealHandle);NET_DVR_API BOOL   NET_DVR_CloseSound();NET_DVR_API BOOL   NET_DVR_Volume(int lRealHandle,UINT16 wVolume);NET_DVR_API BOOL   NET_DVR_SaveRealData(int lRealHandle,char *sFileName);NET_DVR_API BOOL   NET_DVR_StopSaveRealData(int lRealHandle);NET_DVR_API BOOL   NET_DVR_SetRealDataCallBack(int lRealHandle,void(  *fRealDataCallBack) (int lRealHandle, UINT32 dwDataType, char *pBuffer,UINT32 dwBufSize,UINT32 dwUser),UINT32 dwUser);NET_DVR_API BOOL   NET_DVR_CapturePicture(int lRealHandle,char *sPicFileName);//云台控制NET_DVR_API BOOL   NET_DVR_GetPTZCtrl(int lRealHandle);NET_DVR_API BOOL   NET_DVR_GetPTZCtrl_Other(int lUserID,int lChannel);NET_DVR_API BOOL   NET_DVR_PTZControl(int lRealHandle,UINT32 dwPTZCommand,UINT32 dwStop);NET_DVR_API BOOL   NET_DVR_PTZControl_Other(int lUserID,int lChannel,UINT32 dwPTZCommand,UINT32 dwStop);NET_DVR_API BOOL   NET_DVR_TransPTZ(int lRealHandle,char *pPTZCodeBuf,UINT32 dwBufSize);NET_DVR_API BOOL   NET_DVR_TransPTZ_Other(int lUserID,int lChannel,char *pPTZCodeBuf,UINT32 dwBufSize);NET_DVR_API BOOL   NET_DVR_PTZPreset(int lRealHandle,UINT32 dwPTZPresetCmd,UINT32 dwPresetIndex);NET_DVR_API BOOL   NET_DVR_PTZPreset_Other(int lUserID,int lChannel,UINT32 dwPTZPresetCmd,UINT32 dwPresetIndex);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed(int lRealHandle,UINT32 dwPTZCommand, UINT32 dwStop, UINT32 dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed_Other(int lUserID,int lChannel,UINT32 dwPTZCommand, UINT32 dwStop, UINT32 dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZControlWithSpeed_EX(int lRealHandle,UINT32 dwPTZCommand, UINT32 dwStop, UINT32 dwSpeed);NET_DVR_API BOOL   NET_DVR_PTZCruise(int lRealHandle,UINT32 dwPTZCruiseCmd,UINT8 byCruiseRoute, UINT8 byCruisePoint, UINT16 wInput);NET_DVR_API BOOL   NET_DVR_PTZCruise_Other(int lUserID,int lChannel,UINT32 dwPTZCruiseCmd,UINT8 byCruiseRoute, UINT8 byCruisePoint, UINT16 wInput);NET_DVR_API BOOL   NET_DVR_PTZCruise_EX(int lRealHandle,int dwPTZCruiseCmd,UINT8 byCruiseRoute, UINT8 byCruisePoint, UINT16 wInput);NET_DVR_API BOOL   NET_DVR_PTZTrack(int lRealHandle,UINT32 dwPTZTrackCmd);NET_DVR_API BOOL   NET_DVR_PTZTrack_Other(int lUserID,int lChannel,UINT32 dwPTZTrackCmd);NET_DVR_API BOOL   NET_DVR_PTZTrack_EX(int lRealHandle,UINT32 dwPTZTrackCmd);//巡航路径配置#ifdef SDK_ALCATELNET_DVR_API BOOL   NET_DVR_GetCruiseConfig(int lUserID, UINT32 dwCommand, int lChannel, int lCruiseNo, void *lpOutBuffer, UINT32 dwOutBufferSize, UINT32 *lpBytesReturned);NET_DVR_API BOOL   NET_DVR_SetCruiseConfig(int lUserID, UINT32 dwCommand, int lChannel, int lCruiseNo, void * lpInBuffer, UINT32 dwInBufferSize);#endif//文件回放NET_DVR_API int   NET_DVR_FindFile(int lUserID,int lChannel,UINT32 dwFileType, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);NET_DVR_API int   NET_DVR_FindNextFile(int lFindHandle,LPNET_DVR_FIND_DATA lpFindData);NET_DVR_API BOOL   NET_DVR_FindClose(int lFindHandle);NET_DVR_API int   NET_DVR_PlayBackByName(int lUserID,char *sPlayBackFileName, PLAYRECT *hWnd);NET_DVR_API int   NET_DVR_PlayBackByTime(int lUserID,int lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, PLAYRECT *hWnd);NET_DVR_API BOOL   NET_DVR_PlayBackControl(int lPlayHandle,UINT32 dwControlCode,UINT32 dwInValue,UINT32 *lpOutValue);NET_DVR_API BOOL   NET_DVR_StopPlayBack(int lPlayHandle);NET_DVR_API BOOL   NET_DVR_SetPlayDataCallBack(int lPlayHandle,void(  *fPlayDataCallBack) (int lPlayHandle, UINT32 dwDataType, char *pBuffer,UINT32 dwBufSize,UINT32 dwUser),UINT32 dwUser);NET_DVR_API BOOL   NET_DVR_PlayBackSaveData(int lPlayHandle,char *sFileName);NET_DVR_API BOOL   NET_DVR_StopPlayBackSave(int lPlayHandle);NET_DVR_API BOOL  NET_DVR_GetPlayBackOsdTime(int lPlayHandle, LPNET_DVR_TIME lpOsdTime);NET_DVR_API BOOL   NET_DVR_PlayBackCaptureFile(int lPlayHandle,char *sFileName);NET_DVR_API int   NET_DVR_GetFileByName(int lUserID,char *sDVRFileName,char *sSavedFileName);NET_DVR_API int   NET_DVR_GetFileByTime(int lUserID,int lChannel, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime, char *sSavedFileName);NET_DVR_API BOOL   NET_DVR_StopGetFile(int lFileHandle);NET_DVR_API int   NET_DVR_GetDownloadPos(int lFileHandle);//查找和获取图片#ifdef SDK_ALCATEL#ifdef SDK_ALCATEL_DXNET_DVR_API BOOL NET_DVR_StartUdpServer(char *sLocalIP, UINT16 wLocalPort);NET_DVR_API BOOL NET_DVR_StopUdpServer();#endifNET_DVR_API int NET_DVR_FindPicture(int lUserID,int lChannel,UINT32 dwFileType, BOOL bNeedCardNum, UINT8 *sCardNumber, LPNET_DVR_TIME lpStartTime, LPNET_DVR_TIME lpStopTime);NET_DVR_API int NET_DVR_FindNextPicture(int lFindHandle,LPNET_DVR_FIND_PICTURE lpFindData);NET_DVR_API BOOL NET_DVR_CloseFindPicture(int lFindHandle);NET_DVR_API BOOL NET_DVR_GetPicture(int lUserID,char *sDVRFileName,char *sSavedFileName);#ifdef SDK_ALCATEL_DXNET_DVR_API int	NET_DVR_FTPUpgrade(int lUserID, NET_DVR_FTPUPGRADECFG struFTPUpgrade);#endif#endif//恢复默认值NET_DVR_API BOOL   NET_DVR_RestoreConfig(int lUserID);//保存参数NET_DVR_API BOOL   NET_DVR_SaveConfig(int lUserID);//重启NET_DVR_API BOOL   NET_DVR_RebootDVR(int lUserID);//关闭DVRNET_DVR_API BOOL   NET_DVR_ShutDownDVR(int lUserID);//升级NET_DVR_API int   NET_DVR_Upgrade(int lUserID,char *sFileName);NET_DVR_API int   NET_DVR_GetUpgradeState(int lUpgradeHandle);NET_DVR_API BOOL   NET_DVR_CloseUpgradeHandle(int lUpgradeHandle);//远程格式化硬盘NET_DVR_API int   NET_DVR_FormatDisk(int lUserID,int lDiskNumber);NET_DVR_API BOOL   NET_DVR_GetFormatProgress(int lFormatHandle,int *pCurrentFormatDisk,int *pCurrentDiskPos,int *pFormatStatic);NET_DVR_API BOOL   NET_DVR_CloseFormatHandle(int lFormatHandle);//报警NET_DVR_API int   NET_DVR_SetupAlarmChan(int lUserID);NET_DVR_API BOOL   NET_DVR_CloseAlarmChan(int lAlarmHandle);NET_DVR_API BOOL   NET_DVR_GetAlarmOut(int lUserID,LPNET_DVR_ALARMOUTSTATUS lpAlarmOutState);NET_DVR_API BOOL   NET_DVR_SetAlarmOut(int lUserID,int lAlarmOutPort,int lAlarmOutStatic);//语音转发 NET_DVR_API int NET_DVR_StartVoiceCom(int lUserID, void( *fVoiceDataCallBack)(int lVoiceComHandle,char *pRecvDataBuffer,UINT32 dwBufSize,UINT32 dwUser), UINT32 dwUser);NET_DVR_API BOOL NET_DVR_VoiceComSendData(int lVoiceComHandle,char *pSendBuf,UINT32 dwBufSize);NET_DVR_API BOOL NET_DVR_StopVoiceCom(int lVoiceComHandle);//////////////////////////////////////////////////////////////透明通道设置NET_DVR_API int   NET_DVR_SerialStart(int lUserID,int lSerialPort,void(  *fSerialDataCallBack)(int lSerialHandle,char *pRecvDataBuffer,UINT32 dwBufSize,UINT32 dwUser),UINT32 dwUser);NET_DVR_API BOOL   NET_DVR_SerialSend(int lSerialHandle, int lChannel, char *pSendBuf,UINT32 dwBufSize);NET_DVR_API BOOL   NET_DVR_SerialStop(int lSerialHandle);NET_DVR_API BOOL   NET_DVR_SendTo232Port(int lUserID,char *pSendBuf,UINT32 dwBufSize);//远程控制本地显示NET_DVR_API BOOL   NET_DVR_ClickKey(int lUserID,int lKeyIndex);//远程控制设备端手动录像NET_DVR_API BOOL   NET_DVR_StartDVRRecord(int lUserID,int lChannel,int lRecordType);NET_DVR_API BOOL   NET_DVR_StopDVRRecord(int lUserID,int lChannel);//服务器状态NET_D

⌨️ 快捷键说明

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