📄 net_opt.h
字号:
} 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 + -