当前位置: 首页 > news >正文

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 兼容的设备,实现设备监控和集成。

相关文章:

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

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

AI大模型是如何改变我们的日常生活的?

随着AI大模型的不断发展和优化&#xff0c;它已经在各个领域展现出了巨大的潜力和广泛的应用。无论是在科技创新、医疗健康、金融服务、教育培训还是日常生活中&#xff0c;AI大模型都有着重要的作用。它不仅可以帮助人们提高工作效率、提供个性化的服务&#xff0c;还能够改善…...

kubernetes部署Nexus(Helm3)

参考文献&#xff1a; https://help.sonatype.com/en/single-data-center-on-premises-deployment-example-using-kubernetes.htmlhttps://github.com/sonatype/helm3-chartshttps://support.sonatype.com/hc/en-us/articles/7706583820691-How-to-install-Nexus-Pro-instance…...

PDF无法导出中文

font/SIMSUN.TTC with Identity-H is not recognized. 查看BaseFont源码发现".ttc," 改为"SIMSUN.TTC,a"提示数字转换异常 改为"SIMSUN.TTC,11"提示数字索引必须介于0和1之间 改为0或1结果正常 BaseFont baseFont BaseFont.createFont("/U…...

【docker】mysql8.0 的 docker 安装

安装 指定mysql 的安装版本8.0.18 拉取镜像 docker pull mysql:8.0。18创建目录 mkdir -p /opt/docker_volumn/mysql/conf mkdir -p /opt/docker_volumn/mysql/log mkdir -p /opt/docker_volumn/mysql/data mkdir -p /opt/docker_volumn/mysql/mysql-files此步骤是为了将容…...

vue3中父组件与子组件关系的理解 ------类比java中的启动类,类,对象等概念来解释一下

编程时的一点感受&#xff1a; 感觉子组件本身像是java的一个类&#xff0c;父组件像是启动类&#xff0c;父组件里引用子组件像是创建子组件的对象 查找资料后&#xff0c;发现确实如此&#xff0c;在很多方面&#xff0c;Vue 组件确实可以与面向对象编程中的类进行类比。…...

Java设计模式——装饰模式

目录 模式动机 模式定义 模式结构 类图 代码分析 示例&#xff1a;动态添加功能的流 组件接口 具体组件 装饰抽象类 具体装饰类 客户端 模式分析 核心思想 动态扩展功能 组合优于继承 优点 动态扩展功能 组合优于继承 代码复用性高 符合开闭原则 缺点 增加…...

【TouchSocket 和 client.GetStream 区别】

TouchSocket 和 client.GetStream() 是用于网络通信的不同工具和方法&#xff0c;但它们的功能层面和适用范围也有明显区别。下面我来详细解释 TouchSocket 和 client.GetStream() 的差异。 1. TouchSocket TouchSocket 是一个完整的 网络通信框架&#xff0c;专注于为开发者…...

怎么利用商品详情API接口实现数据获取与应用?

在当今数字化的商业时代&#xff0c;高效获取和利用商品数据对于企业和开发者来说至关重要。商品详情 API 接口为我们提供了一种便捷的方式来获取丰富的商品信息&#xff0c;从而实现各种有价值的应用。本文将深入探讨如何利用商品详情 API 接口实现数据获取与应用。 一、商品…...

【AGC005D】~K Perm Counting(计数抽象成图)

容斥原理。 求出f(m) &#xff0c;f(m)指代至少有m个位置不合法的方案数。 怎么求&#xff1f; 注意到位置为id&#xff0c;权值为v ,不合法的情况&#xff0c;当且仅当 v idk或 v id-k 因此&#xff0c;我们把每一个位置和权值抽象成点 &#xff0c;不合法的情况之间连一…...

【React】setState (useState) 是怎么记住上一个状态值的?

在 React 中&#xff0c;setState 通过 React 内部的状态管理机制来记住上一个状态值。即使每次组件重新渲染时&#xff0c;函数组件会被重新执行&#xff0c;React 仍能通过其内部的状态管理系统保持和追踪组件的状态变化。下面详细解释其工作原理&#xff1a; 1. setState 的…...

Vue3 使用CryptoJS加密

为什么要加密&#xff1f; 现在的互联网世界充满了各种各样的信息&#xff0c;有些信息非常重要&#xff0c;比如密码、个人信息等。如果我们把这些信息直接发送到服务器&#xff0c;别人可能会截取到&#xff0c;然后偷走我们的信息。为了避免这种情况发生&#xff0c;我们需…...

Feign的使用

一、Feign 介绍 Feign 是一个声明式的 HTTP 客户端&#xff0c;它使得编写 HTTP 客户端变得更加简单。在微服务架构中&#xff0c;使用 Feign 可以轻松地调用其他服务。Feign 内置了 Ribbon 实现负载均衡。 二、Feign 的使用步骤 引入依赖&#xff1a; 在项目的 pom.xml 文件…...

前端反接保护:实用方案解析与探讨

前端反接保护通常采用肖特基二极管方案或PMOS/NMOS方案&#xff0c;本文另外介绍一种理想二极管方案。 1、肖特基二极管方案 由于肖特基二极管具有正向导通电压&#xff0c;只能用于小电流场合&#xff0c;甚至于直接使用普通的整流二极管。比如1A电流&#xff0c;设D1的正向…...

【C++】第五节:内存管理

1、C/C内存分布 看下面一段代码 int globalVar 1; static int staticGlobalVar 1; void Test() {static int staticVar 1;int localVar 1;int num1[10] { 1, 2, 3, 4 };char char2[] "abcd";const char* pChar3 "abcd";int* ptr1 (int*)malloc(s…...

【Java SE】方法 和 递归 的应用

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. 方法的含义 1.1 例子 1.2 方法的概念 2. 方法的定义 3. 实参和形参 3.1 实参和形参的关系 4. 方法的重载 5. 递归 5.1 递归练习 6. 小结 1. 方法的…...

JVS低代码轻应用是什么?是如何拼装的?这篇文章讲的非常详细

1.1JVS轻应用是什么&#xff1f; 轻应用与传统应用的开发过程区别 传统开发&#xff08;原生开发&#xff09;采用的方式&#xff1a;①需求了解 ②产品原型③UI设计④建库建表⑤前端还原⑥后端开发⑦前后端联调⑧功能测试⑨部署上线轻应用开发方式&#xff08;配置化拼装&…...

K210(openMV)与STM32 通信教程

目录 前言&#xff1a; 一、K210 串口部分教程 二、STM32部分 前言&#xff1a; 很多打比赛的同学&#xff0c;通常只是用K210 或者openMV来进行视觉部分的信息采集&#xff0c;传输数据给STM32&#xff08;或者其他主控那边&#xff09;进行对分析&#xff0c;对小车或者舵…...

【HarmonyOS】HMRouter使用详解(三)生命周期

生命周期&#xff08;Lifecycle&#xff09; 使用HMRouter的页面跳转时&#xff0c;想实现和Navigation一样的生命周期时&#xff0c;需要通过新建生命周期类来实现对页面对某一个生命周期的监控。 新建Lifecycle类 通过继承IHMLifecycle接口实现生命周期接口的方法重写。 通过…...

Docker 教程三 (Ubuntu Docker安装)

Ubuntu Docker 安装 Docker Engine-Community 支持以下的 Ubuntu 版本&#xff1a; Xenial 16.04 (LTS)Bionic 18.04 (LTS)Cosmic 18.10Disco 19.04 其他更新的版本…… Docker Engine - Community 支持上 x86_64&#xff08;或 amd64&#xff09;armhf&#xff0c;arm64&am…...

嵌入式常见 CPU 架构

架构类型架构厂商芯片厂商典型芯片特点与应用场景PICRISC (8/16 位)MicrochipMicrochipPIC16F877A、PIC18F4550简化指令集&#xff0c;单周期执行&#xff1b;低功耗、CIP 独立外设&#xff1b;用于家电、小电机控制、安防面板等嵌入式场景8051CISC (8 位)Intel&#xff08;原始…...

Linux部署私有文件管理系统MinIO

最近需要用到一个文件管理服务&#xff0c;但是又不想花钱&#xff0c;所以就想着自己搭建一个&#xff0c;刚好我们用的一个开源框架已经集成了MinIO&#xff0c;所以就选了这个 我这边对文件服务性能要求不是太高&#xff0c;单机版就可以 安装非常简单&#xff0c;几个命令就…...

上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式

简介 在我的 QT/C 开发工作中&#xff0c;合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式&#xff1a;工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

GraphQL 实战篇:Apollo Client 配置与缓存

GraphQL 实战篇&#xff1a;Apollo Client 配置与缓存 上一篇&#xff1a;GraphQL 入门篇&#xff1a;基础查询语法 依旧和上一篇的笔记一样&#xff0c;主实操&#xff0c;没啥过多的细节讲解&#xff0c;代码具体在&#xff1a; https://github.com/GoldenaArcher/graphql…...

【HarmonyOS 5】鸿蒙中Stage模型与FA模型详解

一、前言 在HarmonyOS 5的应用开发模型中&#xff0c;featureAbility是旧版FA模型&#xff08;Feature Ability&#xff09;的用法&#xff0c;Stage模型已采用全新的应用架构&#xff0c;推荐使用组件化的上下文获取方式&#xff0c;而非依赖featureAbility。 FA大概是API7之…...

客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践

01技术背景与业务挑战 某短视频点播企业深耕国内用户市场&#xff0c;但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大&#xff0c;传统架构已较难满足当前企业发展的需求&#xff0c;企业面临着三重挑战&#xff1a; ① 业务&#xff1a;国内用户访问海外服…...

深度解析云存储:概念、架构与应用实践

在数据爆炸式增长的时代&#xff0c;传统本地存储因容量限制、管理复杂等问题&#xff0c;已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性&#xff0c;成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理&#xff0c;云存储正重塑数据存储与…...

PostgreSQL 与 SQL 基础:为 Fast API 打下数据基础

在构建任何动态、数据驱动的Web API时&#xff0c;一个稳定高效的数据存储方案是不可或缺的。对于使用Python FastAPI的开发者来说&#xff0c;深入理解关系型数据库的工作原理、掌握SQL这门与数据库“对话”的语言&#xff0c;以及学会如何在Python中操作数据库&#xff0c;是…...

5. TypeScript 类型缩小

在 TypeScript 中&#xff0c;类型缩小&#xff08;Narrowing&#xff09;是指根据特定条件将变量的类型细化为更具体的过程。它帮助开发者编写更精确、更准确的代码&#xff0c;确保变量在运行时只以符合其类型的方式进行处理。 一、instanceof 缩小类型 TypeScript 中的 in…...