Skip to content

🎥 泉视 NVR 系统:海康威视 SDK 设备接入指南

适用项目ruoyi-qs-nvr

核心依赖:ZLMediaKit 流媒体服务器

本指南将详细介绍如何利用泉视 NVR 系统的 海康威视 SDK 功能接入设备。相比 RTSP 协议,SDK 接入利用海康官方的 CHCNetSDK ,支持更多的私有协议特性,是海康设备最推荐的接入方式。


▶️视频教程

哔哩哔哩地址:ruoyi-qs-nvr 设备接入-海康sdk设备

📋 接入前准备

在开始之前,请确保您已获取以下信息并完成环境配置:

  1. 设备信息
    • IP 地址:海康摄像机/NVR 的局域网 IP。
    • 端口号:设备服务端口(通常为 8000,非 HTTP 端口)。
    • 用户名/密码:具有管理员权限的账号密码(通常为 admin 和您设置的密码)。
  2. 系统配置
    • 确保运行 ruoyi-haikang 服务的服务器操作系统为 WindowsLinux

🚀 接入步骤

泉视系统的海康 SDK 接入流程如下:

1. 确认微服务运行

  1. 检查 ruoyi-haikang 模块是否已成功启动。
  2. 查看日志,确保海康sdk运行成功。

2. 在系统中添加设备

  1. 登录系统:进入泉视 NVR 后台管理界面。

  2. 进入设备管理:点击菜单栏的 【设备管理】

  3. 点击新增:点击左上角 【新增】 按钮。

  4. 填写设备信息

    • 设备名称:自定义(如 海康-大厅主摄)。
    • 直播流类型必须选择 海康SDK
    • IP 地址:输入海康设备 IP。
    • 端口:输入设备端口(默认 8000)。
    • 用户名:输入 admin 或其他有权限的账号。
    • 密码:输入设备密码。
    • 通道号必须填(海康ipc通道一般是1开始,nvr有些是33开始,注意一下)
  5. 点击【确定】,列表查看设备,点击播放设备,即可完成播放。

  6. 注意:ruoyi-zlm 运行成功,连接ZLMediaKit没有问题

3. 建立连接

  1. 自动连接:保存后,ruoyi-haikang 服务会立即尝试通过 SDK 协议登录设备。
  2. 完成入库:登录成功后,设备状态将变为“在线”,存入数据库。

⚙️ 常见问题与排查

1. 提示“初始化失败”或“找不到指定模块”

  • 原因:这是最常见的错误,通常是因为缺少海康 SDK 的动态库文件(.dll.so)。
  • 解决
    • 检查 ruoyi-haikang 项目的 lib 目录或配置文件中指定的路径,确保包含 HCNetSDK.dll (Windows) 或 libhcnetsdk.so ( Linux) 等文件。
    • 在 Linux 下,需执行 ldconfig 或设置 LD_LIBRARY_PATH 环境变量指向 SDK 库目录。

2. 提示“注册失败,错误码[...]"

  • 错误码 0xA (10):连接设备失败。请检查网络是否通畅,设备 IP 是否正确,以及设备服务端口(8000)是否被防火墙拦截。
  • 错误码 0x1 (1):用户名或密码错误。请确认输入的密码是否正确,注意海康设备如果忘记密码,需通过官网工具重置。
  • 错误码 0x8 (8):SDK 资源初始化失败。检查是否重复调用了 NET_DVR_Init,或者系统内存不足。

3. 设备在线但无法播放 (黑屏)

  • 加密开启:海康新固件默认可能开启“视频加密”。请登录摄像头网页后台,在 【配置】 -> 【图像】 -> 【视频加密】 中关闭。
  • 码流类型:SDK 默认可能拉取主码流。如果主码流分辨率过高(如 4K),解码压力大。可以在设备配置中降低主码流分辨率,或在代码/配置中修改为拉取子码流。

📝 补充说明

  • 资源占用:海康 SDK 是非托管资源,务必在 Spring Boot 的 @PreDestroy 或应用关闭钩子中调用 NET_DVR_Cleanup 释放资源,防止内存泄漏。
  • 版本兼容性:尽量使用较新版本的海康 SDK 开发包(如 64 位版本),以兼容海康最新的设备固件。
  • 流媒体节点:如果设备数量庞大,建议配置多个 ZLMediaKit 节点,负载均衡。

基于 MIT 许可发布