海康网络SDK概要分析

设备网络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主要功能
图像预览、文件回放和下载、云台控制、布防/撤防、语音对讲、日志管理、解码卡、远程升级、远程重启/关闭、格式化硬盘、参数配置(系统配置、通道配置、串口配置、报警配置、用户配置)、多路解码器、智能设备功能和获取设备能力集等。
设备网络SDK包含网络通讯库、软解码库、硬解码库等功能组件,我们提供Windows和Linux两个版本的SDK,各自所包含的组件如下:
Windows下设备网络SDK:
网络通讯库
HCNetSDK.h 头文件
HCNetSDK.lib LIB库文件
HCNetSDK.dll DLL库文件
Qos库
QosControl.dll DLL库文件
RTSP通讯库
StreamTransClient.dll DLL库文件
软解码库
PlayM4.h 头文件
PlayCtrl.lib LIB库文件
PlayCtrl.dll DLL库文件
转封装库
SystemTransform.dll DLL库文件
硬解码库
DataType.h和DecodeCardSdk.h 头文件
DsSdk.lib LIB库文件
DsSdk.dll DLL库文件

Linux下设备网络SDK库:
网络通讯库
hcnetsdk.h 头文件
libhcnetsdk.so SO库文件
Qos库
libQosControl.so SO库文件
RTSP通讯库
libStreamTransClient.so SO库文件
软解码库
playsdkpu.h 头文件
libm4play.so SO库文件
转封装库
libSystemTransform.so SO库文件

本版本的设备网络SDK开发包中包含以上各个组件,除网络通讯库这个组件为必须项外,用户可以根据需要选择其中的一部分组件,以下将对各个组件在SDK中的作用和使用条件分别说明。
  • 网络通讯库是设备网络SDK的主体,主要用于网络客户端与各类产品之间的通讯交互,负责远程功能调控、远程参数配置及码流数据的获取和处理等。

  • Qos库是流控库。推模式下支持,用于无线实时流的码流传输质量优化。

  • RTSP通讯库是支持RTSP传输协议的网络库。当需要对支持RTSP协议的产品进行取流等操作时就必须加载该项组件。

  • 软解码库主要用于对实时码流数据进行解码显示(实现预览功能)和对录像文件进行回放解码等。用户如果需要在SDK内部进行对实时流和录像码流播放显示时(即NET_DVR_RealPlay_V30接口的第二个结构体参数的播放句柄设置成有效句柄时)必须加载该组件,而如果用户仅需要用网络通讯库捕获到数据后再外部自行处理就不需要加载该组件,这种情况下用户在外部自行解码将更灵活,可参见软解码库函数说明《播放器SDK编程指南》

  • 转封装库的功能可以分为两种:一种是将标准码流转换成采用我们公司封装格式的码流。当用户需要对支持RTSP协议的产品捕获采用本公司封装格式的码流数据时(即当设置NET_DVR_RealPlay_V30接口中的回调函数捕获数据或者调用NET_DVR_SetRealDataCallBack接口捕获数据时)必须加载该组件。另一种功能是能将标准码流转换成其他格式的封装,如3GPP、PS等。例如,当用户需要对支持RTSP协议的产品实时捕获指定封装格式的码流数据(对应的SDK接口为NET_DVR_SaveRealData)时必须加载该项组件。

  • 硬解码库需在配备硬解码卡(MD卡)的前提下使用,通过解码卡的解码与输出功能实现实时流的解码显示及向监视器上矩阵输出的功能。用户如果需要在SDK内部对实时流码流播放显示时必须加载该项组件。为更方便灵活地调用硬解码的相关功能,建议用户通过捕获数据在外部处理解码。相关硬解码库的功能函数可参见《板卡SDK编程指南》中解码卡API相关介绍。Linux下无硬解功能。

你可能感兴趣的:(海康网络SDK概要分析)