海康摄像SDK开发笔记(⼀):海康威视⽹络摄像头SDK介绍与模块功能
前⾔
  视频监控、⼈脸识别等应⽤中经常使⽤到摄像头,当前占据主流视频监控摄像头就是海康和⼤华两家,都可通过⾃家的sdk或者是onvif ⽅式使⽤和控制摄像头。
  本⽂章讲解海康的sdk⽅式。
海康
  海康(海康威视)是以视频为核⼼的智能物联⽹解决⽅案和⼤数据服务提供商,在视频⾏业是当前实打实的⽼⼤哥,当然还有⼤华,其他不多做介绍。
海康设备⽹络SDK下载
海康SDK概述与使⽤流程
初始化SDK
  海康sdk有其固有的使⽤流程,如下图:
初始化SDK(N ET_DVR_Init)
  对整个⽹络SDK系统的初始化,内存预分配等。
设置连接超时时间(N ET_DVR_SetCo nnec tTime)可选
tTim e)可选
  设置SDK中的⽹络连接超时时间,不调⽤则使⽤默认值。
异常回调函数(N ET_DVR_SetDVR Messa ge或N ET_DVR_SetExc eptio nCa llBa c k_V30)
  sdk中⼤部分模块的功能是异步异常,海康提供此接⼝⽤于接收预览、报警、回放、透明通道和语⾳对讲等模块发⽣异常信息。⽤户可以在初始化 SDK 后就设置该回调函数,在应⽤层对各个模块异常消息的接收和处理。
从解析服务器获得设备的 IP 地址(N ET_DVR_GetDVR IPByR eso lveSvr_EX)
lveSvr_EX
  该接⼝提供⼀种在仅知道设备名称(或 DDNS 域名)或者序列号的情况下,从解析服务器获得设备 I
P 地址的⽅法。如:当前设备是通过拨号上⽹⽅式获取到动态 IP 地址,⽽运⾏了我公司 IPServer 软件的服务器即为解析服务器或者设备注册到我公司 DDNS 服务器上,我们可以通过此接⼝输⼊服务器的地址、设备的名称或序列号等信息查询该设备的 IP 地址。(注意:由此看来不能达到没有任何配置的情况下,直接使⽤该函数搜索到局域⽹内的所有摄像头信息)。
⽤户注册设备(N ET_DVR_Lo gin_V30)
  实现⽤户的注册功能,注册成功后,返回的⽤户 ID 作为其他功
能操作的唯⼀标识, SDK 允许最⼤注册⽤户数为 512 个。就设备⽽⾔, V3.0 以上版本⽀持的设备允许有 32 个注册⽤户名,⽽且同时最多允许 128 个⽤户注册; V3.0 以下版本⽀持的设备允许有 16 个注册⽤户名,⽽且同时最多允许 128 个⽤户注册。sdk
  登录后才可进⾏功能其他功能的调⽤(除了报警模块不需要登录)。
释放SDK(N ET_DVR_Clea nup)
  不再使⽤sdk后,释放其使⽤的资源。
SDK功能模块
预览模块
  从设备取实时码流,解码显⽰以及播放控制等功能,同时⽀持软解码和解码卡解码。
回放和下载模块
  可以通过按时间和按⽂件名的⽅式远程回放或者下载设备的录像⽂件,后续可以进⾏解码或者存储。同时还⽀持断点续传功能(需要设备⽀持)。
参数配置模块
  设置和获取设备的参数,主要包括设备参数、⽹络参数、通道压缩参数、串⼝参数、报警参数、异常参数、交易信息和⽤户配置等参数信息。
远程设备维护模块
  实现关闭设备、重启设备、恢复默认值、远程硬盘格式化、远程升级和配置⽂件导⼊/导出等维护⼯作。
语⾳对讲转发模块
  语⾳对讲转发模块:实现和设备的语⾳数据对讲和语⾳数据获取,⾳频编码格式可以指定。
报警模块
  报警模块:处理设备上传的各种报警信号。报警分为“布防”和“监听”两种⽅式,在采⽤监听⽅式并且不 需要获取⽤户 ID 的情况下,报警模块可以⽆需进⾏“⽤户注册”操作步骤。
透明通道模块
  透明通道模块:透明通道是将 IP 数据报⽂解析后直接发送到串⾏⼝的⼀种技术。实际上起到了延伸串⾏设备控制距离的作⽤。可利⽤IP ⽹络控制多种串⾏设备,如控制解码器、矩阵、报警主机、门禁、仪器仪表等串⾏设备,对⽤户来说,只看到点对点传输,⽆须关⼼⽹络传输过程,所以称为串⼝透明通道。SDK提供485和232串⼝作为透明通道功能,其中要将 232 串⼝作为透明通道使⽤,⾸先必须在232串⼝的配置信息(NET_DVR_RS232CFG)中将⼯作模式选为透明通道,这样232串⼝才可作为透明通道使⽤。
云台控制模块
  云台控制模块:实现对云台的基本操作、预置点、巡航、轨迹和透明云台的控制。SDK将云台控制分为两种模式:⼀种是通过图像预览返回的句柄进⾏控制;另⼀种是⽆预览限制,通过⽤户注册ID号进
⾏云台控制。
IP通道概念与相关说明
模拟输⼊
  DVR 视频输⼊接模拟摄像机,其通道称为模拟通道; 混合型 DVR、 NVR 等设备⽀持 IPC 接⼊,通道称IP 通道(或者数字通道),配置相关参数时需调⽤ IP 接⼊配置参数来进⾏资源的获取和重新分配。
模拟通道个数
  客户端通过注册设备(NET_DVR_Login_V30)返回的设备信息 NET_DVR_DEVICEINFO_V30 获取模拟通道个数(byChanNum)、模拟通道起始通道号(byStartChan)和设备⽀持的最⼤ IP 通道数(byIPChanNum + byHighDChanNum * 256)、数字通道起始通道号(byStartDChan)。
通道号
  从 byStartChan 到 byStartChan + byChanNum - 1 对应为模拟通道的通道号,IP 通道的通道号为 byStartDChan到byStartDChan + (byIPChanNum + byHighDChanNum * 256) - 1。 DVR 只有模拟通道, NVR 只有 IP 通道,混合型 DVR 同时⽀持模拟通道和 IP 通道。
单设备的多IP通道
  如果设备⽀持 IP 通道个数⼤于 0,则可以通过远程参数配置接⼝ NET_DVR_GetDVRConfig(配置命令:
NET_DVR_GET_IPPARACFG_V40)可以获取得到设备详细的 IP 资源信息(NET_DVR_IPPARACFG_V40),包括模拟通道是否禁⽤(byAnalogChanEnable)、 IP 通道个数(dwDChanNum)、 IP 通道起始通道号(dwStartDChan)、 IP 通道取流模式、 IP 通道有效状态和在线状态等。通过远程参数配置接⼝NET_DVR_SetDVRConfig(配置命令: NET_DVR_SET_IPPARACFG_V40)可对设备进⾏ IP 资源配置,包括添加、修改、删除 IP 通道等。
报警
  混合型 DVR 或 NVR 的 IP 报警输⼊和报警输出的通道是在⾳视频 IP 通道资源分配好后,由设备⾃动分配的。 如果要对 IP 报警参数进⾏配置,⾸先通过命令 NET_DVR_GET_IPALARMINCFG_V40 和NET_DVR_GET_IPALARMOUTCFG_V40 获取 IP 报警输⼊资源(NET_DVR_IPALARMINCFG_V40) 和 IP 报警输出资源(NET_DVR_IPALARMOUTCFG_V40)。 然后通过命令
NET_DVR_SET_ALARMINCFG_V40 可以配置报警数相关参数(NET_DVR_ALARMINCFG_V40),包括报警输⼊名称、报警器类型、布防时间、联动⽅式等,通过命令 NET_DVR_SET_ALARMOUTCFG_V30 可以配置报警输出相关参数
(NET_DVR_ALARMOUTCFG_V30),⽐如报警输出名称、布防时间、输出报警延时等。 相关接⼝:NET_DVR_GetDVRConfig、
NET_DVR_SetDVRConfig。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。