网络摄像机(海康)

一:激活海康设备

  1. 新购买的设备需要通过SADP工具进行设备激活,激活过程如下
    a.设备上电,并连接局域网,具体过程可以参考产品手册
    b.下载SADP工具,并安装在同一个局域网下的电脑上,打开工具,搜索到设备是“未激活”状态,如下:
    网络摄像机(海康)
    输入新密码、确认密码,点击“激活”按钮进行激活。激活成功后,设备的状态变为“激活”状态,并且可以修改设备的网络参数(IP、端口),如下:
    网络摄像机(海康)
    至此,设备已经激活完毕,并且设备的IP、端口、用户名(默认admin)、密码均已设置完毕。
  2. 设备图片:
    网络摄像机(海康)
    网络摄像机(海康)

二:集成SDK开发

  1. 设备激活完毕后,就可以集成SDK进行相关能力的对接开发。海康设备网络SDK是通过网络的方式访问设备,需要用到设备激活过程中设备的IP、端口、用户名、密码,主动注册登录设备。SDK的集成流程,具体可以参考SDK集成流程中相关说明。
  2. 设备能力,按照设备类型分类对外开放。现阶段对外开放的设备能力,按照设备类型分类,包括:AI摄像机通用摄像机出入口产品门禁产品
  3. 资源获取下载:
    a.获取设备网络SDK下载
    b.获取播放库SDK下载
    c.获取WEB开发包下载
    d.RTSP实时预览文档

三:对接问题事项

  1. 打印错误日志:
    hCNetSDK.NET_DVR_GetLastError();
  2. 海康SDK添加IP等信息:
    如果有硬盘录像机,可以直接登录对接硬盘摄像机,不需要单独登录每一台录像机。如果单独对接网络摄像机也是可以的,都是通用的。
  3. 画面出现蓝色闪屏:
    这个是移动侦测的动态分析功能,网络登录设备进行配置,移动配置里面可以关闭
  4. 录像机硬盘存储满了,是否会自动清除?
    不会自动清除,如果设备开启覆盖功能,会从最早的录像文件开始覆盖,如果没有开启则录像满了就不会再录像了。
  5. 录像机是否有自动清除功能?
    没有
  6. 错误码11:
    参数设备不支持
  7. 错误码04:
    通道号错误
  8. 通道号配置规则:
    a.如果型号IP <= 64 通道号应从33开始,依次叠加。
    b.如果型号IP > 64 通道号应从1开始,依次叠加。
  9. demo句柄的意思
    窗口程序需要的
  10. 设备码流加密功能:
    开启设备加密功能是为了传输安全。如果使用海康SDK方式接入,需要把设备码流加密功能给关闭。如果开启了,SDK解析不了。
    备注:如果使用萤石云方式接入,设备码流加密功能是可以开启的。
  11. 设备码流类型有:
    a.主码流:顾名思义,是设备最主要的一路数据,分为主码流(定时)与主码流(事件),码流分辨率,码率较大,清晰度较高,占用带宽高,一般用于存储。
    b.子码流:码流分辨率,码流较低,清晰度较低,占用带宽小,一般用于网传。
    c.三码流:和子码流类似,可以看做第2路子码流,可以配置跟子码流不同的分辨率、码流。
    d.事件码流:也称为主码流(事件),当移动侦测、报警输入等事件发生时的主码流会从定时参数切换成事件码流。此时,主码流的数据由事件码流的参数决定,一般用于提高事件发生情况下的图像清晰度。如果事件码流的参数与主码流(定时)不同,当移动侦测、报警发生时,会导致主码流的图像不断切换,影响视频效果,一般不建议使用。
    e.虚拟码流:既转码码流,实际不存在,预览时设备根据配置额虚拟码流压缩参数进行转编码的一路码流,需要额外消耗设备资源,一般只支持一路,只支持网传。
    备注:以上这些码流都不支持预览,通过预览参数(NET_DVR_PREVIEWINFO)中的dwStreamType选择当前预览的码流类型。并且,这些类型额码流压缩参数都可以分别获取和设置值,相关接口有:
    NET_DVR_GetDeviceConfig(
    命令:NET_DVR_GET_MULTI_STREAM_COMPRESSIONCFG)、NET_DVR_SetDeviceConfig(
    命令:NET_DVR_SET_MULTI_STREAM_COMPRESSIONCFG),对应配置结构体:NET_DVR_MULTI_STREAM_COMPRESSIONCFG
  12. 视频流执行步骤:
    a.先从设备区实时流
    b.自己实现数据转发
    c.做数据处理(转码或者转封装)
    d.然后推送到前端
  13. 预览实时流解码有两种方式:
    方式一:预览接口NET_DVR_RealPlay_V40中预览参数的播放窗口句柄(hPlayWnd)赋值为有效句柄,则由SDK自定实现解码显示功能。在初始化SDK和注册设备两步骤后,直接调用启动预览和停止预览即可
    方式二:预览接口NET_DVR_RealPlay_V40中预览参数逇播放窗口句柄(hPlayWnd)可以设置为空值,直接设置回调函数,或者调用预览接口之后,通过NET_DVR_SetRealDataCallBack、NET_DVR_SetStandardDataCallBack设置回调函数,回调获取实时流数据(前两个接口设置的回调获取的是PS封装的码流,后者获取的是标准RTP封装的码流)之后用户后续自己处理,比如二进制流方式写入文件保存成录像或者调用播放库解码显示等操作。
  14. 使用海康RTSP回放功能:
    URL 规定:
    rtsp://username:password@
    :/Streaming/tracks/(?parm1=value1&parm2-=value2…)
    注: VLC 可以支持解析 URL 里的用户名密码,实际发给设备的 RTSP 请求不支持带用户名密码。
    详细描述:
    举例说明:
    DS-9016HF-ST 的模拟通道 01:
    rtsp://admin:12345@172.6.22.106:554/Streaming/tracks/101?starttime=20120802t063812z&endtime=20120802t064816z
    DS-9016HF-ST 的 IP 通道 01:
    rtsp://admin:12345@172.6.22.106:554/Streaming/tracks/1701?starttime=20131013t093812z&endtime=20131013t104816z
    表示以单播形式回放指定设备的通道中的录像文件,时间范围是starttime到endtime,其中starttime和endtime的格式要符合ISO 8601。具体格式是 YYYYMMDD”T”HHmmSS.fraction”Z” ,
    Y:是年
    M:是月
    D:是日
    T:是时间分格符
    H:是小时
    M:是分
    S:是秒
    Z:是可选的。表示 Zulu (GMT) 时间
  15. NVR录像机回放设置:
    NVR录像机回放默认是移动侦测录像回放。如果需查看整天录像回放需修改:设置菜单》录像配置》计划配置》录像计划!更改所有通道为定时录制。全部移动侦测绿色改为定时蓝色。然后点击应用。
  16. RTSP录像回放弊端:
    RTSP部分NVR设备只能一路回放,不能多路回放同时回放同时观看。具体来源于设备,需要执行厂商产品
  17. 海康SDK获取模拟通道号和数字通道号的区别?
    a.DVR视频输入接模拟摄像机,其视音频通道称为模拟通道;网络摄像机也是模拟通道。
    b.混合型DVR、NVR、CVR设备等设备支持网络摄像机、编码器接入,对应通道称为IP通道(或者数字通道),配置相关参数时需调用IP接入配置参数来进行资源的获取和重新分配。
  18. 是否支持设备开关机?
    关机不支持。可以支持重启设备,但是不支持重启NVR下的摄像头,只能重启当前登录的设备本身
  19. 海康NVR录像机是否可以集成其余品牌摄像机?
    a.这个问题您联系我们当地分公司技术或者拨打4008005998技术热线咨询NVR的产品技术支持,需要看您第三方摄像机添加到我们NVR使用的是什么协议的
    b.这个协议需要NVR和第三方摄像机都支持,比如ONVIF、ISAPI协议
  20. 海康SDK设备截图,设备截图提供两个函数
    a.NET_DVR_CaptureJPEGPicture:可以指定固定本地地址路径,直接将图片下载到本地路径
    b.NET_DVR_CaptureJPEGPicture_NEW:将图片存到内存缓冲区。需要转换成图片在保存到本地路径
  21. 海康视频集成二次开发还可以直接使用web前端js形式直接播放及查看:
    a.web前端是js集成,不用做前后端分离。其弊端是局限性比较大–有些高版本谷歌浏览器可能永不了
    b.后端c++动态库实现SDK
  22. 海康SDK回放操作流程:
    如果是远程回放取流,可以调用NET_DVR_SetPlayBackESCallBack设置录像数据的ES裸码流回调函数,回调获取每一帧数据(I帧、P帧、音频帧)以及该帧数据的分辨率宽高、时间戳、OSD时间等。我司播放库不支持解码去掉封装的ES裸码流数据,裸码流数据获取之后解码显示需自行实现
  23. 报警信息:
    a.设置函数:
        设置监听:NET_DVR_StartListen_V30
        设置布防:NET_DVR_SetupAlarmChan_V30
        获取数据需同时启用回调函数:NET_DVR_SetDVRMessageCallBack_V30
    b:报警信息一般都是字段说明和图片信息
    c.如果需要获取移动侦测报警图片,需要自己在回调函数中调用抓图接口抓图
    d.报警回调函数中有返回那台设备录像机的IP地址。如需获取设备下具体那台摄像头则有通道号可区分具体那个设备上传的报警,在报警信息结构体里面获取。
  24. 报警布防和监听的区别?
    a.布防是程序主动链接设备,建立布防链接
    b.监听是程序开始监听,与设备不发生关联,设备上配置好监听的地址,将报警上传到监听地址
  25. 移动侦测:
    a.移动侦测不能指定指定物品触发报警
    b.移动侦测可设置灵敏度调整变化幅度进行触发报警
  26. 海康SDK和萤石的区别?
    a.海康SDK连接设备是SDK主动连接设备,输入设备的IP地址和端口以及用户名和密码信息。前提是海康设备需要有固定的公网IP地址
    b.莹石是设备注册到莹石云上,莹石支持设备没有固定IP地址,但是需要设备连外网且支持莹石云功能
  27. 海康SDK和RTSP的区别?
    a.RTSP可以使用直接路径方式去取流,看实时预览视频画面(远程观看视频推荐使用)
    b.海康SDK也可以满足RTSP相应功能,可以实时预览视频,一路回放。但是额外如需多路录像回放、报警接收、图片接收等功能的话,接入方式就需要海康SDK
上一篇:海康网络摄像机SDK Linux对接


下一篇:海康摄像头SDK在Linux、windows下的兼容问题(二)已解决