onvif协议之初探
onvif协议基于soap协议实现,定义了大量的wsdl。
可以在网址查看:
http://www.onvif.org/onvif/ver10/network/wsdl/remotediscovery.wsdl
http://www.onvif.org/onvif/ver10/device/wsdl/devicemgmt.wsdl
http://www.onvif.org/onvif/ver20/analytics/wsdl/analytics.wsdl
http://www.onvif.org/onvif/ver10/analyticsdevice.wsdl
http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl
http://www.onvif.org/onvif/ver20/media/wsdl/media.wsdl
http://www.onvif.org/onvif/ver10/deviceio.wsdl
http://www.onvif.org/onvif/ver10/display.wsdl
http://www.onvif.org/onvif/ver10/event/wsdl/event.wsdl
http://www.onvif.org/onvif/ver20/imaging/wsdl/imaging.wsdl
http://www.onvif.org/onvif/ver10/recording.wsdl
http://www.onvif.org/onvif/ver10/replay.wsdl
http://www.onvif.org/onvif/ver10/search.wsdl
http://www.onvif.org/onvif/ver10/receiver.wsdl
http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl
具体查看文档见onvif协议 连接如下:
onvif协议文档
wcf是微软开发的一系列通信框架,其中支持soap协议。在理论上是的实现onvif协议可以通过wcf实现。
通过接近一天的专研,成功实现了用wcf实现了onvif客户端。
第一步:添加服务引用
第二步就可以直接调用wcf实现了
设置onvif服务地址:
EndpointAddress serviceAddress = new EndpointAddress(string.Format("http://{0}:{1}/onvif/device_service", ip, port));
设置传输方式,这里设置为soap1.2版本,传输方式为http协议
HttpTransportBindingElement httpBinding = new HttpTransportBindingElement();httpBinding.AuthenticationScheme = AuthenticationSchemes.Digest;httpBinding.KeepAliveEnabled = false;
var messageElement = new TextMessageEncodingBindingElement();messageElement.MessageVersion = MessageVersion.CreateVersion(EnvelopeVersion.Soap12, AddressingVersion.None);CustomBinding bind = new CustomBinding(messageElement, httpBinding);
最后设置绑定
DeviceClient deviceClient = new DeviceClient(bind, serviceAddress);
调用类实现接口
var ttt= deviceClient.GetSystemDateAndTime();
查看成功失败可以通过wireshark抓包
为了便于大家学些,上传demo如下:开发环境为vs2017
基于wcf的onvif客户端demo
onvif协议之初探相关推荐
- Atitit onvif协议获取rtsp地址播放java语言 attilx总结
Atitit onvif协议获取rtsp地址播放java语言 attilx总结 1.1. 获取rtsp地址的算法与流程1 1.2. Onvif摄像头的发现,ws的发现机制,使用xcf类库1 2. 调用 ...
- 使用ONVIF协议控制海康威视球机
运行前应检测摄像头是否开启onvif协议,并添加添加用户 import time import zeep import requests from onvif import ONVIFCamera f ...
- tps协议和onvif协议_做监控的你,应该了解的ONVIF协议!
原标题:做监控的你,应该了解的ONVIF协议! 做网络监控时间长了,听到的最多的就是协议.记着早了几年,大家吐槽的就是一点:网络没有模拟的好,是因为协议不兼容.于是就有了一个标准的协议:ONVIF协议 ...
- 小米摄像头有onvif协议_监控摄像头完好但图像不行,肯定逃不过这10个问题
摄像头仅仅是视频监控系统的一部分,即使摄像头完好无损,监控画面也可能会出现不显示.卡顿.丢失等情况.想要彻底解决网络监控的问题,往往需要排查各个连接设备才可以判断.下面我们就总结了10个问题,彻底解决 ...
- JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制
接上一篇 使用Onvif协议最重要的应用就是对设备进行PTZ云台控制,PTZ控制包含转动.变焦等,这里我们主要讨论常用的转动和变焦(也就是放大缩小) 流程 要进行设备PTZ控制,我们首先需要获取到设备 ...
- onvif协议_大华的录像机添加海康摄像头,使用了onvif协议,为啥也添加不进去?...
大华的录像机添加海康摄像头在监控项目中经常会遇到,有很多的项目我们使用并不是同一个厂家的设备. 前段时间我们弱电vip技术2群中讨论到一个问题,关于大华的录像机添加海康摄像头为什么总是不成功,很多情况 ...
- ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services
ONVIF协议网络摄像机(IPC)客户端程序开发(3):理解什么是Web Services 1. 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文 ...
- ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头
ONVIF协议网络摄像机(IPC)客户端程序开发(2):第一次使用IPC摄像头 1. 专栏导读 2. 适合读者 本文只适合第一次拿到IPC摄像头,很好奇该怎么使用IPC的读者.已经玩过IPC的,可以略 ...
- ONVIF协议网络摄像机(IPC)客户端程序开发(8):获取设备基本信息
ONVIF协议网络摄像机(IPC)客户端程序开发(8):获取设备基本信息 1 专栏导读 本专栏第一篇文章「专栏开篇」列出了专栏的完整目录,按目录顺序阅读,有助于你的理解,专栏前面文章讲过的知识点(或代 ...
最新文章
- SQL语句——将Excel文档导入数据表中
- ArcIMS .NET Link的开发配置
- python读取excel某一列内容-Python读取Excel数据并根据列名取值
- 计算机科学与技术 单片机,单片机-兰州交通大学计算机科学与技术实验教学中心...
- 64位环境0和NULL的区别
- HDU 3974 Assign the task(dfs时间戳+线段树成段更新)
- 100. Same Tree
- ctfshow-萌新-web14( 曲线救国-POST请求绕过获取网站敏感信息)
- PHP文件可限速下载代码
- 腾讯云 python接口_python调用腾讯云短信接口
- 微信小程序支付封装-复制即用
- U盘的针脚板竟然掉了
- 例3.3 哈夫曼树 - 九度教程第30题(哈夫曼树)
- 软件测试中的43个功能测试点总结
- Windows使用MinGW编译ffmpeg
- 免杀横向移动工具WMIHACKER
- hadoop学习路线
- QtCreator总是崩溃卡死的问题
- 程序员最不想让你知道的尴尬瞬间,看完我眼睛都绿了
- 嵌入式linux学习笔记--gitlab学习笔记-gitlab-runnner简单的使用介绍
热门文章
- java发送短信的发送报告处理
- 旧的非flash版Metalink的入口
- 以太网的分层架构_以太网矩阵(Ethernet Fabric)简介
- 计算机考场桌子大小,自己打卧室电脑书桌最小宽度尺寸多少合适
- LeetCode 669. 修剪二叉搜索树(Trim a Binary Search Tree)
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据...
- linux文件或目录权限修改后如何恢复(备份了权限就能恢复)
- watch 与 computed
- JAVA 反射 动态获取类,并调用方法
- hdu 2222 Keywords Search ac自己主动机