网络协议之ONVIF

什么是ONVIF

onvif,即Open Network Video Interface Forum(开放型网络视频接口论坛)。ONVIF协议的出现,解决了不同厂商之间开发的各类失败不能融合使用的难题,提供了统一的网络视频开发标准。
ONVIF协议将终端设备(摄像头)提供Web Service服务,将每一个功能看做是一个Web Service。

ONVIF的实现机制

①:Web Service是基于网络的、分布式的模块化组件,执行特定的任务。
②:Web Service主要利用HTTPSOAP协议使数据在Web传输。
③:客户端根据 WSDL 描述文档,会生成一个 SOAP 请求消息,该请求会被嵌入在一个HTTP POST请求中,发送到 Web Services 所在的Web 服务器。Web Services 请求处理器解析收到的 SOAP 请求,调用相应的 Web Services。然后再生成相应的 SOAP 应答。Web 服务器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。

WSDL 描述文档

WSDL 是Web Service的描述语言(Web Service Description Language)的缩写,是一个来描述Web服务器和说明如何与Web 服务器通信的XML语言。为用户提供详细的接口说明书。

SOAP消息

SOAP是Simple Object Access Protocol的缩写。是基于XML的一种协议。一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:

  1. 必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
  2. 可选的 Header 元素,包含头部信息
  3. 必需的 Body 元素,包含所有的调用和响应信息
  4. 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
    ONVIF消息

Web Service与视频监控

ONVIF规范向视频监控引入了Web Service的概念。设备的实际功能均被抽象为了Web Service的服务,视频监控系统的控制单元(NVR)以客户端的身份出现,通过Web请求的形式完成控制操作。

Web Service能为视频监控做什么

  1. 设备的无关性,任何一个设备接入系统,不会对其他系统造成影响。
  2. 设备的独立性,每一个设备只负责对接收到的请求做出反馈,甚至不需要知晓控制端的存在。
  3. 管理的集中性,所有的控制由客户端来发起。

Web Services的简单理解

Web Services,即是一种网络服务。当你的系统完成一个通用的功能以后,如果你想让别人使用你的功能的话,那么你就可以发布成为Web Services服务,别人就可以通过网络远程调用到你的服务接口。

函数接口调用方式分为:
①:本地调用(LPC):通常,在我们的代码中调用一个函数,这个函数要么是系统API,要么是我们自己实现的本地代码,一起编译,一起发布,也在同一个进程中一起执行,这就是本地调用
②:远程调用(RPC):被调用方法的具体实现不在同一个进程,而是在别进程,甚至别的电脑上。RPC一个重要思想就是,使远程调用看起来像本地调用一样,调用者无需知道被调用接口具体在哪台机器上执行。

SOAP协议

SOAP协议 = RPC机制 + HTTP传输协议 + XML数据格式
SOAP的两个主要设计目标是简单性可扩展性
① 简单性:使用RPC机制(远程调用),让客户端调用Web Service的接口看起来像本地调用一样。
② 可扩展性:因为XML是一个开放、健全、有语义的讯息机制,而 HTTP 成熟、稳定、又能避免许多关于防火墙的问题,从而使SOAP得到了广泛的应用。
③ SOAP的局限性:无法实时数据推送,传输流量大,传输效率低。

  1. HTTP是短连接的,都是客户端请求,服务端应答,这种模式导致服务端无法实时推送数据给客户端,只有像Socket那样的长连接才能保证实时通讯。
  2. HTTP有包头,而且XML全部用文本文件来传输数据,效率会比较低。

ONVIF大致流程

  1. 发现设备
  2. 获取能力
  3. 获取媒体信息
  4. 获取视频编码配置
  5. 设置视频编码配置(修改视频流设置信息,码流,分辨率,编码格式)
  6. 获取URI
  7. ONVIF完成
  8. 使用RTSP协议播放音视频
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陈海平20220310

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值