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

📄 net_opt.h

📁 实时监控
💻 H
📖 第 1 页 / 共 2 页
字号:
} TSYS_TIME;

/// 文件时间.
typedef struct 
{
	byte year ;		///< 年份-2000.
	byte month ;	///< 月份.
	byte day ;		///< 某日.
	byte channel ;	///< 主机视频通道.
	byte hour ;		///< 小时.
	byte minute ;	///< 分钟.
	byte second ;	///< 秒.
} TREC_FILETIME ;

/// 备份时间段.
typedef struct 
{
	byte year ;				///< 年份-2000.
	byte month ;			///< 月份.
	byte day ;				///< 某日.
	byte channel ;			///< 通道.
	byte bgn_hour ;			///< 开始小时.
	byte bgn_minute ;		///< 开始分钟.
	byte bgn_second ;		///< 开始秒.
	byte end_hour ;			///< 结束小时.
	byte end_minute ;		///< 结束分钟.
	byte end_second ;		///< 结束秒.
	char sBackDir[160] ;	///< 备份文件存放目录.
} TREC_BACKUPTIME ;

/// 主机网络参数.
/// @see OPT_SYS_IP
typedef struct 
{
	unsigned long ip ;		///< 主机IP.
	unsigned long mask ;	///< 子网掩码.
	unsigned long gateway ;	///< 网关.
	byte          wan ;     ///< 广域网增强 (0-关; 1-开)
	byte          name[17] ;///< 主机的网络名
} TNET_ATTRIBUTE ;

/// 主机录像参数.
/// @see OPT_REC
typedef struct 
{
	byte channel ;		///< 通道号.
	byte overwrite ;	///< 覆盖模式, 0:自动覆盖, 1:提示覆盖.
	byte dateoverlay;	///< 日期叠加.
	byte timeoverlay;	///< 时间叠加.
	byte videoquality;	///< 录像质量 (1最低 ~ 4最高).
	byte recaudio ;		///< 是否录声音. TRUE:录, FALSE:不录.	
} TREC_PARAMETER ;

/// 根据TREC_SCHEDULEPARA对象判断某天是否设置定时录像.
#define IS_DAY_SET(x, day) (0xff != (x).weekday[day][0])

/// 针对TREC_SCHEDULEPARA: 清除某天的定时录像.
#define UNSET_DAY(x, day) (x).weekday[day][0] = 0xff

/*!	\defgroup macrotools 宏定义辅助工具
 *	引用含有"weekday[x]"字段的结构, 比如TREC_SCHEDULEPARA, TREC_MOTIONRECPARA等.
 */
//@{
/// 开始小时 第一段
#define SEG1_BGN_HOUR(x, day)	(x).weekday[day][0]
/// 结束小时 第一段
#define SEG1_END_HOUR(x, day)	(x).weekday[day][2]
/// 开始分钟 第一段
#define SEG1_BGN_MIN(x, day)	(x).weekday[day][1]
/// 结束分钟 第一段
#define SEG1_END_MIN(x, day)	(x).weekday[day][3]
/// 开始小时 第二段
#define SEG2_BGN_HOUR(x, day)	(x).weekday[day][4]
/// 结束小时 第二段
#define SEG2_END_HOUR(x, day)	(x).weekday[day][6]
/// 开始分钟 第二段
#define SEG2_BGN_MIN(x, day)	(x).weekday[day][5]
/// 结束分钟 第二段
#define SEG2_END_MIN(x, day)	(x).weekday[day][7]
//@}

//@}

/// 定时录像参数设置.
/// @see OPT_SCHED
typedef struct 
{
	byte channel ;			///< 针对主机某个视频通道.
	byte onoff ;			///< 打开/关闭定时录像.
	/*! @see TREC_MOTIONRECPARA::weekday
	 */
	byte weekday[8][8];
} TREC_SCHEDULEPARA ;

#define SEG1_BGN(x, day) CTime(2003, 10, 16, SEG1_BGN_HOUR(x,day), SEG1_BGN_MIN(x,day), 0)
#define SEG1_END(x, day) CTime(2003, 10, 16, SEG1_END_HOUR(x,day), SEG1_END_MIN(x,day), 0)
#define SEG2_BGN(x, day) CTime(2003, 10, 16, SEG2_BGN_HOUR(x,day), SEG2_BGN_MIN(x,day), 0)
#define SEG2_END(x, day) CTime(2003, 10, 16, SEG2_END_HOUR(x,day), SEG2_END_MIN(x,day), 0)

/// 动态检测(MD)设置.
/// @see OPT_MD
typedef struct 
{
	byte channel ;				///< 主机视频通道号.
	byte onoff ;				///< TRUE:允许, FALSE:禁止.
	byte rectime ;				///< 录像长度.
	byte recsmart ;				///< MD灵敏度. 范围: 1 ~ 10.
	byte alarm_region[8] ;		///< MD检测区域.  8x8矩阵, 每一位表示一个小格是否检测.
	byte weekday[8][8];			///< [0][0] 每天, [1][0] 星期天 ... [7][0] 星期六. 如果 weekday[x][0] 是0xff, 则该天MD录像禁止.
	byte audio_alarm ;
	byte alarmout ;
} TREC_MOTIONRECPARA ;

typedef struct 
{
	byte channel ;				///< 主机视频通道号.
	byte alarm_region[80] ;		///< MD检测区域.  20x28矩阵, 每一位表示一个小格是否检测.
} TREC_MOTIONRECPARA_16 ;

typedef struct 
{
	byte channel ;				///< 主机视频通道号.
	byte alarm_region[20] ;		///< MD检测区域.  10x14矩阵, 每一位表示一个小格是否检测.
} TREC_MOTIONRECPARA_4 ;


/// 报警录像设置.
/// @see OPT_ALARM
typedef struct 
{
	byte alarmin ;				///< 报警输入端口.
	byte onoff ;				///< TRUE:允许, FALSE:禁止.
	byte rectime ;				///< 报警录像长度(单位:秒, 0 ~ 99).
	short recchannel;			///< 关联录像通道, 即报警后哪几路录像. 从低位到高位表示某通道报警关联.
	byte unknown;
	byte alarmout;				///< 报警输出.
	byte weekday[8][8];			///< 报警定时设置. @see TREC_MOTIONRECPARA::weekday
} TREC_ALARMRECPARA ;

/// 通道设置.
/// @see OPT_TITLE
typedef struct 
{
	byte channel ;				///< 视频通道.
	byte alarm ;				///< 视频丢失报警. TRUE:报警, FALSE:忽略.
	byte camera_type ;			///< 云台类型.
	byte image_mask[8] ;		///< 图像屏蔽. 8x8矩阵, 每一位表示一个小格是否屏蔽.
	byte channel_name_length;	///< 通道名称长度(字节).
	byte channel_name[18] ;		///< 通道名称(MBCS字符串).

} TREC_CHANNELTITLE ;

/// 云台控制.
/// @see OPT_CAMERA
/// @see CAMERA_CMD
typedef struct 
{
	byte channel;				///< 视频通道号.
	USHORT cmd;					///< 云台命令.
	byte preset;				///< 云台预设位置(0~15).
} TREC_CAMERA;

typedef struct 
{
	byte channel;		///< 视频通道号
	byte vstd;			///< 视频制式. 0: PAL, 1: NTSC.
	byte resolution;	///< 分辨率. 0: CIF, 1: Half D1, 2: D1
	byte framerate;		///< 帧率. PAL: 2~25, NTSC: 2~30
	byte ch_en ;        //   中/英文  (0-中文;1-英文)
} TREC_VIDEO;

typedef struct 
{
	byte channel;
	byte baudrate;		///< 波特率序号
						///< "Default",		0\n
						///< "2400",		1\n
						///< "4800",		2\n
						///< "9600",		3\n
						///< "19200",		4\n
						///< "38400"		5
						///< "1200"			6
	byte maskall ;      //图像全屏蔽
	byte address ;
} TREC_BAUDRATE;

class TREC_ALARMINFO 
{
public:
	unsigned long     version ;       //主机版本号
	unsigned short    probe_alarm ;   //探头报警信息
	unsigned short    motion_alarm ;  //移动报警信息
	unsigned short    vlost_alarm ;   //视频丢失报警信息。
	unsigned short    recording ;     //录像信息。
    TREC_ALARMINFO() 
	{
		version = 0;
		probe_alarm = 0;
		motion_alarm = 0;
		vlost_alarm = 0;
		recording = 0;
	}
};

typedef struct 
{
	byte    channel;        //视频通道号.
	byte    bright ;        //亮度
	byte    contrast ;      //对比度
	byte    saturation ;    //饱和度
	byte    hue ;           //色调
} TREC_VIDEOPARA ;

typedef struct 
{
	byte  address;
    byte  sign1;
	unsigned short    temperature ;
	byte  sign2;
	unsigned short    humidity ;
	byte     switch1 ;
	short    direct_value1 ; 
	short    direct_value2 ;  
	short    direct_value3 ;  
	short    direct_value4 ;  

} ZH_DECODE_STATE ;

typedef struct 
{
	ULONG	ip;					///< 主机ip.
	USHORT	cmd_port;				///< 命令端口.
	USHORT  http_port;				///http端口
	int		channel_num;
} TREC_DVRINFO ;

#pragma pack(pop,1)

#endif	// _NET_OPTIONS_H

⌨️ 快捷键说明

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