onvif相关的http api有哪些功能点

ONVIF 提供了一系列 HTTP API,用于访问和控制支持 ONVIF 的设备。这些 API 基于 SOAP 协议,通过 HTTP 协议传输。主要的 API 分为几个关键的服务类别,每个类别都有特定的操作。以下是 ONVIF 相关的 HTTP API 概述:

1. 设备管理服务 (Device Management Service)

设备管理服务用于获取和设置设备的基本信息和配置。

  • GetCapabilities: 获取设备的能力,包括可用的服务类型。

  • GetDeviceInformation: 获取设备的基本信息,如制造商、型号、固件版本等。

  • GetSystemDateAndTime: 获取设备的当前系统时间和日期。

  • SetSystemDateAndTime: 设置设备的系统时间和日期。

  • GetNetworkInterfaces: 获取设备的网络接口信息。

  • SetNetworkInterfaces: 配置设备的网络接口。

  • Reboot: 重启设备。

2. 媒体服务 (Media Service)

媒体服务用于获取和配置设备的视频流和音频流。

  • GetProfiles: 获取设备的所有媒体配置文件(Profiles)。

  • GetStreamUri: 获取指定媒体配置文件的视频流 URI。

  • GetSnapshotUri: 获取静态图片的 URI(快照)。

  • StartMulticastStreaming: 开始多播流媒体传输。

  • StopMulticastStreaming: 停止多播流媒体传输。

  • SetVideoEncoderConfiguration: 配置视频编码设置。

3. PTZ 控制服务 (PTZ Service)

PTZ 服务用于控制设备的云台功能。

  • GetConfigurations: 获取 PTZ 配置。

  • GotoPreset: 移动摄像机到预设位置。

  • ContinuousMove: 开始持续移动摄像机。

  • RelativeMove: 相对移动摄像机。

  • AbsoluteMove: 绝对移动摄像机。

  • Stop: 停止摄像机的 PTZ 移动。

4. 事件服务 (Event Service)

事件服务用于管理和订阅设备的事件通知。

  • GetEventProperties: 获取事件源、数据和触发条件的信息。

  • CreatePullPointSubscription: 创建一个拉取式事件订阅。

  • PullMessages: 从订阅的 PullPoint 中获取事件消息。

  • Unsubscribe: 取消事件订阅。

5. 分析服务 (Analytics Service)

分析服务用于访问和配置设备的智能分析功能。

  • GetAnalyticsModules: 获取设备上配置的分析模块。

  • GetSupportedAnalyticsModules: 获取设备支持的分析模块类型。

  • GetAnalyticsEngines: 获取设备上的分析引擎信息。

使用 SOAP 访问 ONVIF HTTP API

ONVIF API 使用 SOAP(Simple Object Access Protocol)消息传递格式。以下是一个访问 ONVIF API 的示例 SOAP 请求:

复制代码
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tds="http://www.onvif.org/ver10/device/wsdl">
   <soap:Header/>
   <soap:Body>
      <tds:GetDeviceInformation/>
   </soap:Body>
</soap:Envelope>

访问 ONVIF API 的步骤

  1. 获取设备的 XAddr: 首先需要通过 WS-Discovery 获取设备的服务地址(XAddr),这通常是在设备的 IP 地址和端口上,例如 http://<device-ip>:<device-port>/onvif/device_service

  2. 发送 HTTP 请求: 使用 HTTP POST 方法发送 SOAP 消息到设备的服务地址。

  3. 解析 SOAP 响应: 解析设备返回的 SOAP 消息,以获取请求的结果。

常用工具

  • ONVIF Device Manager: 一个免费的 Windows 工具,用于发现和管理网络中的 ONVIF 设备。

  • Postman: 可以用来手动发送和测试 SOAP 请求。

通过这些服务和 API,您可以远程管理和控制 ONVIF 兼容的设备,实现设备监控和集成。

相关推荐
Acrelhuang6 小时前
覆盖全场景需求:Acrel-1000 变电站综合自动化系统的技术亮点与应用
大数据·网络·人工智能·笔记·物联网
阿猿收手吧!6 小时前
【Linux网络】shutdown()与close()的区别
linux·网络
AuroraDPY9 小时前
计算机网络:基于TCP协议的自定义协议实现网络计算器功能
网络·tcp/ip·计算机网络
张人玉9 小时前
TCP 的三次握手和四次挥手
网络·tcp/ip·c#
qq_2546744111 小时前
华为交换机上配置基于 IP 地址的 ACL
网络
宁雨桥11 小时前
WebSocket 核心 API 速查表
网络·websocket·网络协议
打不了嗝 ᥬ᭄11 小时前
【Linux】网络层协议
linux·网络·c++·网络协议·http
九河云13 小时前
华为云ECS与Flexus云服务器X实例:差异解析与选型指南
大数据·运维·服务器·网络·人工智能·华为云
头发还没掉光光14 小时前
Linux网络初始及网络通信基本原理
linux·运维·开发语言·网络·c++
七夜zippoe14 小时前
Ascend C流与任务管理实战:构建高效的异步计算管道
服务器·网络·算法