onvif与GB/T-28181的小白入门
好文章,来自【福优学苑@音视频+流媒体】
onvif与GB/T-28181的小白入门
敬告:本系列不展开onvif和28181.
参考:详细内容请参考系列27和系列28
一、什么是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能为视频监控什么?
设备的无关性,任何一个设备接入系统,不会对其他系统造成影响。
设备的独立性,每一个设备只负责对接收到的请求做出反馈,甚至不需要知晓控制端的存在。
管理的集中性,所有的控制由客户端来发起。
2.4.2 ONVIF规范能为视频监控带来什么?
抽象了功能的接口。统一了对设备的配置以及操作的方式。
控制端关心的不是设备的型号,而是设备所提供的Web Service。
规范了视频系统中Web Service范围之外的行为。
ONVIF提供了各个模块的WSDL,拥有效率非常高的开发方式。
3、ONVIF规范的内容
设备发现
设备管理
设备输入输出服务
图像配置
媒体配置
实时流媒体
接收端配置
显示服务
事件处理
PTZ控制
其他
4、ONVIF的应用
4.1 名词说明
CMU(Center Manager Unit),即中心管理单位。
PU(Prefocus Unit),即监控前端单元,负责在CMU的控制下使用摄像机采集视频流、使用麦克风采集音频流、使用控制口采集报警信息、对摄像机云台镜头进行控制。
CU(Client Unit),监控系统的监控客户端单元,负责将PU采集到的视频流、音频流、报警信息提交给监控用户,并根据用户要求操作PU设备,如云台、镜头等。
4.2 传统视频监控系统的一个局域网应用场景
PU设备上线后,向CMU注册,建立连接。
CMU与PU进行信令交互,请求能力集,获取配置。
CU上线,向CMU注册,建立连接。
CMU与CU进行信令交互,传输设备列表。
CU向PU请求码流。
4.3 应用ONVIF规范后对应的场景
PU设备上线后,向CMU发送HELLO消息。
CMU需要搜寻设备时,向PU发送PROBE消息。
CMU与PU进行信令交互,请求能力集,获取配置。
CU上线,向CMU注册,建立连接。
CMU与CU进行信令交互,传输设备列表。
在CMU的协调下,CU同PU建立连接传输码流。
上述场景中,ONVIF带来了什么变化?
PU与CMU的交互方式发生了改变,CMU不再与PU保持长连接。
遵循ONVIF规范,信令以及消息内容有了统一的标准。
GB/T28181
GB/T28181与三大国际标准及行业标准、企业标准、地方标准的对接
随着国际三大网络监控标准的日益完善以及国内标准的颁布与实施,国际标准与国内标准之间的对接,以及新国标与各类行业标准(如全球眼)、地方标准之间的对接也成为业界关注的问题。那么,目前它们之间的对接是否畅通,是否还存在问题?
在三大国际标准中,ONVIF、PSIA这两个标准规定的都是网络监控设备间的互联互通协议,因此与新国标的关系也较为密切。ONVIF、PISA主要针对IP摄像机的网络连接而制定的标准,HDCCTV则是对于新一代的非压缩方式的高清视频传输方法而定义的标准,而GB28181则是针对国内各厂家设备、系统的互通联网而制定的标准,由于协议定义的范围,采用的联网方式有所区别,一定要求几种协议之间实现转换。由于互联互通在短期内并不一定现实,实际的情况是几类协议可能长期并存,及很多产品可同时支持这几类协议,不同的系统在不同的需求下会通过对应的方式进行连接。而各地方标准也比较类似,老的标准仍按照原有的方式联网,新建的系统可按28181标准连接,但根据实际各标准应用的情况,各类系统会逐渐采用其中一种主流标准实现新建设备的联网,从而慢慢实现统一化。
GB28181涉及的更多属于系统层面,厂商可以采用两者均支持的方式进行对接。而各地方标准与GB28181的适用对象一致,可采用网关的模式进行对接。ONVIF、PSIA和GB/T28181协议从本质上说都是为了降低视频监控设备互联的难度。这三个协议都是基于IP网络,如果要对接,需要有相关的协议转换模块。
GB/T28181不仅包括设备间的级联,也包含系统的级联,故并不矛盾。如网络摄像机通过ONVIF协议接入NVR,NVR在通过GB/T28181标准接入平台,或者网络摄像机通过ONVIF协议接入平台,平台间的级联通过GB/T28181规范进行。故ONVIF/PSIA、与GB/T28181往往还能起到互补的作用,可以使设备选型、推广更为广泛,更好地推动平安城市网络化、高清化的进程。
三大国际标准主要实现终端设备的标准化接入,GB/T28181也具备终端标准化接入协议,对于终端和平台提供商来说需要在产品开发中加以规划,由于三大国际标准与GB28181标准都是通过软件实现,终端具备这样的多套协议对设备本身压力不大,成本几乎没有提高,建议终端今后可同时支持多套协议栈,用户可以在配置界面进行协议选择。平台对协议的选择可以视具体应用需求和用户的相关要求而定,运营级平台则建议发展多栈接入的模式,提供多种终端接入协议的支持。
新国标实践中存在的具体问题
2012年6月1日,新国标GB/T 28181-2011正式实施,这个名为《安全防范视频监控联网系统信息传输、交换、控制技术要求》的国标为国内热火朝天的安全防范、视频监控系统建设提供方向和规范。然而,大量的工程实践、理论研究却发现这个国标还有不少局限性,如果不尽快解决,会在建设过程中带来不少的困扰,并造成新的标准混乱。
GB28181的出台背景
在平安城市建设下, 随着监控覆盖范围扩大和规模的增加,新的问题和需要出现了:如何在可控的成本下,管理规模不断增加的系统?为了避免重复建设,如何通过系统的整合,来形成社会化的大系统?
在这个大背景下,一些产业巨头和标准化组织,也在通过行业的有序探索,发表了自己的解决途径,我国则先由一些联网监控发展比较早的地区,先做出了一些探索和实践,但由于地方标准之间有相当大的差异性,使得产品供应商和软件平台很难有效的应对这么多的差异化要求,给维护和开发带来了很大的困难,因此,很多系统未能按照地方已颁布的地方标准和规范执行。
在这个大背景下,国标GB/T28181-2011 正式实施
GB28181的技术意义
国标主要沿袭GA/T669.5的体系思想,将会话初始化协议SIP定位为联网系统的主要信令基础协议,并利用SIP的有关扩展,实现了对非会话业务的兼顾,例如,对报警业务、历史视音频回放、下载等等的支持。
GB28181的设计确实研究了设备管理的问题,SIP协议中的一个成功之处,在于对域内设备的管理和域间寻址的解决,使得SIP真正成为一个可扩展的大型系统。
GB28181解决了不同系统互联的问题,开放、清晰的接口,面向服务的系统架构,解决了资源管理的问题,资源的可视化、自动化管理,结合协议的状态查询和自动化视频质量检测,实现高效的系统资源管理。
搭建RTMP服务实现网页预览
参考课程:FFmpeg+Nginx搭建直播网站原理与实战
命令行:
ffmpeg -i rtsp://ip:port@admin:pass/channel/...... -vcodec libx264 -s 640x480 -f flv -y rtmp://ip:port/live1/test1
SDK:
参考:系列五:SDK二次开发与详解
公网IP:
音频播放原理与音视频同步简介
参考课程:FFmpeg播放器原理与实战
***【在线视频教程】***