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

📄 tm8kdefine.h

📁 TM8000硬盘录像机客户端编程文档和Demo源代码
💻 H
字号:
#ifndef _TM8KDEFINE_H
#define _TM8KDEFINE_H

/*报警信息*/
#define NET_VIDEOLOST_ALARM_MSG   1
#define NET_VIDEOMOVE_ALARM_MSG   2
#define NET_PROBE_ALARM_MSG       3
#define NET_VIDEOCOVER_ALARM_MSG	4	//视频遮挡
#define NET_BADDISK_ALARM_MSG		5	//硬盘坏


/*云台命令*/
/*#define FOCUS_P      1    //聚焦+
#define FOCUS_N      2    //聚焦-

#define IRIS_P       3    //光圈+
#define IRIS_N       4    //光圈-

#define ZOOM_P       5    //变倍+
#define ZOOM_N       6    //变倍-

#define PAN_UP       7    //云台上
#define PAN_DOWN     8   //云台下
#define PAN_LEFT     9   //云台左
#define PAN_RIGHT    10   //云台右

#define LIGHT_OPEN   11    //灯光开
#define LIGHT_CLOSE  12   //灯光关

#define BRUSH_OPEN   13    //雨刮开
#define BRUSH_CLOSE  14   //雨刮关


#define AUTO_OPEN    15   //自动开
#define AUTO_CLOSE   16   //自动关

#define PAN_STOP     17    //停止

#define PAN_PRESET   18   //预置 + 号
#define PAN_CALL     19   //调用 + 号
*/
/*SDK返回的命令*/

#define   NETCOM_NODENOTIFY              0x02  //远程DVR回传的IP,端口数等消息
#define   NETCOM_LOGIN_OK                0x04  //远程登录成功
#define   NETCOM_RECORD_DATE             0x06  //获取录像日期成功
#define   NETCOM_RECORFILE_END			 0x07  //备份文件完成
#define   NETCOM_RECORD_FILE             0x08  //获取录像文件列表成功
#define	  NETCOM_PLAYRECFILE_END		 0x09  //回放文件完成
#define	  NETCOM_PLAY_REALIMAGE_OK		 0x12  //打开实时图像成功
#define   NETCOM_PLAY_REALIMAGE_NOK		 0x13  //打开实时图像失败
#define   NETCOM_BACKUP_REGSEG_FAIL      0x19  //备份文件失败
#define   NETCOM_BACKUP_STOP_OK          0x1b  //停止备份成功
#define   NETCOM_CTRL_SETSYSTIME_OK		 0x21  //设置系统时间成功
#define   NETCOM_CTRL_SETNETADDR_OK      0x23  //设置IP地址成功
#define   NETCOM_CTRL_SETDEFAULT_OK      0x25  //恢复出厂设置成功
#define   NETCOM_CTRL_SAVEFLASH_OK       0x27  //保存参数成功
#define   NETCOM_CTRL_REC_OK             0x29  //控制录像成功
#define   NETCOM_CTRL_RECSET_OK          0x2b  //设置录像参数成功
#define   NETCOM_CTRL_SCHRECSET_OK       0x2d  //设置定时录像成功
#define   NETCOM_CTRL_MALARMRECSET_OK    0x2f  //设置移动报警成功
#define   NETCOM_CTRL_PALARMRECSET_OK    0x31  //设置探头报警成功
#define   NETCOM_CTRL_MOTIONCHECK_OK     0x37  //检测区域 
#define   NETCOM_CTRL_TERMTITLE_OK       0x39  //终端标题
#define   NETCOM_CTRL_PLAYBACKFILE_ASW   0x3d  //文件回放确认
                                               // 1: 回放成功
                                               // 2: 回放文件不存在  
#define   NETCOM_SEND_ALARM              0x3f  // DVR回传的报警信息+报警类型  
                                               //1:视频丢失报警 + 端口号(1--8)
                                               //2:视频移动报警 + 端口号(1--8)
                                               //3:探头报警 + 探头号(1--16)  

#define   NETCOM_BACK_SYSTEMPARA_OK      0x43  //获取系统参数成功
#define   NETCOM_CTRL_SENDNAME_OK		 0x46  //设置DVR名称成功
#define   NETCOM_CTRL_SYSTIME_OK		 0x64  //获取系统时间成功
#define   NETCOM_LOGIN_PASSWD_ERROR		 0x70  //登录密码错误
#define   NETCOM_VIDEOIN_LU_CH_CO_SETACK		0x72  //设置视频参数成功
#define   NETCOM_VIDEOIN_LU_CH_CO_GETACK		0x74  //获取视频参数成功
#define   NETCOM_VIDEOIN_LU_CH_CO_GETREJECT		0x75  //获取视频参数失败

#define		NETCON_REMOTE_SETPASSWORD				0x80  //设置密码
#define		NETCON_REMOTE_OPEN_IN_PROBE				0x81
#define		NETCON_REMOTE_QUERY_IN_PROBE			0x82
#define		NETCON_REMOTE_OPEN_OUT_PROBE			0x83
#define		NETCON_REMOTE_QUERY_OUT_PROBE			0x84
#define		NETCON_REMOTE_OUTPUT_OUT_PROBE			0x85
/*自定义消息*/



/*#define	  UPDATE_ERROR						0xe0
#define	  DOWNLOAD_PROGRESS					0xe1
#define	  UPDATE_PROGRESS					0xe2
#define	  UPDATE_SUCCESS					0xe3
#define   BACKING_RECFILE					0xe4
#define	  PLAYREALIMAGE_ERROR				0xe5
#define   PLAYRECFILE_ERROR					0xe6
#define	  BACKUPRECFILE_ERROR				0xe7
#define	  BACKUPRECFILE_NOSPACE				0xe8
#define   REMOTE_UPDATE_SUCCESS				0x7c//0xe9
#define	  BACKUPRECFILE_CHAGEDISK			0xea
#define	  TALK_DVR_STATUS					0xeb*/

#define	  INVALID_NETADDR			0x01
#define	  INVALID_FILENAME			0x02
#define	  OPENFILE_FAIL				0x03
#define   CREATESOCK_FAIL			0x04
#define	  SETSOCKETOPT_FAIL			0x05
#define	  SOCKETLINK_FAIL			0x06
#define	  PROCESS_BREAK				0x07
#define	  SOCKETLINK_SUCCESS		0x08
#define   CREATE_THREADFAIL			0x09

#define	  INVALID_RATEVALUE			0x10
#define	  COMPORT_CLOSED			0x11
#define	  COMPORTCONNECT_FAIL		0x12
#define   COMPORTCONNECT_SUCCESS	0x13
#define	  CREATETHREAD_FAIL			0x14
#define	  DOWNLOADFILE_FAIL			0x15
#define	  DOWNLOAD_SUCCESS			0x16
#define   DELETING_PROG				0x17
#define   USER_CANCELED				0x18

#define	  UPDATE_WAIT				0x01
#define   UPDATE_POS				0x02



typedef BYTE UInt8;
typedef unsigned short UInt16;
typedef unsigned long UInt32;

#define		ARRAY_MAXPORT				18
#define		MAXPORTNO					16
#define		MAXNAMELEN					31
#define		MAXCONTACTNO				16//最大探头数
#define		ARRAY_MAXCONTACT			17
typedef struct _Record_Time_Seg
{
	UInt8       nBgnHour ;
	UInt8       nBgnMinute ;	
	UInt8       nEndHour ;
	UInt8       nEndMinute ;	
} Record_Time_Seg;

typedef struct _RECORD_VIDEO_PARAMETER
{//jyl030613

	UInt8 		nLuma;		//亮度
	UInt8 		nChroma;	//色度
	UInt8 		nContrast;	//对比度
	UInt8 		modify;		//表示是否被修改过(DVR主机使用)

} Record_Video_Parameter;

typedef struct  _PORT_PARAMETER//各端口的参数
{
	Record_Time_Seg		tScheduleRecTable1[7] ;//定时录像时间段1, 星期1到星期天 
	Record_Time_Seg		tScheduleRecTable2[7] ;//定时录像时间段2, 星期1到星期天 
	Record_Time_Seg		tAlarmRecTable1[7] ;//移动报警时间段1, 星期1到星期天 
	Record_Time_Seg		tAlarmRecTable2[7] ;//移动报警时间段2, 星期1到星期天 
	UInt8				nImageQuality ;//0:普通 1:较好 2:好 3:最好
	UInt8				nImageFrame ;//0:25帧  1:20帧  2:15帧  3:10帧
	UInt8				nAudio ;//0:不录声音  1:录声音
	
	UInt8				nMotionCheckRegion[13];//移动报警区域(共分99段):nMotionCheckRegion[0]的低位表示第一段起,置1表示打开
	UInt8				nImageMask[13];        //屏蔽区域
	UInt8				nMotionCheckSensitivity;//移动报警检测灵敏度值
	
	UInt32				nMotionAlarmTime ;//移动报警录像时间
	char				nTermName[32];
	UInt8				nRecordPortStatus ;////0:不录像   1:录像
	UInt8				nRecordSchedulePortStatus ; //0:不定时录像  1:定时录像
	UInt8				nRecordAlarmPortStatus ;   //0:不报警录像  1:报警录像
}PORT_PARAMETER;

typedef struct _Record_Config_Table_Ext 
{//jyl030620
	Record_Video_Parameter		VideoPara;
	UInt8     					nVideoProtectStatus;
	Record_Time_Seg				tScheduleRecEveryday1; //每天定时录像时间段1
	Record_Time_Seg				tScheduleRecEveryday2; //每天定时录像时间段2
	Record_Time_Seg				tAlarmRecEveryday1;    //每天报警布防时间段1
	Record_Time_Seg				tAlarmRecEveryday2;    //每天报警布防时间段2
	UInt8						ScheduleRecDefendDayTag;//定时录像,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321
	UInt8						AlarmRecDefendDayTag;	//移动录像,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321
	UInt8						MotionAlarmOutTag;		//移动报警联动输出标志,每位表示一个输出,末位是输出1
	UInt16						nClearAlarmOutTime;		//自动清除报警输出时限
	UINT32					IFrameInterval;
//	UINT32                      IFrameIntervalMSec;//I帧间隔毫秒数
	UInt32						nMotionCheck[13];
	UInt32						nImageMask[13];
	UInt16						nAssociRecMark;
//	UInt8		                nCameraBaudRate;//0~7
								//0:300bps
								//1:600bps
								//2:1200bps
								//3:2400bps
								//4:4800bps
								//5:9600bps
								//6:19200bps
								//7:57600bps
//	UInt8		               nCameraAddr;//0~255
//	UInt8    				reserve1[4] ;//保留
} Record_Config_Table_Ext;

typedef struct _Contact_Track_Parameter{
	UInt8 nPreSetPort[8];
	UInt8 nDelay[8];
} Contact_Track_Parameter;

typedef struct _Contact_Alarm_Parameter {
	Record_Time_Seg    tContactAlarmRecTable1[7] ;
	Record_Time_Seg    tContactAlarmRecTable2[7] ;
	UInt8              nContactAlarmTime ;
	UInt16             nContactAlarmPort ;
	UInt8              nContactAlarmOut ;	
	UInt8              nContactAlarmStatus ;
	Record_Time_Seg	   tContactAlarmRecEveryday1;
	Record_Time_Seg	   tContactAlarmRecEveryday2;
	
	UInt8			   ContactAlarmRecDefendDayTag;//探头报警,布防时间段,天选择标志,每位表示一天,从高位到低位:每天、星期天、654321

	Contact_Track_Parameter nContactTrack[8];
	UInt8			   nPreSetPort[ARRAY_MAXPORT];	//预置点	

	UInt16				nClearAlarmOutTime;		//=0:不清除,>0,nClearAlarmOutTime秒后清除报警

	UInt8				reserve1[1];
} Contact_Alarm_Parameter;

typedef struct _USER_DVR_PARAMETER
 {
	UInt8              nPortNo;                 //端口数  
	Record_Time_Seg    tProbeAlarmRecTable1[7] ;//探头报警时间段1, 星期1到星期天
	Record_Time_Seg    tProbeAlarmRecTable2[7] ;//探头报警时间段2, 星期1到星期天
	UInt8              nProbeAlarmPort[16] ;//分别对应1-16号探头报警联动录像端口
	UInt8              nProbeAlarmOut[16] ;//分别对应1-16号探头报警联动输出
	UInt8              nRecordProbeAlarmStatus ; //是否探头报警录像 0:不录像  1:录像
	UInt8              nProbeAlarmTime ;//探头报警录像时间
	UInt32             nNetIPAddr ;//网络IP地址
	UInt32             nSubNetMask ;//子网掩码
	UInt32             nNetGateWay ;//网关

	UInt8              nWDMethod ;//0:自动覆盖 1:覆盖前提示
	UInt8              nRecordDateChar ;//0:不叠加日期  1:叠加日期
	UInt8              nRecordRateVarySmart ;//码率动态调整灵敏度 0:不调整 1:低速  2:中 3:高
	UInt8              nRecordRateVaryTime ;//码率动态调整速度 0:慢速  1:中速  2:快速

    PORT_PARAMETER     PortConfig[MAXPORTNO];//对应各端口的参数
	char               DVRName[MAXNAMELEN];  // Add by zhouzhengxiang
	Record_Config_Table_Ext			PortConfigEx[MAXPORTNO];
	Contact_Alarm_Parameter			contactPara[ARRAY_MAXCONTACT-1]; //探头报警参数
	UInt8							nLanguage;       //0:中文 1:英文
    UInt8							nStandard;		 //制式 0:PAL制 1:N制
	UInt16							nVersion;		//版本
} USER_DVR_PARAMETER;

#endif

⌨️ 快捷键说明

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