




已阅读5页,还剩89页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大华网络大华网络 SDK 编程手册编程手册 VERSION 3 1 8 Build 070321 2007 3 21 版权所有 侵权必究 网络客户端 SDK 编程手册 第 2 页 共 94 页 前前 言言 非常感谢您使用我们公司的设备 我们将为您提供最好的服务 本手册可能包含技术上不准确的地方或印刷错误 欢迎指正 我们将会定期更新手 册的内容 网络客户端 SDK 编程手册 第 3 页 共 94 页 修订记录修订记录 日期日期修订内容修订内容作者作者 2006 05 30创建林峰 2006 7 3修订接口描述冯江 2006 7 5修订概要描述华立高 2006 7 26修订接口描述刘杰 陈美英 2006 8 10同步更新接口描述陈美英 2006 8 21修订接口描述陈美英 2006 8 23增加典型调用顺序描述陈美英 2006 8 283 0 0 整理修订陈美英 2006 9 153 0 5 同步增加回调数据扩展接口 更新云台控制 说明 陈美英 2006 9 213 0 7 同步增加登录扩展接口陈美英 2006 9 293 0 9 同步增加带有配置结构的配置功能接口说 明 陈美英 2006 10 16增加单独修改通道名称的接口赵均树 2006 10 21增加打开实时图像的扩展接口赵均树 2006 10 281 增加按时间回放和下载接口 2 增加设备配置的第三方接入和获取设备的序 列号功能 赵均树 2006 11 81 带数据回调的按时间回放扩展接口 2 带数据回调的按文件回放扩展接口 3 远程重启接口 4 录像回放能够播放音频 赵均树 陈琼施 2006 11 191 解决了反复修改第三方的 IP 地址时 DVR 比 较容易死机的问题 2 增加 485 接口 3 通过网络修改 IP 配置时 DVR 重启 赵均树 陈琼施 2006 11 271 增加 DDNS 查询 IP 的功能赵均树 陈琼施 2006 12 15修正文档中接口描述的错误 并增加链接赵均树 陈琼施 林坚彦 2006 12 25增加并修改语音对讲的接口叶浩 陈琼施 2006 12 29增加用户管理接口林坚彦 陈琼施 2007 1 17修改了 CLIENT Login 的功能描述 增加了 CLIENT FindFile CLIENT FindNextFile CLI ENT FindClose 林坚彦 赵均树 陈琼施 网络客户端 SDK 编程手册 第 4 页 共 94 页 2007 2 8 增加了设备参数配置的两个接口 CLIENT GetDevConfig CLIENT SetDevConfig 林坚彦 陈琼施 赵均树 2007 3 7 修改了 CLIENT StopListen 接口典型应用的笔 误 赵均树 2007 03 19 增加了个查询报警状态的接口 林坚彦 陈琼施 2007 03 21 增加了语音对讲中的音频编码接口 增加了扩展报警侦听接口 叶浩 陈琼施 林 坚彦 网络客户端 SDK 编程手册 第 5 页 共 94 页 目目 录录 1 简简 介介 7 1 1 概述概述 7 1 2 适用性适用性 7 1 3 特色功能特色功能 8 2 设计原则设计原则 9 2 1 编程说明编程说明 9 2 2 典型调用顺序典型调用顺序 10 3 数据结构定义数据结构定义 13 3 1 客户端数据结构客户端数据结构 13 3 1 1 设备信息结构设备信息结构 16 3 1 2 时间信息时间信息 16 3 1 3 录像文件信息录像文件信息 17 3 1 4 设备状态信息设备状态信息 17 3 1 5 系统配置信息结构系统配置信息结构 21 4 接口定义接口定义 21 4 1 SDK 初始化初始化 21 4 2 状态侦听状态侦听 23 4 3 字符叠加字符叠加 25 4 4 设备注册设备注册 26 4 5 实时监视实时监视 27 4 6 音频控制音频控制 31 4 7 数据保存数据保存 32 4 8 视频抓图视频抓图 35 4 9 回放和下载回放和下载 36 4 10 回放控制回放控制 46 4 11 云台控制云台控制 49 4 12 实时预览实时预览 51 4 13 系统配置系统配置 52 4 14 日志管理日志管理 57 4 15 透明串口透明串口 58 4 16 远程控制远程控制 60 4 17 录像控制录像控制 62 4 18 系统时间系统时间 63 4 19 用户管理用户管理 63 网络客户端 SDK 编程手册 第 6 页 共 94 页 4 20 语音语音对对讲讲 65 4 21 码流统计码流统计 69 4 22 IO 控制控制 70 4 23 强制强制 I 帧帧 71 4 24 设置限流设置限流 71 4 25 获取设备状态获取设备状态 72 4 26 修改通道名称修改通道名称 72 4 27 DDNS 查询查询 IP 73 4 28 设备参数设备参数配配置置 73 5 示例功能实现示例功能实现 87 5 1 连接设备连接设备 88 5 2 报警信息获取报警信息获取 88 5 3 系统配置系统配置 88 5 4 实时监视实时监视 88 5 5 数据保存数据保存 89 5 6 回放回放 下载和进度指示下载和进度指示 89 5 7 播放控制播放控制 89 5 8 预览预览 89 5 9 字符叠加字符叠加 89 网络客户端 SDK 编程手册 第 7 页 共 94 页 1 简简 介介 1 1 概述概述 欢迎使用大华网络 SDK 编程手册 网络客户端软件开发包 DVR 客户端 SDK 是 大华网络硬盘录像机 网络视频服务器的配套产品 本文档详细描述了开发包中各个函 数实现的功能 接口及其函数之间的调用关系和示例实现 网络客户端软件开发包主要包括业务操作和设备管理两大部分 业务操作业务操作 状态侦听 实时监视 实时预览 字符叠加 音频控制 录像回放和下 载 数据保存 云台控制 语音对讲 透明串口 码流统计等功能 设备管理设备管理 远程升级 远程重启 关闭 设备参数配置 系统通用配置 报警布 撤 防设置 录像配置 串口配置 图像配置 日志管理 用户管理 设备 校时 动态检测配置 网络配置 等功能 开发包所包括的文件有 网络库 dhnetsdk lib dhnetsdk dll dhnetsdk h 解码库 decode dll render dll dllh264 dll audiorecord dll AudioRecordEx dll avcodec dll 辅助库 dhdvr dll ParaTimer dll DetectAreaCtrl ocx SetDeviceConfigProj ocx 1 2 适用性适用性 支持所有大华网络硬盘录像机 DVR 网络视频服务器 NVS 网络报 警 服务器 NAS 只支持 TCP 网络传输模式 客户端可以采用多种分辨率进行图像预览 支持的分辨率包括 QCIF CIF 2CIF HalfD1 D1 VGA 640 480 等 客户端支持多种图像编码 包括 MPEG4 和 H 264 等 1 3 特色功能特色功能 支持设备的以下特色功能 多路预览 在窄带条件下 同时多路实时监视对带宽的要求比较高 一般的处理情况有两 种 其一 轮巡 其二 多路预览 所谓多路预览 就是在一个通道上把所有通道 的数据组织在一起传输 等同于多路同时监视 必要的时候 可以转单路监视 大 华 DVR 支持多路预览功能 支持标准的 MP4 数据 一般情况下 同一平台集成不同厂商的前端设备 如 DVR 由于各厂商采用 网络客户端 SDK 编程手册 第 8 页 共 94 页 的视频压缩方法不同 包括算法 参数定义等 导致解码端回放必须采用厂商特定 的工具 造成平台开发商无法自定义播放标准 本 SDK 能够解决这个问题 通过 特定接口 应用层可以通过本 SDK 获取标准媒体数据 FOURCC D I V X 视频数据 要支持用各种通用播放器播放 有了提供标准数据 应用层只须打包 标准数据到播放器支持的容器类型 也就是文件格式 如 AVI 标准 就可以了 网络客户端 SDK 编程手册 第 9 页 共 94 页 2 设计原则设计原则 2 1 编程说明编程说明 初始化和清除初始化和清除 1 使用网络客户端软件包首先调用CLIENT Init 对系统进行初始化 应用程序 退出时调用CLIENT Cleanup 释放所有占用的资源 2 大多数函数调用均应该在CLIENT Init 之后 CLIENT Cleanup 之前 除 了少数函数 譬如CLIENT SetConnectTime 在CLIENT Init 之前调用 而CLIENT GetSDKVersion 可以在任何时候调用等等 操作句柄操作句柄 系统设计上多处使用了句柄概念 很多操作均针对句柄 如回放 下载以及语 音对讲等 用户登录和注销用户登录和注销 用户在访问前端设备之前必须通过调用CLIENT Login 登录到前端设备上 登录成功后返回一个全局唯一的句柄 此句柄就像一个会话通道 之后该用户可通 过此句柄访问前端设备 退出该会话时则通过CLIENT Logout 函数在前端设备 上注销此句柄以终止该会话通道的使用 建立连接与登录是同步的 心跳功能心跳功能 在本开发包中提供自动心跳功能 20 秒一次心跳 当设备断开能及时回调给客户端 同步与异步同步与异步 异步以设置回调函数来响应网络数据 有些异步在设置后返回请求句柄 结束 请求时将请求句柄提供给 SDK 以注销相关资源 SDK提供协议探测和转换提供协议探测和转换 回调函数回调函数 一般都有 dwUser 参数 由用户自定义需要的数据 一般用来传入类对象指针 方便回调处理在类中实现 回调应用都可以采取这种方式 网络客户端 SDK 编程手册 第 10 页 共 94 页 2 2 典型调用顺序典型调用顺序 A 初始化 SDK 初始化 CLIENT Init B SDK 功能设置或信息获取 设置连接等待时间 CLIENT SetConnectTime 获取 SDK 版本 CLIENT GetSDKVersion 设置消息回调 CLIENT SetDVRMessCallBack 设置自定义叠加画板 CLIENT RigisterDrawFun C 登录连接设备 登录设备 CLIENT Login 开始侦听 CLIENT StartListen D 设备功能操作与信息获取 系统配置 CLIENT QueryConfig CLIENT SetupConfig 获取设备状态 CLIENT GetDEVWorkState 获取协议信息 CLIENT QueryComProtocol 查询获取系统信息 CLIENT QuerySystemInfo 查询通道名称 CLIENT QueryChannelName 查询日志 CLIENT QueryLogCallback CLIENT QueryLog 用户管理 CLIENT QueryUserInfo CLIENT OperateUserInfo 云台控制 CLIENT PTZControl CLIENT DHPTZControl 语音对讲 CLIENT StartTalk CLIENT SendTalkData Custom CLIENT StopTalk 设置限流 CLIENT SetMaxFlux 透明串口 CLIENT CreateTransComChannel CLIENT SendTransComData CLIENT DestroyTransComChanne 网络客户端 SDK 编程手册 第 11 页 共 94 页 E 实时监视通道 打开监视通道 CLIENT RealPlay CLIENT RealPlayEx 保存监视图像数据 CLIENT SaveRealData 监视数据回调保存 CLIENT SetRealDataCallBack CLIENT SetRealDataCallBackEx 获取视频参数信息 CLIENT ClientGetVideoEffect 设置修改视频参数 CLIENT ClientSetVideoEffect 强制 I 帧 CLIENT MakeKeyFrame F 多画面预览通道 打开多画面预览 CLIENT MultiPlay 停止多画面预览 CLIENT StopMultiPlay G 回放 下载通道 查询录像 CLIENT QueryRecordFile 回放及控制 CLIENT PlayBackByRecordFile CLIENT PlayBackByRecordFileEx CLIENT PlayBackByTime CLIENT PlayBackByTimeEx CLIENT GetPlayBackOsdTime CLIENT PausePlayBack CLIENT SeekPlayBack CLIENT StopPlayBack CLIENT StepPlayBack CLIENT FastPlayBack CLIENT SlowPlayBack CLIENT GetFramePlayBack CLIENT SetFramePlayBack 下载 CLIENT DownloadByRecordFile CLIENT DownloadByRecordFileEx CLIENT DownloadByTime CLIENT StopDownload CLIENT GetDownloadPos 网络客户端 SDK 编程手册 第 12 页 共 94 页 H 针对显示图像的操作 监视 回放 多画面预览 抓图 CLIENT CapturePicture 码流统计 CLIENT GetStatiscFlux 打开音频 CLIENT OpenSound 设置音量 CLIENT SetVolume I 远程控制 远程升级 CLIENT StartUpgrade CLIENT SendUpgrade CLIENT StopUpgrade 录像控制 CLIENT QueryRecordState CLIENT SetupRecordState 系统校时 CLIENT QueryDeviceTime CLIENT SetupDeviceTime IO 控制 CLIENT QueryIOControlState CLIENT IOControl J 注销断开设备 停止侦听 CLIENT StopListen 断开连接 CLIENT Logout K 释放 SDK 资源 SDK 退出 CLIENT Cleanup 对 D E F G H I 中的功能大部分之间没有调用先后顺序 当然对同一个功能还 是应该按先打开再操作最后关闭的顺序 网络客户端 SDK 编程手册 第 13 页 共 94 页 3 数据结构定义数据结构定义 3 1 客户端数据结构客户端数据结构 通用云台控制命令 typedef enum PTZ ControlType PTZ UP CONTROL 0 上 PTZ DOWN CONTROL 下 PTZ LEFT CONTROL 左 PTZ RIGHT CONTROL 右 PTZ ZOOM ADD CONTROL 变倍 PTZ ZOOM DEC CONTROL 变倍 PTZ FOCUS ADD CONTROL 调焦 PTZ FOCUS DEC CONTROL 调焦 PTZ APERTURE ADD CONTROL 光圈 PTZ APERTURE DEC CONTROL 光圈 PTZ POINT MOVE CONTROL 转至预置点 PTZ POINT SET CONTROL 设置 PTZ POINT DEL CONTROL 删除 PTZ POINT LOOP CONTROL 点间轮循 PTZ LAMP CONTROL 灯光雨刷 PTZ ControlType 云台控制扩展命令 typedef enum EXTPTZ ControlType EXTPTZ LEFTTOP 0X20 左上 EXTPTZ RIGHTTOP 右上 EXTPTZ LEFTDOWN 左下 EXTPTZ RIGHTDOWN 右下 EXTPTZ ADDTOLOOP 加入预置点到巡航 巡航线路预置点值 EXTPTZ DELFROMLOOP 删除巡航中预置点 巡航线路预置点值 EXTPTZ CLOSELOOP 清除巡航 巡航线路 EXTPTZ STARTPANCRUISE 开始水平旋转 EXTPTZ STOPPANCRUISE 停止水平旋转 EXTPTZ SETLEFTBORDER 设置左边界 EXTPTZ RIGHTBORDER 设置右边界 EXTPTZ STARTLINESCAN 开始线扫 EXTPTZ CLOSELINESCAN 停止线扫 网络客户端 SDK 编程手册 第 14 页 共 94 页 EXTPTZ SETMODESTART 设置模式开始 模式线路 EXTPTZ SETMODESTOP 设置模式结束 模式线路 EXTPTZ RUNMODE 运行模式模式线路 EXTPTZ STOPMODE 停止模式模式线路 EXTPTZ DELETEMODE 清除模式模式线路 EXTPTZ REVERSECOMM 翻转命令 EXTPTZ FASTGOTO 快速定位 水平坐标垂直坐标变倍 EXTPTZ AUXIOPEN x34 辅助开关开辅助点 EXTPTZ AUXICLOSE 0 x35 辅助开关关 辅助点 EXTPTZ OPENMENU 0X36 打开球机菜单 EXTPTZ CLOSEMENU 关闭菜单 EXTPTZ MENUOK 菜单确定 EXTPTZ MENUCANCEL 菜单取消 EXTPTZ MENUUP 菜单上 EXTPTZ MENUDOWN 菜单下 EXTPTZ MENULEFT 菜单左 EXTPTZ MENURIGHT 菜单右 EXTPTZ TOTAL 最大命令值 EXTPTZ ControlType IO控制命令 typedef enum IOTYPE ALARMINPUT 1 报警输入 ALARMOUTPUT 2 报警输出 IOTYPE 查询状态类型 define DH DEVSTATE COMM ALARM0 x0001 查询普通报警 define DH DEVSTATE SHELTER ALARM0 x0002 查询遮挡报警 define DH DEVSTATE RECORDING0 x0003 查询录象状态 define DH DEVSTATE DISK0 x0004 查询硬盘状态 错误类型代号 用于GetLastError函数的返回 define EC x 0 x80000000 x define NET NOERROR 0 没有错误 define NET ERROR 1 未知错误 define NET SYSTEM ERROR EC 1 Windows 系统出错 define NET NETWORK ERROR EC 2 网络错误 define NET DEV VER NOMATCH EC 3 设备协议不匹配 网络客户端 SDK 编程手册 第 15 页 共 94 页 define NET INVALID HANDLE EC 4 句柄无效 define NET OPEN CHANNEL ERROR EC 5 打开通道失败 define NET CLOSE CHANNEL ERROR EC 6 关闭通道失败 define NET ILLEGAL PARAM EC 7 用户参数不合法 define NET SDK INIT ERROR EC 8 SDK 初始化出错 define NET SDK UNINIT ERROR EC 9 SDK 清理出错 define NET RENDER OPEN ERROR EC 10 申请 render 资源出错 define NET DEC OPEN ERROR EC 11 打开解码库出错 define NET DEC CLOSE ERROR EC 12 关闭解码库出错 define NET MULTIPLAY NOCHANNEL EC 13 多画面预览中检测到通道数为 0 define NET TALK INIT ERROR EC 14 录音库初始化失败 define NET TALK NOT INIT EC 15 录音库未经初始化 defineNET TALK SENDDATA ERROR EC 16 发送音频数据出错 define NET REAL ALREADY SAVING EC 17 实时数据已经处于保存状态 define NET NOT SAVING EC 18 未保存实时数据 define NET OPEN FILE ERROR EC 19 打开文件出错 define NET PTZ SET TIMER ERROR EC 20 启动云台控制定时器失败 define NET RETURN DATA ERROR EC 21 对返回数据的校验出错 define NET INSUFFICIENT BUFFER EC 22 没有足够的缓存 define NET NOT SUPPORTED EC 23 当前 SDK 未支持该功能 define NET NO RECORD FOUND EC 24 查询不到录象 define NET NOT AUTHORIZED EC 25 无操作权限 define NET NOT NOW EC 26 暂时无法执行 define NET NO TALK CHANNEL EC 27 未发现对讲通道 define NET NO AUDIO EC 28 未发现音频 define NET AUDIOENCODE NOTINI EC 59 音频编码接口没有成功初始化 define NET DATA TOOLONGH EC 60 数据过长 define NET LOGIN ERROR PASSWORD EC 100 密码不正确 define NET LOGIN ERROR USER EC 101 帐户不存在 define NET LOGIN ERROR TIMEOUT EC 102 等待登录返回超时 define NET LOGIN ERROR RELOGGIN EC 103 帐号已登录 define NET LOGIN ERROR LOCKED EC 104 帐号已被锁定 define NET LOGIN ERROR BLACKLIST EC 105 帐号已被列为黑名单 define NET LOGIN ERROR BUSY EC 106 资源不足 系统忙 define NET LOGIN ERROR CONNECT EC 107 连接主机失败 define NET LOGIN ERROR NETWORK EC 108 网络连接失败 define NET RENDER SOUND ON ERROR EC 120 Render 库打开音频出错 define NET RENDER SOUND OFF ERROR EC 121 Render 库关闭音频出错 define NET RENDER SET VOLUME ERROR EC 122 Render 库控制音量出错 define NET RENDER ADJUST ERROR EC 123 Render 库设置画面参数出错 define NET RENDER PAUSE ERROR EC 124 Render 库暂停播放出错 define NET RENDER SNAP ERROR EC 125 Render 库抓图出错 define NET RENDER STEP ERROR EC 126 Render 库步进出错 网络客户端 SDK 编程手册 第 16 页 共 94 页 define NET RENDER FRAMERATE ERROR EC 127 Render 库设置帧率出错 define NET CONFIG DEVBUSY EC 999 暂时无法设置 define NET CONFIG DATAILLEGAL EC 1000 配置数据不合法 回调函数类型 define COMM ALARM0 x1100 常规报警信息 define SHELTER ALARM0 x1101 视频遮挡报警 define DISK FULL ALARM0X1102 硬盘满报警 define DISK ERROR ALARM0 x1103 硬盘故障报警 define SOUND DETECT ALARM0 x1104 音频检测报警 设备型号 DVR类型 enum NET DEVICE TYPE NET PRODUCT NONE 0 NET DVR NONREALTIME MACE 非实时MACE NET DVR NONREALTIME 非实时 NET NVS MPEG1 网络视频服务器 NET DVR MPEG1 2 MPEG1二路录像机 NET DVR MPEG1 8 MPEG1八路录像机 NET DVR MPEG4 8 MPEG4八路录像机 NET DVR MPEG4 16 MPEG4十六路录像机 NET DVR MPEG4 SX2 MPEG4视新十六路录像机 NET DVR MEPG4 ST2 MPEG4视通录像机 NET DVR MEPG4 SH2 MPEG4视豪录像机 NET DVR MPEG4 GBE MPEG4视通二代增强型录像机 NET DVR MPEG4 NVSII MPEG4网络视频服务器II代 NET DVR STD NEW 新标准配置协议 NET DVR DDNS DDNS服务器 3 1 1 设备信息结构设备信息结构 设备结构定义如下 typedef struct BYTE sSerialNumber SERIALNO LEN 序列号 BYTE byAlarmInPortNum DVR 报警输入个数 BYTE byAlarmOutPortNum DVR 报警输出个数 BYTE byDiskNum DVR 硬盘个数 BYTE byDVRType DVR 类型 网络客户端 SDK 编程手册 第 17 页 共 94 页 BYTE byChanNum DVR 通道个数 NET DEVICEINFO LPNET DEVICEINFO 3 1 2 时间信息时间信息 typedef struct DWORD dwYear 年 DWORD dwMonth 月 DWORD dwDay 日 DWORD dwHour 时 DWORD dwMinute 分 DWORD dwSecond 秒 NET TIME LPNET TIME 3 1 3 录像文件信息录像文件信息 typedef struct unsigned intch 通道号 charfilename 128 文件名 unsigned intsize 文件长度 NET TIMEstarttime 开始时间 NET TIMEendtime 结束时间 unsigned intdriveno 磁盘号 unsigned intstartcluster 起始簇号 NET RECORDFILE INFO LPNET RECORDFILE INFO 3 1 4 设备状态信息设备状态信息 设备端通过回调主动上传的设备状态结构 typedef struct intchannelcount intalarminputcount unsigned char diskerror MAX DISKNUM unsigned char record size channelcount unsigned char alarm size alarminputcount unsigned char motiondection size channelcount unsigned char videolost size channelcount NET CLIENT STATE 网络客户端 SDK 编程手册 第 18 页 共 94 页 以下为查询的设备工作状态的相关结构 typedef struct BYTE byRecordStatic 通道是否在录像 0 不录像 1 录像 BYTE bySignalStatic 连接的信号状态 0 正常 1 信号丢失 BYTE byHardwareStatic 通道硬件状态 0 正常 1 异常 例如 DSP 死掉 char reserve 暂时无效 DWORD dwBitRate 实际码率 暂时无效 DWORD dwLinkNum 客户端连接的个数 暂时无效 DWORD dwClientIP MAX LINK 客户端的 IP 地址 暂时无效 NET DEV CHANNELSTATE LPNET DEV CHANNELSTATE typedef struct DWORD dwVolume 硬盘的容量 DWORD dwFreeSpace 硬盘的剩余空间 DWORD dwStatus 硬盘的状态 休眠 活动 不正常等 NET DEV DISKSTATE LPNET DEV DISKSTATE typedef struct DWORD dwDeviceStatic 设备状态 0 x00 正常 0 x01 CPU 占用过高 0 x02 硬件错误 NET DEV DISKSTATE stHardDiskStatic MAX DISKNUM 设备暂时不支持 NET DEV CHANNELSTATE stChanStatic MAX CHANNUM 通道的状态 BYTE byAlarmInStatic MAX ALARMIN 报警端口的状态 0 无报警 1 有报警 BYTE byAlarmOutStatic MAX ALARMOUT 报警输出端口的状态 0 无输出 1 有输出 DWORD dwLocalDisplay 本地显示状态 0 正常 1 不正常 NET DEV WORKSTATE LPNET DEV WORKSTATE 录像文件信息 typedef struct unsigned intch 通道号 charfilename 128 文件名 unsigned intsize 文件长度 NET TIME starttime 开始时间 NET TIME endtime 结束时间 unsigned int driveno 磁盘号 unsigned int startcluster 起始簇号 NET RECORDFILE INFO LPNET RECORDFILE INFO 网络客户端 SDK 编程手册 第 19 页 共 94 页 串口协议信息 232和485 typedef struct charprotocolname 12 协议名 unsigned intbaudbase 波特率 unsigned char databits 数据位 unsigned char stopbits 停止位 unsigned char parity 校验位 unsigned char reserve PROTOCOL INFO LPPROTOCOL INFO 报警IO控制 报警输出和报警输入使能 typedef struct unsigned short index 端口序号 unsigned short state 端口状态 ALARM CONTROL 用户管理功能数据结构 define MAX RIGHT NUM100 define MAX GROUP NUM20 define MAX USER NUM200 define RIGHT NAME LENGTH32 define USER NAME LENGTH8 define USER PSW LENGTH8 define MEMO LENGTH32 typedef struct DWORDdwID charname RIGHT NAME LENGTH charmemo MEMO LENGTH OPR RIGHT typedef struct DWORDdwID DWORDdwGroupID charname USER NAME LENGTH charpassWord USER PSW LENGTH DWORDdwRightNum DWORDrights MAX RIGHT NUM charmemo MEMO LENGTH USER INFO 网络客户端 SDK 编程手册 第 20 页 共 94 页 typedef struct DWORDdwID charname USER NAME LENGTH DWORDdwRightNum DWORDrights MAX RIGHT NUM charmemo MEMO LENGTH USER GROUP INFO SDK返回的用户信息结构 typedef struct DWORDdwRightNum OPR RIGHTrightList MAX RIGHT NUM DWORDdwGroupNum USER GROUP INFOgroupList MAX GROUP NUM DWORDdwUserNum USER INFOuserList MAX USER NUM USER MANAGE INFO 日志信息 1 日志的结构形式 时间结构 typedef struct DHTIME DWORD second 6 秒1 60 DWORD minute 6 分1 60 DWORD hour 5 时1 24 DWORD day 5 日1 31 DWORD month 4 月1 12 DWORD year 6 年2000 2063 DHTIME pDHTIME 日志结构 struct LOG ITEM DHTIME time 日期 接口文档 数字视频录像机网络服务编程手册 公开 WORD type 类型 BYTE flag 标记 0 x00 正常 0 x01 扩展 0 x02 数据 BYTE data 数据 BYTE context 8 内容 网络客户端 SDK 编程手册 第 21 页 共 94 页 2 日志的类型 enum dh log t LOG REBOOT 0 x0000 system logs LOG SHUT LOG CONFSAVE 0 x0100 config logs LOG CONFLOAD LOG FSERROR 0 x0200 文件系统错误 LOG HDD WERR 硬盘写错误 LOG HDD RERR 硬盘读错误 LOG HDD TYPE 设置硬盘类型 LOG HDD FORMAT 格式化硬盘 LOG ALM IN 0 x0300 alarm logs record LOG MANUAL RECORD START 0 x0400 LOG MANUAL RECORD STOP user manager LOG LOGIN 0 x0500 LOG LOGOUT LOG ADD USER LOG DELETE USER LOG MODIFY USER LOG ADD GROUP LOG DELETE GROUP LOG MODIFY GROUP clear LOG CLEAR 0 x0600 record operation LOG DOWNLOAD 录像下载 LOG PLAYBACK 录像回放 LOG TYPE NR 8 3 数据组织 向客户端传递所有日志信息 长度为 N 日志结构长度 N 为日志的条数 查询硬盘信息的返回数据结构 typedef struct DWORDdwDiskNum 硬盘个数 NET DEV DISKSTATEstDisks DH MAX DISKNUM 各硬盘信息 DH HARDDISK STATE LPDH HARDDISK STATE 网络客户端 SDK 编程手册 第 22 页 共 94 页 音频数据的格式结构 Typedef struct BYTEbyFormatTag 编码类型 0 PCM WORDnChannels 声道数 WORDwBitsPerSample 采样深度 DWORDnSamplesPerSec 采样率 DH AUDIO FORMAT LPDH AUDIO FORMAT 3 1 5 系统配置信息结构系统配置信息结构 目前提供了配置控件的方式配置设备 4 接口定义接口定义 4 1 SDK 初始化初始化 1 CLIENT API DWORD CALL METHOD CLIENT GetLastError void 函数说明 返回函数执行失败代码 当调用下面的接口失败时 可以用该函 数获取失败的代码 具体错误代码参见错误类型代号说明 参数说明 返回值 返回 相关函数 典型应用 参加 demo typedef void CALLBACK fDisConnect LONG lLoginID char pchDVRIP LONG nDVRPort DWORD dwUser 2 CLIENT API BOOL CLIENT Init fDisConnect cbDisConnect DWORD dwUser 函数说明 初始化 SDK 在所有的 SDK 函数之前调用 参数说明 cbDisConnect 断线回调函数 回调出当前网络已经断开的设备 对主动断开的设备不 回调 设置为 0 时禁止回调 dwUser 用户数据 网络客户端 SDK 编程手册 第 23 页 共 94 页 回调函数参数说明 lLoginID CLIENT Login的返回值 pchDVRIP 设备 IP nDVRPort 端口 dwUser 用户数据 就是上面输入的用户数据 返回值 成功返回 TRUE 不成功返回 FALSE 相关函数 CLIENT Cleanup 典型应用 在应用程序初始化时调用 3 CLIENT API void CLIENT Cleanup 函数说明 清空 SDK 释放占用的资源 在所有的 SDK 函数之后调用 参数 无 返回值 无 相关函数 CLIENT Init 典型应用 在应用程序关闭时调用 4 CLIENT API void CLIENT SetConnectTime int nWaitTime int nTryTimes 函数说明 设置与设备的连接等待时间 调用顺序无关 SDK 默认值为 3000ms 对外网一般需要增加到 5000ms 此值 不影响设备连接速度 只有当网络状态不好时延长等待时间 可以提高连接成 功几率 参数说明 nWaitTime 连接等待时间 毫秒级 nTryTimes 连接次数 暂时为无效值 返回值 无 相关函数 CLIENT Login 典型应用 一般在应用程序初始化时调用 网络客户端 SDK 编程手册 第 24 页 共 94 页 5 CLIENT API DWORD CLIENT GetSDKVersion 函数说明 得到 SDK 的版本号 参数 无 返回值 版本号 典型应用 一般在应用程序初始化时调用 4 2 状态侦听状态侦听 typedef BOOL CALLBACK fMessCallBack LONG lCommand LONG lLoginID char pBuf DWORD dwBufLen char pchDVRIP LONG nDVRPort DWORD dwUser 6 CLIENT API void CLIENT SetDVRMessCallBack fMessCallBack cbMessage DWORD dwUser 函数说明 设置设备消息回调函数 用来得到设备当前状态信息 与调用顺序 无关 SDK 默认不回调 此回调函数必须在调用打开侦听 CLIENT StartListen或CLENT StartListenEx才有效 同时需要说明的是 针对目前定义的报警状态 是每秒回调设备当前的状态值 参数说明 cbMessage 消息回调函数 可以回调设备的状态 如报警状态可以通过此回调获取 当设置为 0 时表示禁止回调 dwUser 用户数据 回调函数参数说明 lCommand 回调类型 lLoginID CLIENT Login的返回值 pBuf 接收报警数据的缓存 根据调用的侦听接口和lCommand值不同 填充 的数据不同 如果调用的侦听接口为CLIENT StartListen 则lCommand的可能值是 OMM ALARM 填充数据为一个NET CLIENT STATE结构体 SHELTER ALARM 填充数据为16个字节 每个字节表示一个视频通道 的遮挡报警状态 1为有报警 0为无报警 DISK FULL ALARM M 填充数据为1个DWORD值 1表示硬盘满 0表示硬 盘未满 DISK ERROR ALARM 填充数据为1个DWORD值 按位表示最多32个硬 网络客户端 SDK 编程手册 第 25 页 共 94 页 盘的故障报警 每位为1表示有报警 为0表示无报警 SOUND DETECT ALARM 填充数据为16个字节 每个字节表示一个视 频通道的音频报警状态 1为有报警 0为无报警 如果调用的侦听接口为CLENT StartListenEx 则lCommand的可能值是 DH ALARM ALARM EX 填充数据为16个字节 每个字节表示一个报警 通道的报警状态 1为有报警 0为无报警 DH MOTION ALARM EX 填充数据为16个字节 每个字节表示一个视 频通道的动态检测报警状态 1为有报警 0为无报警 DH VIDEOLOST ALARM EX 填充数据为16个字节 每个字节表示一个 视频通道的视频丢失报警状态 1为有报警 0为无报警 DH SHELTER ALARM EX 填充数据为16个字节 每个字节表示一个视 频通道的遮挡 黑屏 报警状态 1为有报警 0为无报警 DH SOUND DETECT ALARM EX 填充数据为16个字节 每个字节表示 一个视频通道的音频检测报警状态 1为有报警 0为无报警 DH DISKFULL ALARM EX 填充数据为1个字节 1为有硬盘满报警 0 为无报警 DH DISKERROR ALARM EX 填充数据为32个字节 每个字节表示一个 硬盘的故障报警状态 1为有报警 0为无报警 dwBufLen pBuf的长度 pchDVRIP 设备 IP nDVRPort 端口 dwUser 回调的用户数据 就是上面输入的用户数据 返回值 TRUE 回调函数执行正确 FALSE 执行错误 相关函数 CLIENT StartListen CLIENT StopListen 典型应用 一般在应用程序初始化时调用设置回调 在回调函数中根据不同 的设备 ID 和命令值做出不同的处理 7 CLIENT API BOOL CLIENT StartListen LONG lLoginID 函数说明 开始对某个设备侦听消息 用来设置是否需要对设备消息回调 得到的消息从CLIENT SetDVRMessCallBack的设置值回调出来 参数说明 lLoginID CLIENT Login的返回值 返回值 成功返回 TRUE 失败返回 FAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉堡造型基础知识培训课件
- 跨境电子商务双语教程 试卷B中英文答案
- 水边安全基础知识培训课件
- 混凝土拌合物的温度控制方案
- 水粉平涂技法课件
- 水管业务知识培训课件
- 说课中医基础理论01课件
- 胎儿窘迫的护理周立蓉73课件
- 施工机械防护与管理方案
- 混凝土运输与配送协调方案
- 【艾瑞咨询】2024年中国健康管理行业研究报告494mb
- 胸痹的中医治疗
- 人流术后的护理及健康宣教
- 财务岗位笔试题目及答案
- 兵团两委考试试题及答案
- DB31/T 636.1-2018会议经营与服务规范第1部分:会议服务机构等级划分与评定
- 创新素养评价体系:核心素养框架下的关键指标研究
- 夫妻房屋加名协议书
- 《大脑中动脉解剖结构》课件
- z08小升初数学试卷及答案
- 智慧水务数字化供水平台建设方案
评论
0/150
提交评论