🎥 泉视 NVR 系统:海康威视 SDK 设备接入指南
适用项目:ruoyi-qs-nvr
核心依赖:ZLMediaKit 流媒体服务器
本指南将详细介绍如何利用泉视 NVR 系统的 海康威视 SDK 功能接入设备。相比 RTSP 协议,SDK 接入利用海康官方的 CHCNetSDK ,支持更多的私有协议特性,是海康设备最推荐的接入方式。
▶️视频教程
哔哩哔哩地址:ruoyi-qs-nvr 设备接入-海康sdk设备
📋 接入前准备
在开始之前,请确保您已获取以下信息并完成环境配置:
- 设备信息:
- IP 地址:海康摄像机/NVR 的局域网 IP。
- 端口号:设备服务端口(通常为
8000,非 HTTP 端口)。 - 用户名/密码:具有管理员权限的账号密码(通常为
admin和您设置的密码)。
- 系统配置:
- 确保运行
ruoyi-haikang服务的服务器操作系统为 Windows 或 Linux。
- 确保运行
🚀 接入步骤
泉视系统的海康 SDK 接入流程如下:
1. 确认微服务运行
- 检查
ruoyi-haikang模块是否已成功启动。 - 查看日志,确保海康sdk运行成功。
2. 在系统中添加设备
登录系统:进入泉视 NVR 后台管理界面。
进入设备管理:点击菜单栏的 【设备管理】。
点击新增:点击左上角 【新增】 按钮。
填写设备信息:
- 设备名称:自定义(如
海康-大厅主摄)。 - 直播流类型:必须选择
海康SDK。 - IP 地址:输入海康设备 IP。
- 端口:输入设备端口(默认
8000)。 - 用户名:输入
admin或其他有权限的账号。 - 密码:输入设备密码。
- 通道号必须填(海康ipc通道一般是1开始,nvr有些是33开始,注意一下)
- 设备名称:自定义(如
点击【确定】,列表查看设备,点击播放设备,即可完成播放。
注意:ruoyi-zlm 运行成功,连接ZLMediaKit没有问题
3. 建立连接
- 自动连接:保存后,
ruoyi-haikang服务会立即尝试通过 SDK 协议登录设备。 - 完成入库:登录成功后,设备状态将变为“在线”,存入数据库。
⚙️ 常见问题与排查
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 节点,负载均衡。
