目录
1. ONVIF技术规格
ONVIF协议中,有一系列Profile的技术规格。ONVIF之所以引入了Profile的概念,使得终端用户能够更容易区分各个Profile所支持的特性,而无需确定ONVIF技术规格不同版本间的兼容性。截止目前,已经发布的Profile包括Profile S/C/G/A/Q五种。
以上截图来源于官网https://www.onvif.org/profiles/中《ONVIF Profile Feature Overview》文档。从这个图能看出,各个Profile技术规格的发布是有时间先后顺序的,并不是一起发布。Profile S作为profile发布系列中的排头兵,于2011年发布,2016年做了一次修订,Profile C于2013年发布,之后再依次发布Profile G/A/Q。
以下是对这些Profile的理解:
- Profile S:「网络摄像机」的技术规格,包括如何发送音视频流,音视频编码器配置,PTZ控制、中继控制等。
- Profile C:「门禁控制系统(PACS)设备」的技术规格。
- Profile G:「视频储存和录像」的技术规格,包括视频储存,搜索,检索,以及媒体播放功能的技术规格。
- Profile A:「常见的例行门禁控制功能」的技术规范,适用于负责授予和撤销员工凭证、创建和更新计划表,以及对系统内门禁控制权限进行更改的安保人员、接待员或人力资源专员等用户。
- Profile Q:「传输层安全性(TLS)」的技术规格,该安全通信协议使ONVIF合标设备能够以不受篡改和窃听威胁的方式在网络上与客户通讯。
随着ONVIF的发展,我估计,ONVIF指导委员会(Steering Committee)在未来还会有后续的Profiles发布以规范其他技术规格。
跟IPC摄像头有关的主要是Profile S技术规格。
2. ONVIF接口规范
ONVIF接口被划分为不同模块,包括:设备发现、设备管理、设备输入输出服务、图像配置、媒体配置、实时流媒体、接收端配置、显示服务、事件处理、PTZ控制等。
每个模块的接口都有相对应的WSDL文档进行描述,可以在ONVIF官网「Network Interface Specifications」中查阅,链接如下:
https://www.onvif.org/profiles/specifications/
如果想快速浏览ONVIF所有模块的常用接口,请看这里「ONVIF 2.0 Service Operation Index」,链接如下:
https://www.onvif.org/onvif/ver20/util/operationIndex.html
注意:这里仅仅是列出常用接口,不是全部接口,每个模块的全部接口需要进入每个模块的WSDL中去看,点击任意一个接口就会自动跳转到对应的WSDL文档链接处。
3. ONVIF规范能为视频监控带来什么
a) 抽象了功能的接口。统一了对设备的配置以及操作的方式。
b) 控制端关心的不是设备的型号,而是设备所提供的Web Service。
c) 规范了视频系统中Web Service范围之外的行为。
d) ONVIF提供了各个模块的WSDL,拥有效率非常高的开发方式。
4. ONVIF的功能
按项目需求来说,推流盒子要支持不同厂家的摄像头,但是不同厂家的摄像头的拉流地址又不同,怎么办,我总不能在盒子的Web页面告诉盒子这个摄像头的厂家是哪个,然后程序了写死地址,这样太笨了,如果厂家的推流地址变了,那就羊驼了。所以ONVIF提供了一个标准的接口,来获取摄像头的推流地址,我不需要关心摄像头厂家和型号,这就很方便。这仅仅是我们项目上的一个小小需求。下图罗列了部分ONVIF提供的接口