您好,欢迎访问三七文档
ONVIF规详解大纲•什么是ONVIF?•ONVIF规范的实现机制•ONVIF规范的内容•基于ONVIF规范的项目的开发什么是ONVIF?什么是ONVIF?•2008年5月,由安讯士(AXIS)联合博世(BOSCH)及索尼(SONY)公司三方宣布将携手共同成立一个国际开放型网络视频产品标准网络接口开发论坛,取名为ONVIF(OpenNetworkVideoInterfaceForum),并以公开、开放的原则共同制定开放性行业标准。是一个提供开放网络视频接口的论坛组织。截止到2011年3月,已有279个公司加入ONVIF成为会员。•2008年11月,论坛正式发布了ONVIF第一版规范。•2010年11月,论坛发布了ONVIF第二版规范。规范涉及设备发现、实时音视频、摄像头PTZ控制、录像控制、视频分析等方面。ONVIF规范作用•ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。•ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。ONVIF规范的实现•ONVIF规范中设备管理和控制部分所定义的接口均以WebServices的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的WebService。服务端与客户端的数据交互采用SOAP协议。•ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行。ONVIF规范的优势•协同性:不同厂商所提供的产品,均可以通过一个统一的“语言”来进行交流。方便了系统的集成。•灵活性:终端用户和集成用户不需要被某些设备的固有解决方案所束缚。大大降低了开发成本。•质量保证:不断扩展的规范将由市场来导向,遵循规范的同时也满足主流的用户需求。ONVIF的将来•由于采用WSDL+XML模式,使ONVIF规范的后续扩展不会遇到太多的麻烦。XML极强的扩展性与SOAP协议开发的便捷性将吸引到更多的人来关注和使用ONVIF规范。•ONVIF的组织日益壮大,与同领域的PSIA,HDCCTV相比,占据了绝对的人员优势。会员企业不乏国内外著名的设备制造商与集成商。一套规范、协议的生命周期,与市场占有率是息息相关的。而ONVIF规范的发展则正是由市场来导向,由用户来充实的。每一个成员企业都拥有加强、扩充ONVIF规范的权利。ONVIF规范所涵盖的领域将不断增大。目前门禁系统的相关内容也即将被纳入ONVIF规范之中。•在安防、监控系统急速发展的今天,效率和质量的领先所带来的价值不言而喻。ONVIF协议提供了这样的潜质。ONVIF规范的实现机制WebService简介•WebService是基于网络的、分布式的模块化组件,执行特定的任务。WebService主要利用HTTP和SOAP协议使数据在Web上传输。Web用户能够使用SOAP和HTTP通过Web调用的方法来调用远程对象。SOAP/HTTPWebServiceClientClientWebService简介•客户端根据WSDL描述文档,会生成一个SOAP请求消息,该请求会被嵌入在一个HTTPPOST请求中,发送到WebServices所在的Web服务器。WebServices请求处理器解析收到的SOAP请求,调用相应的WebServices。然后再生成相应的SOAP应答。Web服务器得到SOAP应答后,会再通过HTTP应答的方式把信息送回到客户端。SOAP/HTTPWebServerWebServiceClientWebServiceWebServiceWSDLWSDL•WSDL是Webservices描述语言(WebServiceDescriptionLanguage)的缩写。是一个用来描述Web服务和说明如何与Web服务通信的XML语言,为用户提供详细的接口说明书。构建SOAP消息•SOAP是SimpleObjectAccessProtocol的缩写。是基于XML的一种协议。一条SOAP消息就是一个普通的XML文档,包含下列元素:–必需的Envelope元素,可把此XML文档标识为一条SOAP消息–可选的Header元素,包含头部信息–必需的Body元素,包含所有的调用和响应信息–可选的Fault元素,提供有关在处理此消息所发生错误的信息•在向WebService发送的SOAP请求中,Body元素中的字段需与WSDL中数据类型的相符合。在构建SOAP的过程中,必须从WSDL文件中获取并映射这一种对应关系。然而这样一个对应过程将是充满了重复性和机械性的,为了避免不必要的人工差错以及节约开发时间,一个名为gSOAP的编译工具应运而生。•gSOAP利用编译器技术提供了一组透明化的SOAPAPI,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。通过将WSDL文件解析序列化为C/C++文件,最小化了WebService的开发过程。SOAP消息?xmlversion=1.0encoding=UTF-8?SOAP-ENV:Envelopexmlns:SOAP-ENV=:encodingstyle=:Bodym:GetLastTradePricexmlns:m=Some-URIsymbolCMCC/symbol/m:GetLastTradePrice/SOAP-ENV:Body/SOAP-ENV:Envelope以下是一个“查询股票价格”的SOAP消息请求SOAP消息中的服务请求请求参数SOAP协议位置WebServiceSOAP协议TCP、UDP协议····IP网络协议物理链路层WebServiceSOAP协议TCP、UDP协议····IP网络协议物理链路层SOAP消息高层协议WebService开发流程获取WSDL文件通过gSOAP编译为c/c++文件业务逻辑开发编译发布WebService与视频监控•ONVIF规范向视频监控引入了WebService的概念。设备的实际功能均被抽象为了WebService的服务,视频监控系统的控制单元以客户端的身份出现,通过Web请求的形式完成控制操作。CameraWebServiceControlUnitClientDecoderWebServiceStorageWebServiceONVIF•WebService是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP。•服务端、客户端以传递符合XML的SOAP消息实现服务的请求与回应。客户端服务端服务端生成回应处理请求请求服务分析请求SOAP消息回应请求•WebService能给视频监控系统带来什么?–设备的无关性,任何一个设备接入系统,不会对其他系统造成影响。–设备的独立性,每一个设备只负责对接收到的请求做出反馈,甚至不需要知晓控制端的存在。–管理的集中性,所有的控制由客户端来发起。CMD:镜头右转CameraWebServiceCMUClientACK:操作反馈WebService与视频监控•ONVIF规范能给视频监控系统带来什么?–抽象了功能的接口。统一了对设备的配置以及操作的方式。–控制端关心的不是设备的型号,而是设备所提供的WebService–规范了视频系统中WebService范围之外的行为。–ONVIF提供了各个模块的WSDL,拥有效率非常高的开发方式。2请求接收1请求码流CameraControlUnitDecoder3RTSPONVIF•ONVIF规范中设备管理和控制部分所定义的接口均以WebServices的形式提供,设备作为服务提供者为服务端。•每一个支持ONVIF规范的终端设备均须提供与功能相应的WebService。•服务端与客户端的数据交互采用SOAP协议。ONVIF规范内容以及监控应用模型ONVIF模块•设备发现•设备管理•设备输入输出服务•图像配置•媒体配置•实时流媒体•接收端配置•显示服务•事件处理•PTZ控制•其他ONVIFCamera1WebServiceControlUnitClientDecoderWebServiceStorageWebServiceSearchVideoWebService······WebServiceONVIF的应用ONVIF的应用•下图为传统视频监控系统的一个局域网应用场景•1.PU设备上线后,向CMU注册,建立连接。•2.CMU与PU进行信令交互,请求能力集,获取配置•3.CU上线,向CMU注册,建立连接。•4.CMU与CU进行信令交互,传输设备列表•5.CU向PU请求码流CMUPUCU注册注册信令交互信令交互码流传输ONVIF的应用•下图为应用ONVIF规范的对应场景:•1.PU设备上线后,向CMU发送HELLO消息。•2.CMU需要搜寻设备时,向PU发送PROBE消息。•3.CMU与PU进行信令交互,请求能力集,获取配置•4.CU上线,向CMU注册,建立连接。•5.CMU与CU进行信令交互,传输设备列表•6.在CMU的协调下,CU同PU建立连接传输码流ONVIFCMUPUCU设备发现Probe注册信令交互信令交互码流传输设备发现HelloONVIF的应用•在上述的场景中,ONVIF带来了什么变化?•PU与CMU的交互方式发生了改变。•CMU不再与PU保持长连接。•遵循ONVIF规范,信令以及消息内容有了统一的标准CMUPUCU注册注册信令交互信令交互码流传输ONVIFCMUPUCU设备发现Probe注册信令交互信令交互码流传输设备发现Hello基于ONVIF规范项目的开发基于ONVIF规范项目的开发•关键字–WSDL–GSOAP获取WSDL文件通过gSOAP编译为c/c++文件业务逻辑开发编译发布
本文标题:ONVIF规范详解
链接地址:https://www.777doc.com/doc-2847478 .html