Onvif学习

news2024/11/17 18:27:16

ONVIF

onvif(Open Network Video Interface Forum,开放型网络视频接口论坛)协议.

onvif协议涵盖了设备发现、设备配置、事件、PTZ控制、视频分析和实时流媒体直播功能,以及搜索,回放和录像录音管理功能。

先去看许振坪大佬的文章:
ONVIF协议网络摄像机(IPC)客户端程序开发(1):专栏开篇

如果你也是看完第六章,继续往下看也不知其意的话,我这篇文章应该会对你有所帮助。

说明
Profile AProfile A 用于电子准入控制系统,用于高级门禁控制配置
Profile A 设备能进行信息检索(状态、事件)、实体配置如准入规则、证书、schedules(计划)等配置。
Profile A 客户端则可以通过网络使用Profile A 设备的上述功能。
Profile CProfile C 用于电子准入控制系统,用于物理门禁控制配置
Profile C 标准的设备和客户端适合于site information(站点信息), door access control(门禁控制), and event and alarm management(事件、报警管理)场景
Profile DProfile D是一款专门针对访问控制外设接口。
Profile D开发的目的是希望用ONVIF标准为外围设备,例如锁、资格/生物识别器、密码键盘、车牌识别摄像头、电话门禁、传感器和显示器等,提供互操作性。
Profile D 对之前发布的Profile A和Profile C的功能进行了补充,实现了IP电子访问控制系统内部的标准化通讯。
Profile GProfile G 同样也是为基于IP的视频系统设计,用于录制和存储
Profile G 设备可以保存视频录像文件,Profile G 客户端可以通过网络配置、请求、控制 Profile G 设备录像数据的功能。
Profile G 还包括接收音频和metadata流的规范。
Profile QProfile Q 提供了设备发现、基本配置功能的标准。用于简易安装与高级安防功能
Profile Q 设备(network camera, network switch, network monitor)能够被Profile Q 客户端通过网络快速发现、配置、控制。
Profile Q 标准支持TLS交互方式。
Profile SProfile S 主要为基于IP的视频系统设计
Profile S 设备(如IPC、视频编码器),一般用于传输视频流给 Profile S 客户端(如IVMS)。
Profile S 客户端具有通过网络配置、请求、控制 Profile S 设备视频流的功能。
Profile S 框架囊括 PTZ control(云台控制)、audio in(音频输入)、多播、转播的规范。
Profile TProfile T 同样也是为基于IP的视频系统设计
Profile T 设备支持H.264 and H.265 编码格式,成像设置, 报警事件,如运动和篡改检测。
Profile T设备的强制规定包括onscreen display and metadata streaming(屏幕显示和元数据流)。
Profile T客户端的强制规定包括PTZ控制。
Profile T 还包括HTTPS streaming, PTZ configuration, motion region configuration, digital inputs and relay outputs, and bidirectional audio for conformant devices and clients规范。
注: 官方强调,Profile T规范不是对Profile S规范的取代,而是针对不同应用领域的扩展,当然两个标准也可以合并使用。

Onvif官网接口:https://www.onvif.org/profiles/specifications/

我们写的系统都是需要围绕 Profile 来进行编程的,因为一个设备至少要实现一个Profile的功能。每一个Profile都有一些必须实现的功能,所以呢他就有了一个 Requirement Levels 来标记我们必须要实现的一些功能,Requirement Levels在每一个Profile Specification文档中都有定义。

  • Mandatory(M):ONVIF设备或ONVIF客户端应实现的功能。
  • Conditional(C):如果支持该功能,则应由ONVIF设备或ONVIF客户端实现的函数。
  • Optional(O):可以由ONVIF设备或ONVIF客户端实现的功能。

看以下Profile A Specification中截的图:

在这里插入图片描述

由此可见,我们让我们的系统支持Profile A那么,就必须实现MANDATORY标记的模块中的Requirment为M的函数,Device是服务端,Client是客户端。

我们先看一下下面的关系图

在这里插入图片描述

文中原图链接:https://wenku.baidu.com/view/a2ba36327fd5360cba1adb5a.html

看完这些之后呢,相信你一定会有所收获,建议去下载《ONVIF2.0协议珍藏版》看,里面全中文。

ONVIF常用接口:https://www.onvif.org/onvif/ver20/util/operationIndex.html

windows 系统使用gSOAP生成onvif C++框架

WINDOWS下编译支持SSL/TLS的WSDL2H

OpenSSL下载地址:http://slproweb.com/products/Win32OpenSSL.html

OpenSSL选1.1.1的,3.0的版本编译无法通过。

WINDOWS下编译支持SSL/TLS的WSDL2H:https://www.freesion.com/article/82981316621/

gSOAP生成onvif C++框架

https://blog.csdn.net/weixin_44517656/article/details/115120199

使用

VS中使用OpenSSL,添加 C/C++ 预处理器

WITH_DOM
WITH_OPENSSL

记得引入OpenSSL头和库的目录,链接OpenSSL。这样就可以参考许振坪大佬的文章去敲代码啦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/78047.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git 常用操作

Git 是一个分布式版本控制系统,用于项目开发中的版本控制。从本质上来讲Git是一个内容寻址(content-addressable)文件系统,并在此之上提供了一个版本控制系统的用户界面。 Git的核心部分是一个简单的键值对数据库(key-value data store)。 你可以向该数据…

XML配置文件、用来约束XML文档:DTD、Schema(类型更多)

上一章properties作为配置文件的内容好像还没讲? properties相对于XML的缺点:如果要运行多个方法,只能在properties配置文件里等号后面加逗号(或指定符号)隔开,然后再加值,这样累加下去会导致阅…

基于分布式数据库集群的大数据职位信息统计

目录 任务一: MongoDB 分布式集群关键配置信息截图(启动参数文件、初始化参数文件、启动命令等) ch0的参数文件配置: ​编辑 ch1的参数文件配置: ​编辑chconfig的参数文件配置: router的参数文件配置…

SpringSecurity整合Oauth2.0

SpringSecurity整合Oauth2.0一、概述与原理1.1 、OAuth2.0 是什么?1.2、OAuth2.0中角色解释1.3、OAuth2.0的4中授权模式1.3.1、授权码模式(重点)1.3.1.1 原理1.3.1.2 代码1.3.2、密码模式(重点)1.3.2.1 原理1.3.2.2 代…

开发运维(DevOps)自动化运维与持续交付企业级实战

一、网站部署流程 1、传统网站部署流程 传统的网站部署,大家在运维过程中,网站部署是运维的工作之一,网站部署的流程大致分为: 需求分析—原型设计—开发代码—提交测试—内网部署—确认上线—备份数据—外网更新-最终测试,如果发现外网部署的代码有异常,需要及时回滚…

[附源码]JAVA毕业设计心理健康系统(系统+LW)

[附源码]JAVA毕业设计心理健康系统(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

网络安全观察报告恶意软件观察

攻击类型分析 2018 年,主要的攻击类型 1 为 SYN Flood,UDP Flood,ACK Flood,HTTP Flood,HTTPS Flood, 这五大类攻击占了总攻击次数的 96%,反射类攻击不足 3%。和 2017 年相比&…

使用分页导入的方式把大量数据从mysql导入es

1、首先要有分页功能的代码 如何使用mybatis-plus实现分页,可参考 http://t.csdn.cn/ddnlk 2、要创建feign远程调用模块 可以参考 http://t.csdn.cn/gshFw 3、在feign模块中声明远程调用接口 1.在feign模块中创建一个接口,名字可以是你要调用的服务名&…

指定区域内实现多尺度、多维度2D图形随机填充(如圆、椭圆、多边形)之MATLAB实现

N久之前,咱在公众号中分享了如何用MATLAB实现在指定区域内随机填充圆,并将相关功能封装一个名为randCircle函数里面,其可实现的功能如下: (1) 设定是否允许填充圆相交、相切或独立存在 (2) 指定区域内圆的生成个数 (3) 设定是否允…

[附源码]计算机毕业设计基于vuejs的文创产品销售平台appSpringboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【面试题】说说 Promise是什么?如何使用

大厂面试题分享 面试题库 前端面试题库 (面试必备) 推荐:★★★★★ 地址:前端面试题库 前言 本文主要介绍和总结Promise的作用、使用方式和其对应的一些方法,供大家参考学习,如有写的不准确的地方欢迎大家指出&a…

Android 使用 jni Demo示例

Android 使用 jni Demo示例简介1. NDK的介绍1.1 NDK 简介1.2 NDK 特点2. JNI介绍2.1 JNI 简介2.2 为什么要有 JNI?3. NDK 与 JNI 的关系NDK下载及环境配置1. 使用Android studio SDK Manager下载2.配置NDK2.1 配置环境变量2.2 Android studio配置NDK示例Demo流程1.版…

RabbitMQ - 安装和使用

RabbitMQ - 安装和使用一. 安装二. RabbitMQ的简单使用2.1 创建交换机2.1.1 交换机类型2.1.2 持久化方式2.2 创建队列2.3 绑定交换机和队列2.4 SpringBoot整合2.5 另外一种监听写法一. 安装 一键安装: docker run -d --name rabbitmq -p 5671:5671 -p 5672:5672 …

rtl8221b+mcu,2.5g光纤收发器的开发备份

1、rtl8221b是一款2.5g的光电转换的phy 系统的构建如下 为了省成本,不用mac来对接其中的gmii接口直接接光模块 2、mdio和mdc由mcu的gpio来模拟,在csdn上有很多的文章来参考 mdio的参数如下 不想看英文可以参考下面的文章 MDIO(clause 22 与 clause 4…

Java基础之《netty(10)—Reactor三种模式》

一、单Reactor单线程模式 1、工作原理图 2、方案说明 (1)Select是前面I/O复用模型介绍的标准网络编程API,可以实现应用程序通过一个阻塞对象监听多路连接请求。 (2)Reactor对象通过Select监控客户端请求事件&#xf…

一元钱注册 chatGPT账号

文章目录打开 openai chatgpt 主页注册 chatGPT 账号找境外的电话号码激活账号查看服务价格账号注册充值成功参考视频 打开 openai chatgpt 主页 打开之前首先登录 vpn。但是使用 vpn 有可能还是会被告知 当前国家没有开放服务个人建议: 使用美国的 ip 地址我使用…

PIN TO PIN替代GM8775C|DSI转LVDS转换方案芯片CS5518|CS5518完全替代GM8775C

GM8775C 型 DSI 转双通道 LVDS 发送器产品主要实现将 MIPI DSI 转单/双通道 LVDS 功能,MIPI 支持 1/2/3/4 通道可选,最大支持 4Gbps 速率。LVDS 时钟频率最高 154MHz, 最大支持视频格式为 FULL HD(1920 x 1200) CS551…

网络安全观察报告

攻击类型分析 2018 年,主要的攻击类型 1 为 SYN Flood,UDP Flood,ACK Flood,HTTP Flood,HTTPS Flood, 这五大类攻击占了总攻击次数的 96%,反射类攻击不足 3%。和 2017 年相比&…

测评报告:文件导入哪家强?

文件导入哪家强? 引子 最近业务上遇到一个场景,需要将一个/多个文本文件导入到与其结构对应的表中。功能需求比较简单,大部分的关系数据库基本都支持这个功能。基于上面的场景把手头上的几款开源数据库和国产数据库的文件导入功能进行了性能对…

【通信基础】TTL、RS232、RS485

TTL1、TTL简介RS2321、RS232基本概念2、DB9串口定义及接线参考3、RS232经典电路4、特点RS4851、RS485简介2、特点3、传输距离4、经典电路5、传输差分电平信号TTL 1、TTL简介 TTL的英文全称是Transisor-Transisor Logic. 翻译过来就是晶体管与晶体管之间的逻辑电路。 TTL电平信…