ONVIF WS-Discovery 发现服务介绍

发布时间:2026/10/20 2:25:14
ONVIF WS-Discovery 发现服务介绍 ONVIF WS-Discovery 发现服务介绍ONVIF WS-Discovery 是 ONVIFOpen Network Video Interface Forum开放式网络视频接口论坛标准中用于在局域网内自动发现网络视频设备如 IP 摄像机、NVR 等的核心机制。它基于 OASIS 制定的WS-DiscoveryWeb Services Dynamic Discovery协议规范让客户端无需预先知道设备的 IP 地址就能找到网络上的 ONVIF 兼容设备。一、基本原理WS-Discovery 是一种多播发现协议工作在 UDP 之上通过向特定的多播地址发送 SOAP 格式的探测消息来发现设备。关键参数项目值多播地址 (IPv4)239.255.255.250多播地址 (IPv6)FF02::CUDP 端口3702消息格式SOAP 1.2 over UDPXML 命名空间http://schemas.xmlsoap.org/ws/2005/04/discovery二、工作模式WS-Discovery 定义了两种运行模式1. Ad-hoc 模式无中心模式这是 ONVIF 最常用的方式。客户端直接向多播地址发送 Probe 消息网络中的所有 ONVIF 设备监听该地址并做出响应。适用于局域网内的即插即用场景。2. Managed 模式托管模式需要一个 Discovery Proxy发现代理作为中心节点设备向其注册客户端向代理查询。适用于跨子网或大规模网络环境。三、核心消息类型WS-Discovery 定义了四种主要的 SOAP 消息Hello设备上线时主动发送的多播通知告知网络我来了包含设备的 EndpointReference唯一标识符、Types设备类型、Scopes作用域和 XAddrs服务地址。Bye设备下线前发送的多播通知告知网络我要走了。Probe客户端发送的多播探测请求用于查找符合特定条件Types 和 Scopes 过滤的设备。ProbeMatch设备收到 Probe 后若匹配过滤条件则以单播 UDP 方式回复客户端包含自身的服务访问地址XAddrs。此外还有Resolve和ResolveMatch用于通过 EndpointReference 查询具体的传输地址。四、ONVIF 中的具体应用在 ONVIF 规范中WS-Discovery 用于设备发现阶段是 ONVIF 交互流程的第一步。典型发现流程时序图┌──────────────┐ ┌──────────────┐ │ 客户端软件 │ │ ONVIF 摄像头 │ │ (NVR/VMS) │ │ (IPC) │ └──────┬───────┘ └──────┬───────┘ │ │ │ ① Probe 探测请求 (多播到 239.255.255.250:3702) │───────────────────────────────────────── │ │ │ ② ProbeMatch 响应 (单播返回给客户端) │ 包含: XAddrs (设备服务地址URL) │ ───────────────────────────────────────│ │ │ │ ③ 通过 XAddrs 获取设备能力 (GetCapabilities) │───────────────────────────────────────── │ │ │ ④ 获取媒体地址、RTSP流地址等 │ ───────────────────────────────────────│流程步骤详解① Probe 探测客户端如 VMS 软件构造一个 Probe SOAP 消息Types 字段通常设为dn:NetworkVideoTransmitter网络视频发射器即 IP 摄像机或tds:Device通过 UDP 多播发送到239.255.255.250:3702。② ProbeMatch 响应网络内所有 ONVIF 设备接收该消息匹配条件的设备以单播方式回复 ProbeMatch。响应中的XAddrs字段包含设备的 Device Service 地址通常形如http://192.168.1.100/onvif/device_service。③ GetCapabilities 能力查询客户端拿到 XAddrs 后通过 HTTP/SOAP 调用GetCapabilities接口获取设备支持的服务能力Media、PTZ、Imaging、Events 等及各自的服务地址。此阶段通常需要通过 WS-UsernameToken 进行认证。④ 获取媒体流信息客户端再调用 Media Service 的GetProfiles、GetStreamUri等接口最终获取到 RTSP 播放地址如rtsp://192.168.1.100:554/Streaming/Channels/101从而开始拉取实时视频流。五、Scopes 作用域机制ONVIF 对 WS-Discovery 的 Scopes 字段做了扩展定义用于描述设备的属性。常见 Scopes 包括onvif://www.onvif.org/type/video_encoder— 设备类型onvif://www.onvif.org/hardware/model— 硬件型号onvif://www.onvif.org/name/name— 设备名称onvif://www.onvif.org/location/location— 安装位置onvif://www.onvif.org/Profile/Streaming— 支持的 Profile客户端可以在 Probe 中指定 Scopes 过滤条件只发现符合特定属性的设备。六、实现要点与注意事项网络要求由于依赖多播WS-Discovery 通常只能在同一广播域子网内工作。跨路由器的场景需路由器支持多播转发或使用 Discovery Proxy。MessageID 与 RelatesTo每条 SOAP 消息带有唯一的 MessageIDUUID 形式响应消息通过 RelatesTo 字段关联到请求用于去重和匹配。响应延迟为避免大量设备同时回复造成网络风暴规范要求设备在 0 到 APP_MAX_DELAY默认 500ms之间的随机时间后再回复。安全性WS-Discovery 本身不做认证任何设备都可回复。因此发现后必须通过 ONVIF 的 WS-Security用户名令牌进行认证才能访问设备功能。防火墙需要放行 UDP 3702 端口以及多播流量。七、常用开发库实现 ONVIF WS-Discovery 时常用的库和工具包括gSOAPC/C— ONVIF 官方推荐的 SOAP 框架含 wsdd 插件python-ws-discovery / onvif-zeepPythononvif-java、onvif-nvcJavaONVIF Device Manager、ONVIF Device Test Tool— 常用测试工具

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询