onvif规范 中文介绍

From: http://blog.csdn.net/ghostyu/article/details/8162193

什么是ONVIF ?

ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。
ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。

ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。
ONVIF规范的目标是实现一个网络视频框架协议,使不同厂商所生产的网络视频产品(包括摄录前端、录像设备等)完全互通。

ONVIF规范中设备管理和控制部分所定义的接口均以Web Services的形式提供。ONVIF规范涵盖了完全的XML及WSDL的定义。每一个支持ONVIF规范的终端设备均须提供与功能相应的Web Service。服务端与客户端的数据交互采用SOAP协议。
ONVIF中的其他部分比如音视频流则通过RTP/RTSP进行 。

协同性:不同厂商所提供的产品,均可以通过一个统一的“语言”来进行交流。方便了系统的集成。
灵活性:终端用户和集成用户不需要被某些设备的固有解决方案所束缚。大大降低了开发成本。
质量保证:不断扩展的规范将由市场来导向,遵循规范的同时也满足主流的用户需求。

由于采用WSDL+XML模式,使ONVIF规范的后续扩展不会遇到太多的麻烦。XML极强的扩展性与SOAP协议开发的便捷性将吸引到更多的人来关注和使用ONVIF规范。
ONVIF的组织日益壮大,与同领域的PSIA,HDCCTV相比,占据了绝对的人员优势。会员企业不乏国内外著名的设备制造商与集成商。一套规范、协议的生命周期,与市场占有率是息息相关的。而ONVIF规范的发展则正是由市场来导向,由用户来充实的。每一个成员企业都拥有加强、扩充ONVIF规范的权利。ONVIF规范所涵盖的领域将不断增大。目前门禁系统的相关内容也即将被纳入ONVIF规范之中。
在安防、监控系统急速发展的今天,效率和质量的领先所带来的价值不言而喻。ONVIF协议提供了这样的潜质。

ONVIF规范的实现机制

1、web service

2、wsdl

3、soap

Web Service是基于网络的、分布式的模块化组件,执行特定的任务。Web Service 主要利用 HTTP 和 SOAP 协议使数据在 Web 上传输。Web 用户能够使用 SOAP 和 HTTP通过 Web 调用的方法来调用远程对象。 


客户端根据 WSDL 描述文档,会生成一个 SOAP 请求消息,该请求会被嵌入在一个HTTP POST请求中,发送到 Web Services 所在的Web 服务器。Web Services 请求处理器解析收到的 SOAP 请求,调用相应的 Web Services。然后再生成相应的 SOAP 应答。Web 服务器得到 SOAP 应答后,会再通过 HTTP应答的方式把信息送回到客户端。


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

SOAP是Simple Object Access Protocol的缩写。是基于XML的一种协议。一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
可选的 Header 元素,包含头部信息
必需的 Body 元素,包含所有的调用和响应信息
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
在向Web Service发送的SOAP请求中,Body元素中的字段需与WSDL中数据类型的相符合。在构建SOAP的过程中,必须从WSDL文件中获取并映射这一种对应关系。然而这样一个对应过程将是充满了重复性和机械性的,为了避免不必要的人工差错以及节约开发时间,一个名为gSOAP的编译工具应运而生。
gSOAP利用编译器技术提供了一组透明化的SOAP API,并将与开发无关的SOAP实现细节相关的内容对用户隐藏起来。通过将WSDL文件解析序列化为C/C++文件,最小化了Web Service的开发过程。

Web Service 开发流程


Web Service与视频监控

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


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

ONVIF规范能给视频监控系统带来什么?
抽象了功能的接口。统一了对设备的配置以及操作的方式。
控制端关心的不是设备的型号,而是设备所提供的Web Service
规范了视频系统中Web Service范围之外的行为。
ONVIF提供了各个模块的WSDL,拥有效率非常高的开发方式。

ONVIF规范的内容

设备发现
设备管理
设备输入输出服务
图像配置
媒体配置
实时流媒体
接收端配置
显示服务
事件处理
PTZ控制
其他

基于ONVIF规范的项目的开发




本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/404985.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[react] React的render中可以写{if else}这样的判断吗?

[react] React的render中可以写{if else}这样的判断吗? 不可以,可以用 三元运算符或者 与运算符操作 个人简介 我是歌谣,欢迎和大家一起交流前后端知识。放弃很容易, 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前…

sunspot 查询语法

demand_text:12实际当中是字段demand,sunspot生成的时候会生成,demand_textsunspot内置的solr的版本http://127.0.0.1:8982/solr/admin/registry.jspSolr Specification Version: 1.4.0Solr Implementation Version: 1.4.0 833479 - grantingersoll - 2009-11-06 12…

gsoap使用总结

From: http://www.cnblogs.com/linxr/archive/2011/10/17/2215285.html >>用C实现WebService,gsoap是最好的选择了。近一个月都在折腾这个,做个总结吧,估计会写得比较长。因为其中碰到了不少问题,但最终都解决调了。 >…

[react] 使用React的memo和forwardRef包装的组件为什么提示children类型不对?

[react] 使用React的memo和forwardRef包装的组件为什么提示children类型不对? 过去使用Component、FC等类型定义组件时一般不需要我们定义props里children的类型,因为在上述类型里已经帮你默认加上了 { children?: ReactNode } 的定义。但是types/reac…

2011阿里巴巴程序设计公开赛 / 1002 Fruit Ninja

某神的代码&#xff1a; #include<stdio.h> #define max(x,y) (x)>(y)?(x):(y) #define min(x,y) (x)<(y)?(x):(y) const int inf0x7fffffff;struct node // Fruit {int adv;int x[11],y[11]; }Fruit[11];int Fruit_num,ans;//---- int judge( int x1…

绑定注意事项——数据源的属性

&#xff08;一&#xff09;属性的绑定总结&#xff08;以下属性均指“数据源的属性”&#xff09;&#xff1a; 1&#xff1a;属性的绑定&#xff08;单体属性和集合属性&#xff09;&#xff1a; 若要 将属性值或引用 的变化 通知给UI&#xff0c;则要求属性具有改变通知的功…

[react] 怎样将多个组件嵌入到一个组件中?

[react] 怎样将多个组件嵌入到一个组件中&#xff1f; import A from /* 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

Bash脚本报错:“/bin/bash^M: bad interpreter: No such file or directory”

1、问题 github下载一个源码&#xff0c;运行install脚本时&#xff08;# ./myinstal_cp&#xff09;一直报错“/bin/bash^M: bad interpreter: No such file or directory”&#xff0c;如&#xff1a; -bash: ./myinstall_cp: /bin/bash^M: bad interpreter: No such file …

16、常用shell命令方法

1、shell基本 2、父shell在执行shell命令时&#xff0c;通常是创建子shell&#xff0c;继承父shell环境&#xff0c;执行命令&#xff0c;退出&#xff0c;相关环境销毁&#xff1b;父shell得到子shell的退出状态。 通过命令.或source来使其有当前环境中执行&#xff0c;而不创…

Linux学习之exit函数

From: http://hi.baidu.com/homappy/item/549b37c06865877488ad9e75 若父进程在子进程之前终止了&#xff0c;则子进程的父进程将变为init进程&#xff0c;其PID为1&#xff1b;保证每个进程都有父进程。 Linux学习之"exit函数" 先看下"_exit"和"ex…

为什么要设置环境变量,环境变量有什么用?

比如说你要执行 java 命令&#xff0c;你不设置环境变量path包括你的jdk安装路径&#xff0c;那系统去哪找你的java.exe文件。 如果执行某个命令&#xff0c;系统无法在当前文件夹里找到对应的.exe&#xff0c;那么系统就会去path包含的路径找挨个找看是否能知道对应的.exe&…

CM3计算板RTC闹钟唤醒系统

1、前言 一个周期性控制系统的核心为CM3计算板&#xff0c;在电池供电情况下要求尽可能提高使用时长。由于系统空闲时长较多&#xff0c;因此在考虑低功耗的情况下将系统关机以进一步降低功耗。需要注意的是&#xff0c;系统关机后需要在指定时间唤醒&#xff0c;继续执行相关…

[react] 在React中如果去除生产环境上的sourcemap?

[react] 在React中如果去除生产环境上的sourcemap&#xff1f; GENERATE_SOURCEMAPfalse react-scripts buildIf you use the Create-React-APP 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目…

[相关总结性文章] 写给即将入行的程序员的一封信

本文来自&#xff1a;安卓航班网 首先&#xff0c;欢迎来到程序员的世界。在这个世界上&#xff0c;不是有很多人想创造软件并解决问题。你是一名hacker&#xff0c;属于那些愿意做一些有挑战性的事情的人。  “当你不创造东西时&#xff0c;你只会根据自己的感觉而不是能力去…

火狐浏览器所有的快捷键

From: http://zhidao.baidu.com/question/218604936.html firefox快捷键搜索类&#xff1a;本页查找&#xff1a; CtrlF 再次查找&#xff1a; F3 输入查找链接&#xff1a; 输入查找文本&#xff1a; / 查找&#xff1a; ShiftF3 网页搜索&#xff1a; CtrlK 或 CtrlEfire…

超文本引用href的几种用法

href"要跳转目标链接"; href"#";当前页面不跳转&#xff08;返回顶部&#xff09; href"###";当前页面不跳转&#xff08;同时不回到顶部&#xff09; href"javascript:;";当前页面不跳转&#xff0c;返回空 href"javscript:void…

[react] React的触摸事件有哪几种?

[react] React的触摸事件有哪几种&#xff1f; onTouchCancel onTouchEnd onTouchMove onTouchStart 个人简介 我是歌谣&#xff0c;欢迎和大家一起交流前后端知识。放弃很容易&#xff0c; 但坚持一定很酷。欢迎大家一起讨论 主目录 与歌谣一起通关前端面试题

arm-linux-gnueabihf gcc8.3交叉编译工具搭建教程

一、运行环境 1.1 执行机环境 ld GNU ld (GNU Binutils for Raspbian) 2.31.1 ldd ldd (Debian GLIBC 2.28-10rpi1) 2.28 Copyright (C) 2018 Free Software Foundation, Inc. gcc (Raspbian 8.3.0-6rpi1) 8.3.0 Copyright (C) 2018 Free Software Foundation, Inc.…

Md5 Md5实现原理

参考&#xff1a; http://wenku.baidu.com/view/ddb1008271fe910ef12df8df.html转载于:https://www.cnblogs.com/85538649/archive/2011/08/24/2152187.html

Linux tcpdump命令详解

From: http://www.cnblogs.com/ggjucheng/archive/2012/01/14/2322659.html 简介 用简单的话来定义tcpdump&#xff0c;就是&#xff1a;dump the traffic on a network&#xff0c;根据使用者的定义对网络上的数据包进行截获的包分析工具。 tcpdump可以将网络中传送的数据包…