Onvif学习

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。这样就可以参考许振坪大佬的文章去敲代码啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值