首页| 论坛| 消息

标题:Qt编写安防视频监控系统38-onvif校时
作者:liudianwu
日期:2021-07-01 08:53
内容:

## 一、前言
在视频监控系统中,对摄像机进行时间设置也是很有必要的,这样就和服务器或者软件这边统一了时间,一般在摄像机的画面上可以设置OSD标识当前时间,这样存储到视频文件中回放的时候,也能和本地的时间一致,一般的视频监控系统默认都会开启ONVIF校时,通过标准的公开的onvif协议来对前端摄像机设备进行时间设置,当然也可以获取时间。前端摄像机设备和后端管理软件或者服务器时间统一是非常重要的一个因素,本人经历过很多视频监控系统相关的项目,很多时候的报修情况就是因为前端设备时间和服务器端不一致的情况,导致的各种奇奇怪怪的问题。
onvif校时有两种方式,一种是通过触发调用NTP服务器让摄像机自己去核对一次时间,另外一种方式是直接将当前时间转成UTC时间,填入到UTCDateTime这个节点数据中,http形式发送给对应的摄像机onvif地址即可,设置好以后会自动应用。如何判断设置是否成功呢,除了人肉眼观察视频监控画面中的时间是否调整过来以外,还可以接收请求数据返回的数据进行解析判断,有个通用的规则,比如设置时间发送的节点关键是是SetSystemDateAndTime,设置成功会应答SetSystemDateAndTimeResponse,就是在关键字后面加个Response,所以可以写个通用的规则进行这个解析处理就行,比如获取主机名GetHostname、获取网关GetNetworkDefaultGateway、获取DNS信息GetDNS等,都是按照这个规则走。
onvif主要的功能
1. 搜索设备,获取设备的信息比如厂家、型号等。
2. 获取设备的多个配置文件信息profile。
3. 获取对应配置文件的视频流地址rtsp,以及分辨率等参数。
4. 云台控制,上下左右移动,焦距放大缩小,相对和绝对移动。
5. 获取预置位信息,触发预置位。
6. 订阅事件,接收设备的各种消息尤其是报警事件比如IO口的报警。
7. 抓图,获取设备当前的图片。
8. 获取、创建、删除用户信息。
9. 获取和设备网络配置信息比如IP地址等。
10. 获取和设置NTP时间同步。
11. 获取和设置设备时间。
12. 重启设备。
onvif的处理流程
1. 绑定组播IP(239.255.255.250)和端口(3702),发送固定的xml格式的数据搜索设备。
2. 接收到的xml格式的数据解析,得到设备的Onvif地址。
3. 对Onvif地址发送对应的数据,收到数据取出对应的节点数据。
4. 请求Onvif地址获取Media地址和Ptz地址,Media地址用来获取详细的配置文件,Ptz地址用来云台控制。
5. ptz控制是对Ptz地址发送对应的数据即可。
6. 设置了用户认证的需要组织用户toke ..

回复 发表
主题 版块