【Codecs系列】之网络视频通用协议ONVIF分析

DATE: 2019-3-5


参考自:
ONVIF协议解读
360百科-onvif
ONVIF协议 简介
ONVIF官方网站

下面介绍转载自:ONVIF协议解读

一、什么是ONVIF?

1.1 形成
2008年5月,由安讯士(AXIS)联合博世(BOSCH)及索尼(SONY)公司三方宣布携手共同成立一个国际开放型网络视频产品标准网络接口开发论坛,取名为ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛),并以公开、开放的原则共同制定开放性行业标准。ONVIF标准将为网络频设备之间的信息交换定义通用协议,包括装置搜寻、实时视频、音频、元数据和控制信息等。截止到2011年3月,已有279个公司加入ONVIF成为会员。

2008年11月,论坛正式发布了ONVIF第一版规范。

2010年11月,论坛发布了ONVIF第二版规范。规范涉及设备发现、实时音视频、摄像头PTZ控制、录像控制、视频分析等方面。

1.2 规范作用
ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。

ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供,设备作为服务提供者为服务端。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行 。

1.3 规范优势

  • 协同性:不同厂商所提供的产品,均可以通过一个统一的“语言”来进行交流。方便了系统的集成。

  • 灵活性:终端用户和集成用户不需要被某些设备的固有解决方案所束缚。大大降低了开发成本。

  • 质量保证:不断扩展的规范将由市场来导向,遵循规范的同时也满足主流的用户需求。

由于采用WSDL+XML模式,使ONVIF规范的后续扩展不会遇到太多的麻烦。XML极强的扩展性与SOAP协议开发的便捷性将吸引更多的人来关注和使用ONVIF规范。

ONVIF组织日益扩大,与同领域的PSIA,HDCCTV相比,占据了绝对的人员优势。会员企业不乏国内外著名的设备制造商与集成商。一套规范、协议的生命周期,与市场占有率是息息相关的。而ONVIF规范的发展则正是由市场来导向,由用户来充实的。每一个成员企业都拥有加强、扩充ONVIF规范的权利。ONVIF规范所涵盖的领域将不断增大。目前门禁系统的相关内容也即将被纳入ONVIF规范之中。在安防、监控系统急速发展的今天,效率和质量的领先所带来的价值不言而喻。ONVIF协议提供了这样的潜质。

二、ONVIF规范的实现机制

2.1 Web Service
Web Service是基于网络的、分布式的模块化组件,执行特定的任务。Web Service 主要利用HTTP 和SOAP 协议使数据在Web上传输。Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象。

Web Service是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP。服务端、客户端以传递符合XML的SOAP消息实现服务的请求与回应。

客户端根据 WSDL 描述文档,会生成一个 SOAP 请求消息,该请求会被嵌入在一个HTTP POST请求中,发送到 Web Services 所在的Web 服务器。Web Services 请求处理器解析收到的SOAP 请求,调用相应的 Web Services。然后再生成相应的 SOAP 应答。Web 服务器得到SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。
在这里插入图片描述

2.2 WSDL
WSDL是Web services 描述语言(Web Service Description Language)的缩写。是一个用来描述Web服务和说明如何与Web服务通信的XML语言,为用户提供详细的接口说明书。

2.3 SOAP
SOAP是Simple Object Access Protocol的缩写。是基于XML的一种协议。一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  • 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息

  • 可选的 Header 元素,包含头部信息

  • 必需的 Body 元素,包含所有的调用和响应信息

  • 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息

在向Web Service发送的SOAP请求中,Body元素中的字段需与WSDL中数据类型的相符合。在构建SOAP的过程中,必须从WSDL文件中获取并映射这一种对应关系。然而这样一个对应过程将是充满了重复性和机械性的,为了避免不必要的人工差错以及节约开发时间,一个名为gSOAP的编译工具应运而生。

gSOAP利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。通过将WSDL文件解析序列化为C/C++文件,最小化了Web Service的开发过程。

在这里插入图片描述
2.4 ONVIF规范
ONVIF规范向视频监控引入了Web Service的概念。 设备的实际功能均被抽象为了Web Service的服务,视频监控系统的控制单元以客户端的身份出现,通过Web请求的形式完成控制操作。

在这里插入图片描述
2.4.1 Web Service能为视频监控什么?
a) 设备的无关性,任何一个设备接入系统,不会对其他系统造成影响。

b) 设备的独立性,每一个设备只负责对接收到的请求做出反馈,甚至不需要知晓控制端的存在。

c) 管理的集中性,所有的控制由客户端来发起。

在这里插入图片描述
2.4.2 ONVIF规范能为视频监控带来什么?
a) 抽象了功能的接口。统一了对设备的配置以及操作的方式。

b) 控制端关心的不是设备的型号,而是设备所提供的Web Service。

c) 规范了视频系统中Web Service范围之外的行为。

d) ONVIF提供了各个模块的WSDL,拥有效率非常高的开发方式。

在这里插入图片描述

三、ONVIF规范的内容

a) 设备发现

b) 设备管理

c) 设备输入输出服务

d) 图像配置

e) 媒体配置

f) 实时流媒体

g) 接收端配置

h) 显示服务

i) 事件处理

j) PTZ控制

k) 其他

四、ONVIF的应用

4.1 名词说明
CMU(Center Manager Unit),即中心管理单位。

PU(Prefocus Unit),即监控前端单元,负责在CMU的控制下使用摄像机采集视频流、使用麦克风采集音频流、使用控制口采集报警信息、对摄像机云台镜头进行控制。

CU(Client Unit),监控系统的监控客户端单元,负责将PU采集到的视频流、音频流、报警信息提交给监控用户,并根据用户要求操作PU设备,如云台、镜头等。

4.2 传统视频监控系统的一个局域网应用场景
a) PU设备上线后,向CMU注册,建立连接。

b) CMU与PU进行信令交互,请求能力集,获取配置。

c) CU上线,向CMU注册,建立连接。

d) CMU与CU进行信令交互,传输设备列表。

e) CU向PU请求码流。

在这里插入图片描述

4.3 应用ONVIF规范后对应的场景
a) PU设备上线后,向CMU发送HELLO消息。

b) CMU需要搜寻设备时,向PU发送PROBE消息。

c) CMU与PU进行信令交互,请求能力集,获取配置。

d) CU上线,向CMU注册,建立连接。

e) CMU与CU进行信令交互,传输设备列表。

f) 在CMU的协调下,CU同PU建立连接传输码流。

在这里插入图片描述

上述场景中,ONVIF带来了什么变化?

a) PU与CMU的交互方式发生了改变,CMU不再与PU保持长连接。
b) 遵循ONVIF规范,信令以及消息内容有了统一的标准。


THE END !

原文地址:https://www.cnblogs.com/SoaringLee/p/10532136.html