Skip to content

🖥️ 泉视 NVR 系统:ONVIF 设备接入与自动发现指南

适用项目ruoyi-qs-nvr

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

本指南将详细介绍如何利用泉视 NVR 系统的 ONVIF 协议 功能,自动发现局域网内的摄像头并完成接入。相比手动输入 RTSP 地址,ONVIF 接入支持自动获取流地址。


▶️视频教程

哔哩哔哩地址:ruoyi-qs-nvr 设备接入-onvif设备

📋 接入前准备

在开始之前,请确保您的环境满足以下条件:

  1. 设备支持:摄像头需支持 ONVIF Profile S 协议(绝大多数海康、大华、TP-LINK 摄像头均支持)。
  2. 网络环境:摄像头与运行 ruoyi-onvif 服务的服务器必须在同一个局域网内(跨网段通常无法探测)。
  3. 服务运行:确保 ruoyi-onvif 微服务已启动,且能与 Nacos/ZLMediaKit 通信。
  4. ruoyi-zlm 运行成功,连接ZLMediaKit没有问题。
  5. ZLMediaKit 服务正常运行

🚀 接入步骤

泉视系统支持ONVIF方式。

手动添加设备 (推荐)

  1. 登录系统:进入泉视 NVR 后台管理界面。
  2. 进入设备管理:点击菜单栏的 【设备管理】。
  3. 点击新增:点击左上角 【新增】 按钮。
  4. 填写设备信息:
    • 设备名称:自定义(如 大厅摄像头)。
    • 直播流类型:选择 ONVIF
    • onvif设备IP(如 192.168.1.109)
    • 输入账号和密码
    • onvif验证类型方式有2种,注意:设备的支持(1=WS-UsernameToken,2=Digest)
    • 点击认证(认证成功返回直播流地址)
  5. 选择流地址 (关键步骤):
    • 认证之后有地址返回,选择一下播放的地址。
  6. 点击【确定】,列表查看设备,点击播放设备,即可完成播放。
  7. 注意: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 节点,负载均衡。

基于 MIT 许可发布