💡 如果想阅读最新的文章,或者有技术问题需要交流和沟通,可搜索并关注微信公众号“希望睿智”。
为什么要引入Onvif
进入21世纪后,随着宽带技术和其它相关科技的飞速发展,网络视频逐渐成为新兴行业。2004年左右,在网络视频技术日渐成熟和网络视频服务器产品竞争日趋激烈的情况下,主要厂商开始转向网络摄像机,也就是我们俗称的IPC,并逐步推出了各种型号的产品。到2008年时,从最开始的几个厂商,快速发展到成百上千的IPC的生产厂商。
早期的IPC厂商都采用私有协议,每个厂商生产的IPC使用的通讯协议都各不相同。随着视频监控的大规模应用,产业链的分工也越来越精细。有的厂商专门做摄像头,有的厂商专门做视频服务器,有的厂商则专门做平台,最后通过集成商进行集成,提供给最终的客户。私有协议无法胜任这种产业合作模式,于是,行业标准化的接口由此应运而生。
2008年5月,由安讯士(AXIS)联合博世(BOSCH)、索尼(SONY),三方宣布携手成立一个国际开放型网络视频产品标准网络接口开发论坛,取名为ONVIF(英文全称为Open Network Video Interface Forum,中文为开放型网络视频接口论坛),并以公开、开放的原则共同制定开放性行业标准。Onvif标准将为网络视频设备之间的信息交换定义通用协议,包括:设备发现、实时视频、音频、元数据和控制信息等。截止到2024年,已有几百家公司加入Onvif成为会员。
Onvif的核心在于定义了一系列的通信协议、数据模型和服务接口,确保了不同厂商的网络视频产品(比如:IPC、NVR、VMS等)能够无缝对接,共享视频流、控制信号和事件信息。这就好比给所有视频监控设备配备了一本“通用词典”,无论是设备发现、实时视频流传输,还是配置管理、事件通知,都遵循统一的标准进行。
Onvif技术架构
Onvif的技术架构旨在实现不同厂商的网络视频设备之间的互操作性,其关键组成部分有如下6个。
1、服务模型与接口定义。Onvif中的所有服务和接口均采用Web Services技术实现,遵循SOAP(Simple Object Access Protocol)协议,并使用WSDL(Web Services Description Language)来描述服务接口,确保了跨平台的互操作性。这意味着,无论底层操作系统或编程语言如何,只要支持Web服务栈,就能与Onvif设备进行通信。
2、设备管理。设备管理是Onvif技术架构的基础,它涉及设备的发现、描述、配置和状态查询。其主要任务是让客户端能够识别网络上的Onvif设备,并获取这些设备的详细功能信息。通过使用Web服务接口,客户端可以查询设备支持的服务、配置选项、网络设置、系统信息等,从而实现对设备的初始化配置和状态监测。
3、媒体服务。媒体服务是Onvif技术架构的核心部分之一,主要关注音视频流的传输、处理、控制。Onvif使用RTSP协议来建立和控制媒体会话,而实际的音视频流数据则通过RTP协议传输。此外,媒体服务还涵盖了录像存储、回放和检索等功能。
4、事件处理。事件处理使得设备能够主动向客户端报告发生的特定事件,比如:运动检测、视频丢失、设备状态改变等。事件处理机制基于订阅模型,客户端首先向设备订阅感兴趣的事件类型,然后设备会在事件触发时,通过SOAP消息发送给客户端。
5、云台控制。对于支持云台操作的摄像头,Onvif定义了一套PTZ控制服务,使得客户端可以远程控制摄像机的平移、俯仰、变焦等动作。通过标准化的PTZ命令集,用户可以精确地调整监控视角,提高监控的灵活性和效率。
6、安全性。Onvif技术框架内置了安全性考量,提供了认证、授权和加密机制,确保数据传输的安全。比如,使用HTTPS和TLS来保护Web服务调用,以及使用用户名/密码、证书等进行身份验证,从而确保了只有经过授权的客户端才能访问和控制设备。
Onvif技术规格
Onvif的技术规格是一套全面的标准和协议集合,旨在促进不同厂商的网络视频设备之间的互操作性。这些规格被组织成不同的配置文件(Profiles),每个配置文件针对特定的应用场景或功能集进行了标准化,确保了设备之间的兼容性和一致性。目前已经发布的Profile包括:Profile S、Profile C、Profile G、Profile A、Profile Q、Profile T、Profile M等。
Profile S:主要关注网络摄像机,是最早发布的配置文件之一。它涵盖了视频配置、实时视频流传输、事件处理、PTZ控制等功能,是大多数网络监控设备的基本要求。
Profile C:主要关注网络门禁控制系统,定义了门禁控制设备(比如:读卡器、控制器)与管理系统之间的通信协议,支持门禁事件、用户权限管理等功能。
Profile G:主要关注视频存储和回放,定义了如何从网络视频设备存储、检索视频数据到录像设备或系统中,它包括了对存储配置、视频检索、录像回放等操作的标准化。
Profile A:主要关注门禁系统设备的配置和管理,包括设备发现、配置、状态查询、事件处理等。
Profile Q:主要关注传输层安全性(TLS),确保Onvif设备在网络上的安全通信。
Profile T:主要关注高级视频流处理,引入了对H.264/H.265视频编码的支持,以及更精细的流配置选项,比如宽动态范围(WDR)、数字降噪等图像增强特性。
Profile M:主要关注元数据和事件处理,为网络摄像头和其他具备数据分析能力的设备与客户端(比如:视频管理软件VMS、云服务平台)之间,提供了标准化的元数据和事件传输方式。
Onvif接口规范
Onvif接口规范基于Web Services技术,使用SOAP协议进行服务端与客户端的数据交互。每个模块的接口都有相对应的WSDL文档进行描述,并提供了标准化的网络开放式接口,官网链接地址为:https://www.onvif.org/profiles/specifications/。以GetDeviceInformation接口为例,其描述可参考下图。

本文转载自: https://blog.csdn.net/hope_wisdom/article/details/139310568
版权归原作者 希望_睿智 所有, 如有侵权,请联系我们删除。
版权归原作者 希望_睿智 所有, 如有侵权,请联系我们删除。