🖥️ 泉视 NVR 系统:ONVIF 设备接入与自动发现指南
适用项目:ruoyi-qs-nvr
核心依赖:ZLMediaKit 流媒体服务器
本指南将详细介绍如何利用泉视 NVR 系统的 ONVIF 协议 功能,自动发现局域网内的摄像头并完成接入。相比手动输入 RTSP 地址,ONVIF 接入支持自动获取流地址。
▶️视频教程
哔哩哔哩地址:ruoyi-qs-nvr 设备接入-onvif设备
📋 接入前准备
在开始之前,请确保您的环境满足以下条件:
- 设备支持:摄像头需支持 ONVIF Profile S 协议(绝大多数海康、大华、TP-LINK 摄像头均支持)。
- 网络环境:摄像头与运行
ruoyi-onvif服务的服务器必须在同一个局域网内(跨网段通常无法探测)。 - 服务运行:确保
ruoyi-onvif微服务已启动,且能与 Nacos/ZLMediaKit 通信。 - ruoyi-zlm 运行成功,连接ZLMediaKit没有问题。
- ZLMediaKit 服务正常运行。
🚀 接入步骤
泉视系统支持ONVIF方式。
手动添加设备 (推荐)
- 登录系统:进入泉视 NVR 后台管理界面。
- 进入设备管理:点击菜单栏的 【设备管理】。
- 点击新增:点击左上角 【新增】 按钮。
- 填写设备信息:
- 设备名称:自定义(如 大厅摄像头)。
- 直播流类型:选择 ONVIF。
- onvif设备IP(如 192.168.1.109)
- 输入账号和密码
- onvif验证类型方式有2种,注意:设备的支持(1=WS-UsernameToken,2=Digest)
- 点击认证(认证成功返回直播流地址)
- 选择流地址 (关键步骤):
- 认证之后有地址返回,选择一下播放的地址。
- 点击【确定】,列表查看设备,点击播放设备,即可完成播放。
- 注意:ruoyi-zlm 运行成功,连接ZLMediaKit没有问题
⚙️ 常见问题与排查
1. 点击新增“ONVIF”后,没有扫到任何设备
- 防火墙/网络:检查服务器防火墙是否阻止了 UDP 端口(通常为 3702 或 7500)。ONVIF 探测基于 UDP 广播,跨 VLAN 或路由器通常无法穿透。
- ONVIF 服务未启动:检查
ruoyi-onvif模块的日志,确认服务是否正常启动,且已注册到 Nacos。 - 设备未开启 ONVIF:登录摄像头的网页后台,确认 “ONVIF” 开关已打开。
2. 扫描到了设备,但添加失败/播放失败
- 密码错误:这是最常见的原因。请确保输入的用户名密码是摄像头的管理员密码,且区分大小写。
- RTSP 地址获取失败:部分老旧固件的 ONVIF 接口可能无法正确返回 RTSP 地址。选择“RTSP 协议”,并手动填写 RTSP 地址。
- URL 错误:复制 RTSP 地址到 VLC 播放器 中测试。如果 VLC 也无法播放,说明地址或密码错误。
- 网络拥塞:检查交换机带宽或尝试更换网线。
- 检查配置:确保 application.yml 中配置的 media.ip 是 ZLM 服务器所在的 IP,且 media.secret 与 ZLM 配置文件中的 api.secret 一致。
📝 补充说明
- 混合接入:如果局域网内设备品牌杂乱,建议先使用 ONVIF 扫描,剩下的无法扫描到的设备,再使用 RTSP 或 SDK 方式手动添加。
- 开发调试:如果需要调试 ONVIF 探测底层逻辑,可以使用工具如
ONVIF Device Test Tool在电脑上测试,如果 ONVIF 工具 能搜到,泉视系统通常也能搜到。 - 流媒体节点:如果设备数量庞大,建议配置多个 ZLMediaKit 节点,负载均衡。
