文章目录
网络摄像机的标准协议
- 国际
- ONVIF
- PSIA
- HDCCTV
- 国内
- GB/T28181
关于ONVIF
简介
-
ONVIF(Open Network Video Interface Forum,开放型网络视频接口论坛)
-
ONVIF规范的目标是实现一个网络视频框架协议,不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。
-
ONVIF官网 :https://www.onvif.org/
-
ONVIF 2.0 Service函数操作指南:http://www.onvif.org/onvif/ver20/util/operationIndex.html
-
ONVIF网络接口规范(下载wsdl文件):https://www.onvif.org/profiles/specifications/
资源下载
- ONVIF2.0协议珍藏版 链接:https://pan.baidu.com/s/1kKtd8MSLdA9ahJEnMEIOnw 提取码:1b15
- wsdl文件 链接:https://pan.baidu.com/s/1az9BWyUuC1Pq6s8L-cnOTg 提取码:0yuw
- gsoap-2.8链接:https://pan.baidu.com/s/1sWn9XaFHHn1pNJVWTHyfPA 提取码:og0y
- ONVIF_Device_TestTool_v15.06链接:https://pan.baidu.com/s/1IRtZ7mkVxKHTPstLTlsQWw 提取码:xrl9
- python-onvif-zeep链接:https://pan.baidu.com/s/1Wscw1nzKzy98oscUPsiOAQ 提取码:fi8w
技术框架
- ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。
- 服务端与客户端的数据交互采用SOAP协议。
- ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行
技术规范
Profile文件 & 规范:https://www.onvif.org/profiles/specifications/
-
Profile A:用于门禁控制配置,包括授予/撤消凭证、
创建时间表和分配访问规则等 -
Profile C:用于门控和事件管理,包括站点信息和配置
事件和报警管理、门禁控制等 - Profile D:用于访问控制周边设备,包括传输凭证标识和访问请求和执行上锁/解锁等操作。
- Profile G:用于存储和检索,包括配置,请求和控制录制、接收音频和元数据流。
-
Profile M:用于智能应用元数据和分析,包括元数据的分析配置和信息查询,元数据配置和流式传输,通用对象分类支持和地理位置、车辆、牌照、人脸,人体的元数据定义,对象计数器、人脸和车牌识别分析,以及通过MQTT以JSON格式发送ONVIF事件的事件处理接口
事件规则配置。 - Profile Q:用于快速安装,包括易于设置,符合设备的发现,配置和控制。
- Profile S:用于基本视频流,包括视频流和配置。
- Profile T:适用于高级视频流,包括H.264 / H.265视频压缩,成像设置,运动警报和篡改事件,元数据流,双向音频。
其余
- IPC如何开启ONVIF
- 通过摄像机IP地址访问摄像机web管理页面,输入用户名和密码登录管理后台。点击顶部导航栏的“配置”选项,依次点击“网络”-“高级配置”-“集成协议”,勾选“启用ONVIF”复选框
- 添加ONVIF用户:设置账号密码权限
- 如何查看设备是否ONVIF
使用工具ONVIF_Device_TestTool,选择本机IP,然后点击Discover Devices。同时还可以通过该软件测试wsdl的协议接口。
WebService
是一种远程网络服务,可以通过网络接口调用。实现Web Services常用的框架有:
- REST、
- SOAP、
- JavaScript、
- XML-PRC等。
- ONVIF标准中的Web Service采用的是SOAP方式。
SOAP协议
-
SOAP(Simple Object Access Protoco,简单对象访问协议),是TCP/IP协议体系中的一个应用层协议,它是在HTTP基础之上实现的。
-
局限性
- HTTP是短链接,服务器无法主动推送消息给客户
- HTTP有包头,XML数据格式是文本形式,费流量
- XML编解码效率低,传输效率低
WSDL
- WSDL(Web Services Description Language,网络服务描述语言)
- SOAP实现的web service才有wsdl
- WSDL是一个使用XML语言书写的文档,这个文档描述了Web Services对外提供了哪些接口
- 可以通过gsoap工具将接口转化为C/C++形式