📄 hcnetsdk.h
字号:
typedef struct{ BYTE byStreamType; //码流类型0-视频流,1-复合流 BYTE byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF BYTE byBitrateType; //码率类型0:变码率,1:定码率 BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差 DWORD dwVideoBitrate; //视频码率0-保留 1-保留 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K //最高位(32位)置成1表示是自定义码流, 0-31位表示码流值。MIN-32k MAX-8192k DWORD dwVideoFrameRate; //帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20;}NET_DVR_COMPRESSION_INFO,*LPNET_DVR_COMPRESSION_INFO;typedef struct{ DWORD dwSize; NET_DVR_COMPRESSION_INFO struRecordPara; //录像 NET_DVR_COMPRESSION_INFO struNetPara; //网传}NET_DVR_COMPRESSIONCFG,*LPNET_DVR_COMPRESSIONCFG;//压缩参数(扩展)typedef struct{ BYTE byStreamType; //码流类型0-视频流,1-复合流 BYTE byResolution; //分辨率0-DCIF 1-CIF, 2-QCIF, 3-4CIF, 4-2CIF BYTE byBitrateType; //码率类型0:变码率,1:定码率 BYTE byPicQuality; //图象质量 0-最好 1-次好 2-较好 3-一般 4-较差 5-差 DWORD dwVideoBitrate; //视频码率0-保留 1-保留 2-32K 3-48k 4-64K 5-80K 6-96K 7-128K 8-160k 9-192K 10-224K 11-256K 12-320K // 13-384K 14-448K 15-512K 16-640K 17-768K 18-896K 19-1024K 20-1280K 21-1536K 22-1792K 23-2048K //最高位(32位)置成1表示是自定义码流, 0-31位表示码流值。MIN-32k MAX-8192k DWORD dwVideoFrameRate; //帧率 0-全部; 1-1/16; 2-1/8; 3-1/4; 4-1/2; 5-1; 6-2; 7-4; 8-6; 9-8; 10-10; 11-12; 12-16; 13-20; WORD wIntervalFrameI; //I帧间隔 BYTE byIntervalBPFrame;//0-BBP帧; 1-BP帧; 2-单P帧 BYTE byENumber;//E帧数量}NET_DVR_COMPRESSION_INFO_EX,*LPNET_DVR_COMPRESSION_INFO_EX;typedef struct{ DWORD dwSize; NET_DVR_COMPRESSION_INFO_EX struRecordPara; //录像 NET_DVR_COMPRESSION_INFO_EX struNetPara; //网传}NET_DVR_COMPRESSIONCFG_EX,*LPNET_DVR_COMPRESSIONCFG_EX;//录像typedef struct{ NET_DVR_SCHEDTIME struRecordTime; BYTE byRecordType; //0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警, 5:命令触发, 6: 手动录像 char reservedData[3];}NET_DVR_RECORDSCHED,*LPNET_DVR_RECORDSCHED;typedef struct { WORD wAllDayRecord; /* 是否全天录像 0-否 1-是*/ BYTE byRecordType; /* 录象类型 0:定时录像,1:移动侦测,2:报警录像,3:动测|报警,4:动测&报警 5:命令触发, 6: 手动录像*/ char reservedData;}NET_DVR_RECORDDAY;typedef struct { DWORD dwSize; DWORD dwRecord; /*是否录像 0-否 1-是*/ NET_DVR_RECORDDAY struRecAllDay[MAX_DAYS]; NET_DVR_RECORDSCHED struRecordSched[MAX_DAYS][MAX_TIMESEGMENT]; DWORD dwRecordTime; /* 录象时间长度 */ DWORD dwPreRecordTime; /* 预录时间 0-不预录 1-5秒 2-10秒 3-15秒 4-20秒 5-25秒 6-30秒 7-0xffffffff(尽可能预录) */}NET_DVR_RECORD,*LPNET_DVR_RECORD;/* PTZ type */#define YOULI 0#define LILIN_1016 1#define LILIN_820 2#define PELCO_P 3#define DM_DynaColor 4#define HD600 5#define JC4116 6#define PELCO_DWX 7#define PELCO_D 8#define VCOM_VC_2000 9#define NETSTREAMER 10#define SAE_YAAN 11#define SAMSUNG 12#define Kalatel_312 13#define CELOTEX 14#define TLPELCO_P 15#define TL_HHX2000 16#define BBV 17#define RM110 18#define KC3360S 19#define ACES 20#define ALSON 21#define INV3609HD 22#define HOWELL 23#define TC_PELCO_P 24#define TC_PELCO_D 25#define AUTO_M 26#define AUTO_H 27#define ANTEN 28#define CHANGLIN 29#define DELTADOME 30#define XYM_12 31#define ADR8060 32#define EVI_D30 33#define Demo_Speed 34#define DM_PELCO_D 35#define ST_832 36#define LC_D2104 37#define HUNTER 38#define A01 39#define TECHWIN 40#define WEIHAN 41#define LG 42#define D_MAX 43#define PANASONIC 44#define KTD_348 45#define INFINOVA 46#define PIH_7625 47#define LCU 48#define DENNARD_DOME 49#define PHLIPS 50#define SAMPLE 51#define PLD 52#define PARCO 53#define HY 54#define NAIJIE 55#define CAT_KING 56#define YH_06 57#define SP9096X 58#define M_PANEL 59#define M_MV2050 60#define SAE_QUICK 61#define PEARMAIN 62#define NKO8G 63#define DH_CC440 64#define TX_CONTROL_232 65#define VCL_SPEED_DOME 66#define ST_2C160 67#define TDWY 68#define TWHC 69#define USNT 70#define KLT_NVD2200PS 71#define VIDO_B01 72#define LG_MULTIX 73#define ENKEL 74#define YT_PELCOD 75#define HIKVISION 76#define PE60 77#define LiAo 78#define NK16 79#define DaLi 80#define HN_4304 81#define VIDEOTEC 82#define HNDCB 83#define Lion_2007 84#define LG_LVC_C372 85#define Gold_Video 86#define NVD1600PS 87//解码器typedef struct{ DWORD dwSize; DWORD dwBaudRate;//波特率(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200, 11-38400,12-57600,13-76800,14-115.2k; BYTE byDataBit;// 数据有几位 0-5位,1-6位,2-7位,3-8位; BYTE byStopBit;// 停止位 0-1位,1-2位; BYTE byParity;// 校验 0-无校验,1-奇校验,2-偶校验; BYTE byFlowcontrol;// 0-无,1-软流控,2-硬流控 WORD wDecoderType;//解码器类型, 0-YouLi,1-LiLin-1016,2-LiLin-820,3-Pelco-p,4-DM DynaColor,5-HD600,6-JC-4116,7-Pelco-d WX,8-Pelco-d PICO WORD wDecoderAddress; /*解码器地址:0 - 255*/ BYTE bySetPreset[MAX_PRESET]; /* 预置点是否设置,0-没有设置,1-设置*/ BYTE bySetCruise[MAX_PRESET]; /* 巡航是否设置: 0-没有设置,1-设置 */ BYTE bySetTrack[MAX_PRESET]; /* 轨迹是否设置,0-没有设置,1-设置*/}NET_DVR_DECODERCFG,*LPNET_DVR_DECODERCFG;//RS232串口typedef struct{ char sRemoteIP[16]; //远端IP地址 char sLocalIP[16]; //本地IP地址 char sLocalIPMask[16]; //本地IP地址掩码 BYTE sUsername[NAME_LEN]; /* 用户名 */ BYTE sPassword[PASSWD_LEN]; /* 密码 */ BYTE byPPPMode; //PPP模式, 0-主动,1-被动 BYTE byRedial; //是否回拨 :0-否,1-是 BYTE byRedialMode; //回拨模式,0-由拨入者指定,1-预置回拨号码 BYTE byDataEncrypt; //数据加密,0-否,1-是 DWORD dwMTU; //MTU char sTelephoneNumber[PHONENUMBER_LEN]; //电话号码}NET_DVR_PPPCFG,*LPNET_DVR_PPPCFG;typedef struct{ DWORD dwSize; DWORD dwBaudRate;//波特率(bps),0-50,1-75,2-110,3-150,4-300,5-600,6-1200,7-2400,8-4800,9-9600,10-19200, 11-38400,12-57600,13-76800,14-115.2k; BYTE byDataBit;// 数据有几位 0-5位,1-6位,2-7位,3-8位; BYTE byStopBit;// 停止位 0-1位,1-2位; BYTE byParity;// 校验 0-无校验,1-奇校验,2-偶校验; BYTE byFlowcontrol;// 0-无,1-软流控,2-硬流控 DWORD dwWorkMode;// 工作模式,0-窄带传输(232串口用于PPP拨号),1-控制台(232串口用于参数控制),2-透明通道 NET_DVR_PPPCFG struPPPConfig;}NET_DVR_RS232CFG,*LPNET_DVR_RS232CFG;//报警输入typedef struct{ DWORD dwSize; BYTE sAlarmInName[NAME_LEN]; /* 名称 */ BYTE byAlarmType; //报警器类型,0:常开,1:常闭 BYTE byAlarmInHandle; /* 是否处理 0-不处理 1-处理*/ BYTE byRes[2]; NET_DVR_HANDLEEXCEPTION struAlarmHandleType; /* 处理方式 */ NET_DVR_SCHEDTIME struAlarmTime[MAX_DAYS][MAX_TIMESEGMENT];//布防时间 BYTE byRelRecordChan[MAX_CHANNUM]; //报警触发的录象通道,为1表示触发该通道 BYTE byEnablePreset[MAX_CHANNUM]; /* 是否调用预置点 0-否,1-是*/ BYTE byPresetNo[MAX_CHANNUM]; /* 调用的云台预置点序号,一个报警输入可以调用多个通道的云台预置点, 0xff表示不调用预置点。*/ BYTE byEnableCruise[MAX_CHANNUM]; /* 是否调用巡航 0-否,1-是*/ BYTE byCruiseNo[MAX_CHANNUM]; /* 巡航 */ BYTE byEnablePtzTrack[MAX_CHANNUM]; /* 是否调用轨迹 0-否,1-是*/ BYTE byPTZTrack[MAX_CHANNUM]; /* 调用的云台的轨迹序号 */}NET_DVR_ALARMINCFG,*LPNET_DVR_ALARMINCFG;//上传报警信息typedef struct{ DWORD dwAlarmType;/*0-信号量报警,1-硬盘满,2-信号丢失,3-移动侦测,4-硬盘未格式化,5-读写硬盘出错,6-遮挡报警*/ DWORD dwAlarmInputNumber;/*报警输入端口*/ DWORD dwAlarmOutputNumber[MAX_ALARMOUT];/*报警输入端口对应的输出端口,哪一位为1表示对应哪一个输出*/ DWORD dwAlarmRelateChannel[MAX_CHANNUM];/*报警输入端口对应的录像通道,哪一位为1表示对应哪一路录像,dwAlarmRelateChannel[0]对应第1个通道*/ DWORD dwChannel[MAX_CHANNUM];/*dwAlarmType为2或3,6时,表示哪个通道,dwChannel[0]位对应第0个通道*/ DWORD dwDiskNumber[MAX_DISKNUM];/*dwAlarmType为1,4,5时,表示哪个硬盘*/}NET_DVR_ALARMINFO,*LPNET_DVR_ALARMINFO;//DVR报警输出typedef struct{ DWORD dwSize; BYTE sAlarmOutName[NAME_LEN]; /* 名称 */ DWORD dwAlarmOutDelay; /* 输出保持时间(-1为无限,手动关闭) */ NET_DVR_SCHEDTIME struAlarmOutTime[MAX_DAYS][MAX_TIMESEGMENT];/* 报警输出激活时间段 */ }NET_DVR_ALARMOUTCFG,*LPNET_DVR_ALARMOUTCFG;//DVR本地预览参数typedef struct{ DWORD dwSize; BYTE byPreviewNumber;//预览数目,0-1画面,1-4画面,2-9画面,3-16画面,0xff:最大画面 BYTE byEnableAudio;//是否声音预览,0-不预览,1-预览 WORD wSwitchTime;//切换时间,0-不切换,1-5s,2-10s,3-20s,4-60s,5-120s,6-300s BYTE bySwitchSeq[MAX_WINDOW];//切换顺序,如果lSwitchSeq[i]为 0xff表示不用}NET_DVR_PREVIEWCFG,*LPNET_DVR_PREVIEWCFG;//DVR视频输出typedef struct { WORD wResolution; /* 分辨率 */ WORD wFreq; /* 刷新频率 */ DWORD dwBrightness; /* 亮度 */}NET_DVR_VGAPARA;typedef struct{ WORD wDisplayLogo; /* 显示视频通道号 */ WORD wDisplayOsd; /* 显示时间 */}NET_DVR_MATRIXPARA;typedef struct{ BYTE byVideoFormat; /* 输出制式,0-PAL,1-NTSC */ BYTE byMenuAlphaValue; /* 菜单与背景图象对比度 */ WORD wScreenSaveTime; /* 屏幕保护时间 */ WORD wVOffset; /* 视频输出偏移 */ WORD wBrightness; /* 视频输出亮度 */ BYTE byStartMode; /* 启动后视频输出模式(0:菜单,1:预览)*/ char reservedData;}NET_DVR_VOOUT;typedef struct { DWORD dwSize; NET_DVR_VOOUT struVOOut[MAX_VIDEOOUT]; NET_DVR_VGAPARA struVGAPara[MAX_VGA]; /* VGA参数 */ NET_DVR_MATRIXPARA struMatrixPara; /* MATRIX参数 */}NET_DVR_VIDEOOUT,*LPNET_DVR_VIDEOOUT;//DVR用户参数typedef struct{ BYTE sUserName[NAME_LEN]; /* 用户名 */ BYTE sPassword[PASSWD_LEN]; /* 密码 */ DWORD dwLocalRight[MAX_RIGHT]; /* 权限 */ /*数组0: 本地控制云台*/ /*数组1: 本地手动录象*/ /*数组2: 本地回放*/ /*数组3: 本地设置参数*/ /*数组4: 本地查看状态、日志*/ /*数组5: 本地高级操作(升级,格式化,重启,关机)*/ DWORD dwRemoteRight[MAX_RIGHT]; /* 权限 */ /*数组0: 远程控制云台*/ /*数组1: 远程手动录象*/ /*数组2: 远程回放*/ /*数组3: 远程设置参数*/ /*数组4: 远程查看状态、日志*/ /*数组5: 远程高级操作(升级,格式化,重启,关机)*/ /*数组6: 远程发起语音对讲*/ /*数组7: 远程预览*/ /*数组8: 远程请求报警上传、报警输出*/ /*数组9: 远程控制,本地输出*/ /*数组10: 远程控制串口*/ char sUserIP[16]; /* 用户IP地址(为0时表示允许任何地址) */ BYTE byMACAddr[MACADDR_LEN]; /* 物理地址 */}NET_DVR_USER_INFO,*LPNET_DVR_USER_INFO;typedef struct{ DWORD dwSize; NET_DVR_USER_INFO struUser[MAX_USERNUM];}NET_DVR_USER,*LPNET_DVR_USER;//DVR用户参数扩展typedef struct{ BYTE sUserName[NAME_LEN]; /* 用户名 */ BYTE sPassword[PASSWD_LEN]; /* 密码 */ DWORD dwLocalRight[MAX_RIGHT]; /* 权限 */ /*数组0: 本地控制云台*/ /*数组1: 本地手动录象*/ /*数组2: 本地回放*/ /*数组3: 本地设置参数*/ /*数组4: 本地查看状态、日志*/ /*数组5: 本地高级操作(升级,格式化,重启,关机)*/ DWORD dwLocalPlaybackRight; /* 本地可以回放的通道 bit0 -- channel 1*/ DWORD dwRemoteRight[MAX_RIGHT]; /* 权限 */ /*数组0: 远程控制云台*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -