ONVIF¶
命名空间¶
设备服务(tds): https://www.onvif.org/ver10/device/wsdl/devicemgmt.wsdl
媒体服务(trt): https://www.onvif.org/ver20/media/wsdl/media.wsdl
成像服务(timg): http://www.onvif.org/ver20/imaging/wsdl
事件服务(tev): https://www.onvif.org/ver10/events/wsdl/event.wsdl
PTZ控制服务(tptz): https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl
分析服务(tan): http://www.onvif.org/ver20/analytics/wsdl
错误的名字空间(ter): http://www.onvif.org/ver10/error
开源项目¶
python版(OpenMMLab Image and Video Restoration, Editing and Generation Toolbox): https://github.com/open-mmlab/mmediting
ONVIF 技术规格¶
Profile A¶
用于门禁控制配置
Profile A 适用于电子门禁系统中使用的产品。Profile A 符合设备的设备可以检索信息,状态和事件,以及配置访问规则,凭证和时间表等实体。
Profile A 符合要求的客户端可以提供访问规则,凭证和时间表的配置。客户端还可以检索和接收标准化的门禁访问控制相关事件。
授予 / 撤消凭证
创建时间表
分配访问规则
「常见的例行门禁控制功能」的技术规范,适用于负责授予和撤销员工凭证、创建和更新计划表,以及对系统内门禁控制权限进行更改的安保人员、接待员或人力资源专员等用户
Profile C¶
用于门控和事件管理
Profile C 适用于电子门禁系统中使用的产品。
Profile C 符合设备和客户端支持站点信息,门禁控制以及事件和报警管理。
站点信息和配置
事件和报警管理
门禁控制
Profile D¶
用于访问控制外设
Profile D 适用于外围设备的输入界面,例如令牌读取器(用于读取卡,钥匙,移动电话或条形码),生物识别读取器(用于指纹识别),相机(用于虹膜,面部或车牌识别),按键,传感器(用于识别锁状态,门状态,温度或动作)和部分输出设备(例如锁,显示器和 LED)。
Profile D 的外围设备可以捕获输入的凭据标识,并将其传送至安全范围内符合 Profile D 规范的客户端上,例如访问控制单元或管理软件。用于存储访问控制规则、时间表以及身份认证的客户端可以做出访问决定,并将命令发送回外围设备以授予或拒绝访问权限,也可以选择使其显示信息或要求输入更多信息(例如 PIN 码)。
Profile D 规范可以使合规客户端通过必要数据(例如该设备负责哪个门或访问点)来配置一致性设备,以及在支持此功能的设备中配置具有允许或阻止凭据标识符的列表。
ONVIF Profile D 与 Profile A 和 Profile C 搭配一起使用可以实现在基于 IP 的电子访问控制系统中的标准化通信。支持 Profile D 的设备,例如可以通过继电器连接到 Lock 接口的 IP 相机,同时还可以支持其他 ONVIF 配置文件,比如 Profile M 和 Profile T,以使用 ONVIF 接口来集成视频和访问控制系统。
1. 传输凭证标识和访问请求
2. 执行锁定 / 解锁等操作
Profile G¶
用于存储和检索
Profile G 专为基于 IP 的视频系统而设计。 Profile G 设备(例如,IP 网络摄像机或视频编码器)是可以通过 IP 网络或设备本身记录视频数据的设备。Profile G 客户端(例如,视频管理软件)是可以配置,请求和控制来自 Profile G 符合 设备的 IP 网络上的视频数据的记录的软件。如果客户端支持这些功能,Profile G 还包括对接收音频和元数据流的支持。
配置,请求和控制录制
接收音频和元数据流
Profile M¶
用于分析类应用程序的元数据和事件
用于元数据的分析配置和信息查询
用于元数据配置和流式传输
通用对象分类支持
用于地理位置、车辆、车牌、人脸和人体的元数据定义
用于对象计数、人脸和车牌识别分析,以及通过 MQTT 以 JSON 格式发送 ONVIF 事件的事件处理接口
事件规则配置
ONVIF Profile M 支持元数据的分析配置和信息查询,以及元数据的过滤和流式传输。它具有用于通用对象分类的接口以及用于指定元数据(如地理位置,车辆,车牌,人脸和人体等)的接口。如果合规产品本身可支持对媒体配置文件管理、视频流、在元数据流中添加图像、事件处理或规则配置等功能,则它们也同样可支持用于这些事件的 Profile M 接口。如果合规产品支持对象统计(比如说,人或是车辆)、车牌识别或面部识别的分析功能,以及物联网系统使用的 MQTT(消息队列遥测传输)协议, Profile M 事件处理接口也同样可以用于这些功能。
Profile M 的合规产品可以是边缘设备(如 IP 摄像机或基于视频的无人机)或是可以使用 Profile M 接口通过 IP 网络向客户端发送元数据的服务(包括用于设备的基于边缘的分析应用)。Profile M 的合规客户端可以是视频管理软件 (VMS) 程序、网络视频录像机 (NVR) 或服务器或基于云的服务,合规设备需要能够使用 Profile M 接口来配置、请求和控制来自 Profile M 边界设备或服务的 IP 网络上的元数据流。支持 MQTT 的 Profile M 设备或客户端也可以与物联网平台 / 应用进行通信,从而完成与物联网设备和应用的通信。
Profile S¶
用于基本视频流
Profile S 专为基于 IP 的视频系统而设计。 Profile S 设备(例如,IP 网络摄像机或视频编码器)是可以通过 IP 网络将视频数据发送到 Profile S 客户端的设备。 Profile S 客户端(例如,视频管理软件)是可以从 Profile S 设备配置,请求和控制 IP 网络上的视频流的设备。 Profile S 还涵盖了用于 PTZ 控制,音频输入,多播和继电器输出的 ONVIF 规范,适用于符合此类功能的设备和客户端。
Profile T¶
适用于高级视频流
Profile T 专为基于 IP 的视频系统而设计。 Profile T 支持视频流功能,例如使用 H.264 和 H.265 编码格式,成像设置以及诸如运动和篡改检测之类的警报事件。设备的强制功能还包括屏幕显示和元数据流,而客户端的强制功能还包括 PTZ 控制。 Profile T 还涵盖了用于 HTTPS 流,PTZ 配置,运动区配置,数字输入和继电器输出的 ONVIF 规范,以及支持此类功能的符合设备和客户端的双向音频。
H.264 / H.265 视频压缩
成像设置
运动警报和篡改事件
元数据流
双向音频
备注
注意:Profile T 不能替代 Profile S 兩個规范都有自己的应用领域,可以组合使用。
收集¶
设备管理服务命名空间前缀列表:
tds:设备管理服务 (Device Management Service)
trt:媒体服务 (Media Service)
tptz:云台服务 (PTZ Service)
tep:事件服务 (Event Service)
timg:图像服务 (Imaging Service)
trc:录像服务 (Recording Control Service)
trv:录像检索服务 (Recording Search Service)
tse:设备元数据服务 (Device IO Service)
tmd:设备元数据服务 (Device Metadata Service)
tan:网络服务 (Advanced Networking Service)
tcap:访问控制服务 (Access Control Service)
timg:图像设置服务 (Imaging Settings Service)
"tev" 事件服务 (Event Service)
wsnt:Web Services 通知 (Web Services Notification)
wsntw:Web Services 通知订阅 (Web Services Notification Subscription)
ONVIF 大致流程:
发现设备
获取能力
获取媒体信息
获取视频编码配置
设置视频编码配置(修改视频流设置信息,码流,分辨率,编码格式)
获取 URI
ONVIF 完成
使用 RTSP 协议播放音视频
设备类型¶
NVT (Network Video Transmitter): 网络视频服务器 (比如,网络摄像机,编码设备等),通过 IP 网络发送媒体数据到客户端。
NVD (Network Video Display): 网络视频接收器 (比如,网络视频显示器),通过 IP 网络,从 NVT 等设备获取媒体数据。
NVS (Network video Storage): 通过 IP 网络,记录从媒体设备 (比如 NVT) 获得的媒体数据或者元数据到永久存储介质中。也能够在客户端回放存储数据
NVA (Network video Analytics): 分析从媒体设备 (比如 NVT) 中或存储设备 (比如 NVS) 中获得的数据的设备。
设备发现¶
3702 端口通常会被 ONVIF 设备管理服务(Device Management Service)和媒体服务(Media Service)等多个服务共同使用,以提供设备管理、视频流传输等功能。因此,如果要访问一个支持 ONVIF 协议的设备,通常需要先通过 3702 端口进行搜索和发现,然后再使用设备提供的其他服务进行访问和控制。
一个典型的 ProbeMatch 消息:
<Body>
<ProbeMatches>
<ProbeMatch>
<Scopes>
onvif://www.onvif.org/location/country/china
onvif://www.onvif.org/name/MyCamera
</Scopes>
<XAddrs>
http://192.168.1.100/onvif/device_service
</XAddrs>
...
</ProbeMatch>
</ProbeMatches>
</Body>
./Body/ProbeMatches/ProbeMatch/XAddrs¶
一个 ONVIF 设备发现响应消息中的一个元素,用于指示设备服务的访问地址。
具体来说,该元素是一个 XML 格式的节点,包含了一个或多个 URL 地址,用于访问设备的不同服务。
上面例子中 http://192.168.1.100/onvif/device_service,表示可以通过这个地址访问设备的设备管理服务。
./Body/ProbeMatches/ProbeMatch/Scopes¶
一个 ONVIF 设备发现响应消息中的一个元素,用于指示设备服务的范围。
具体来说,该元素是一个 XML 格式的节点,包含了一个或多个字符串,用于描述设备服务所在的范围。
上例中,Scopes 元素包含了两个字符串,分别是 onvif://www.onvif.org/location/country/china 和 onvif://www.onvif.org/name/MyCamera
用于描述设备服务所在的范围。
具体来说,第一个字符串表示设备所在的国家是中国,第二个字符串表示设备的名称是 MyCamera
这些字符串的具体含义和格式由 ONVIF 协议定义。
ONVIF 接口规范¶
ONVIF 接口被划分为不同模块,包括:
1. 设备发现
2. 设备管理
3. 设备输入输出服务
4. 图像配置
5. 媒体配置
6. 实时流媒体
7. 接收端配置
8. 显示服务
9. 事件处理
a. PTZ 控制
ONVIF 的作用是定义和维护网络视频设备(如摄像头、录像机、视频管理软件等)之间的通信协议和接口标准,从而实现不同厂商的设备之间的互联互通。
ONVIF标准化了网络视频设备之间的通信协议和接口,提高了设备之间的兼容性,降低了企业和个人的设备成本。使用ONVIF标准的设备可以通过标准接口与其他设备进行通信,使得设备的管理和配置变得更加简单和方便。ONVIF还提供了一些高级功能,如视频分析和事件管理,这些功能可以跨设备和厂商进行集成。
ONVIF标准定义了一系列的接口和协议,使得不同厂商的网络视频设备可以彼此通信和交互,进一步降低设备的管理和配置成本,提高设备之间的兼容性和互操作性。
Example¶
onvif://www.onvif.org/hardware/D1