海康摄像SDK开发笔记(一):海康威视网络摄像头SDK介绍与模块功能

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/1116396032

红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)

Qt开发专栏:三方库开发技术


前言

  视频监控、人脸识别等应用中经常使用到摄像头,当前占据主流视频监控摄像头就是海康和大华两家,都可通过自家的sdk或者是onvif方式使用和控制摄像头。
  本文章讲解海康的sdk方式。


海康

  海康(海康威视)是以视频为核心的智能物联网解决方案和大数据服务提供商,在视频行业是当前实打实的老大哥,当然还有大华,其他不多做介绍。

海康设备网络SDK下载

  下载地址:https://www.hikvision.com/cn/download_61.html
  在这里插入图片描述
  在ubuntu16.04 x86_64上开发,下载SDK_Linux64版本,可查看详细描述,右上角下载:
  在这里插入图片描述
  点击下载:
  在这里插入图片描述
  解压后:
  在这里插入图片描述
  海康威视SDK自带QtDemo,不过是qt4.7版本的,笔者使用qt5版本。


海康SDK概述与使用流程

初始化SDK

  海康sdk有其固有的使用流程,如下图:
  在这里插入图片描述

初始化SDK(NET_DVR_Init)

  对整个网络SDK系统的初始化,内存预分配等。

设置连接超时时间(NET_DVR_SetConnectTime)可选

  设置SDK中的网络连接超时时间,不调用则使用默认值。

异常回调函数(NET_DVR_SetDVRMessage或NET_DVR_SetExceptionCallBack_V30)

  sdk中大部分模块的功能是异步异常,海康提供此接口用于接收预览、报警、回放、透明通道和语音对讲等模块发生异常信息。用户可以在初始化 SDK 后就设置该回调函数,在应用层对各个模块异常消息的接收和处理。

从解析服务器获得设备的 IP 地址(NET_DVR_GetDVRIPByResolveSvr_EX)

  该接口提供一种在仅知道设备名称(或 DDNS 域名)或者序列号的情况下,从解析服务器获得设备 IP 地址的方法。如:当前设备是通过拨号上网方式获取到动态 IP 地址,而运行了我公司 IPServer 软件的服务器即为解析服务器或者设备注册到我公司 DDNS 服务器上,我们可以通过此接口输入服务器的地址、设备的名称或序列号等信息查询该设备的 IP 地址。(注意:由此看来不能达到没有任何配置的情况下,直接使用该函数搜索到局域网内的所有摄像头信息)。

用户注册设备(NET_DVR_Login_V30)

  实现用户的注册功能,注册成功后,返回的用户 ID 作为其他功
能操作的唯一标识, SDK 允许最大注册用户数为 512 个。就设备而言, V3.0 以上版本支持的设备允许有 32 个注册用户名,而且同时最多允许 128 个用户注册; V3.0 以下版本支持的设备允许有 16 个注册用户名,而且同时最多允许 128 个用户注册。
  登录后才可进行功能其他功能的调用(除了报警模块不需要登录)。

释放SDK(NET_DVR_Cleanup)

  不再使用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_V40NET_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_GetDVRConfigNET_DVR_SetDVRConfig


若该文为原创文章,转载请注明原文出处
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/1116396032

设备网络SDK是基于设备私有网络通信协议开发的,为嵌入式网络硬盘录像机、NVR、网络摄像机、网络球机、视频服务器、解码器、报警主机、网络存储等产品服务的配套模块,用于远程访问和控制设备软件的二次开发。 设备网络SDK主要功能 图像预览, 文件回放和下载, 云台控制, 布防/撤防, 语音对讲, 日志管理, 解码卡, 远程升级, 远程重启/关闭, 格式化硬盘, 参数配置(系统配置, 通道配置, 串口配置, 报警配置, 用户配置), 多路解码器, 智能设备功能和获取设备能力集等。 适用于但不仅限于以下产品型号: 1. 编解码设备 DVR:DS-9100、DS-8100、DS-8000-S、DS-8800、DS-7800、DS-7300、DS-7200、DS-7100、DS-7000等系列,包括-ST、-SH、-SE、-SN、-RT、-RH、-XT等; NVR:DS-96000、DS-9600、DS-9500、DS-8600、DS-7900、DS-7800、DS-7700、DS-7600、DS-7100等系列,包括-I、-F、-K、-E、-H、-ST、-XT、-SN、-SE、-SNH、-SHT、-S、-SH、-RT等; XVR:DS-9000HQH-SH、DS-8100HQH(/HGH)-SH、DS-8000HQH-SH、DS-7300HQH(/HGH)-SH、DS-7200HQH(/HGH)-SH、DS-8800HQH(/HGH)(/HUH)-SH(/Fx)、DS-7900HQH(/HGH)(/HUH)-SH(/Fx)、DS-7800HQH(/HGH)(/HUH)-SH(/Ex/Fx)、DS-7100HGH-E1(/F1)等; HDVR(混合型DVR):DS-9000、DS-8000-ST、DS-7600H-ST/-S系列等; 编码器:DS-6700、DS-6600、DS-6500(-JX)、DS-6100、DS-6401HFH系列视频服务器、DS-6000系列编/解码器等; 解码器:DS-6300D(-JX)、DS-6400HD(-JX/-T)、DS-6500D(-T)等 2. 网络摄像机, 网络球机 网络摄像机:标清、高清、红外、热成像、鱼眼等,如DS-2CD7xx、DS-2CD71xx、DS-2CD72xx、DS-2CD8xx、DS-2CD81xx、DS-2CD82xx、DS-2CD84xx、DS-2CD83xx、DS-2CD11xx、DS-2CD12xx、DS-2CD13xx、DS-2CD20xx、DS-2CD21xx、DS-2CD22xx、DS-2CD23xx、DS-2CD24xx、DS-2CD25xx、DS-2CD26xx、DS-2CD27xx、DS-2CD28xx、DS-2CD29xx、DS-2CD2Axx、DS-2CD2Cxx、DS-2CD2Dxx、DS-2CD2Txx、DS-2CD2Qxx、DS-2CD30xx、DS-2CD31xx、DS-2CD32xx、DS-2CD33xx、DS-2CD34xx、DS-2CD39xx、DS-2CD3Txx、DS-2CD3Qxx、DS-2CD40xx、DS-2CD41xx、DS-2CD42xx、DS-2CD4Axx、DS-2CD62xx、DS-2CD63xx、DS-2CD64xx、DS-2CD65xx等 网络球机:标清、高清、红外等,如DS-2DF86xx、DS-2DF85xx、DS-2DF82xx、DS-2DF72xx、DS-2DF71xx、DS-2DE71xx、DS-2DE73xx、DS-2DE72xx、DS-2DM72xx、DS-2DM71xx、DS-2DF1-7xx、DS-2DF66xx、DS-2DF62xx、DS-2DF1-6xx、DS-2DE51xx、DS-2DE52xx、DS-2DE53xx、DS-2DM52xx、DS-2DF52xx、DS-2DC52xx、DS-2DC51xx、DS-2DF1-5xx、DS-2DE45xx、DS-2DE42xx、DS-2DE41xx、DS-2DF1-4xx、DS-2DM1-7xx、DS-2DM1-6xx、DS-2DM1-5xx等 体化网络摄像机:DS-2ZCN3007、DS-2ZCN3006、DS-2DZ216MF、DS-2DZ2116、DS-2ZCN2006、DS-2ZCN2007、DS-2ZMN2007、DS-2ZMN2006等 智能交通摄像(抓拍机)(i)DS-2CD93xx、(i)DS-2CD92xx、(i)DS-2CD91xx、DS-2CD9xx、DS-TCG225、DS-TCG113等系列
设备网络SDK是基于设备私有网络通信协议开发的,为后端设备(嵌入式网络硬盘录像机、视频服务器)、前端设备(网络摄像机、网络球机、IP模块)等产品服务的配套模块,用于远程访问和控制设备软件的二次开发。 适用于以下产品型号: DS-95xx、DS-96xxNVR; DS-90xx混合型硬盘录像机; DS-91xx、DS-81xx、DS-80xx、DS-70xx、DS-71xx、DS-7116、DS-72xx硬盘录像机; DS-60xx、DS-61xx视频服务器、编/解码器; iDS-6002HF/B双摄像机跟踪、iDS-6101HF智能设备(行为分析)、iDS52xx智能分析仪、iDS90XX、iDS91XX; DS630x_D、DS-6401HD多路解码器; IP摄像机(以下简称“IPC”):DS-2CD71xx、DS-2CD81xx、DS-2CD7xx、DS-2CD8xx、DS-2CD9xx; 其他IP设备:包含IP模块、IP快球等。 由于某些功能在此SDK版本中做了扩展,同时设备程序也做了相应的更新扩展,为了方便下文说明,此处将以上设备归为两类:如DS-7116、DS-81xx、DS-90xx、DS-91xx、DS-95xx、DS-96xx等系列设备称为V3.0以上版本支持的设备;如DS-80xx、IPC等设备称为V3.0以下版本支持的设备。 设备网络SDK主要功能 图像预览、文件回放和下载、云台控制、布防/撤防、语音对讲、日志管理、解码卡、远程升级、远程重启/关闭、格式化硬盘、参数配置(系统配置、通道配置、串口配置、报警配置、用户配置)、多路解码器、智能设备功能和获取设备能力集等。
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

长沙红胖子Qt(技术Q群4597637)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值