onvif云台控制,还有有点麻烦的,主要是不知道参数如何填写,通过接近一天的摸索,终于有点名目了。

我使用的是ContinuousMove这个api,介绍如下,网址https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl

ContinuousMove
Description:Operation for continuous Pan/Tilt and Zoom movements.
The operation is supported if the PTZNode supports at least one continuous Pan/Tilt or Zoom space.
If the space argument is omitted, the default space set by the PTZConfiguration will be used.
SOAP action:http://www.onvif.org/ver20/ptz/wsdl/ContinuousMove
Input:
[ContinuousMove]ProfileToken [ReferenceToken]A reference to the MediaProfile.
Velocity [PTZSpeed]A Velocity vector specifying the velocity of pan, tilt and zoom.
PanTilt - optional;  [Vector2D]Pan and tilt speed. The x component corresponds to pan and the y component to tilt. If omitted in a request, the current (if any) PanTilt movement should not be affected.
Zoom - optional;  [Vector1D]
A zoom speed. If omitted in a request, the current (if any) Zoom movement should not be affected.
Timeout - optional;  [duration]An optional Timeout parameter.
Output:
[ContinuousMoveResponse]

此API可以实现云台的上、下、左、右 以及拉近,拉远。

速度调整使用的是类Vector2D ,此类有两个参数,x 和y 范围都在0 ---1之间,x为负数,表示左转,x为正数,表示右转,

y为负数,表示下转,y为正数,表示上转。 通过x和y的组合,来实现云台的控制。

拉近和拉远通过Vector1D,此类有一个参数x  范围也在0--1之间 x为正数表示拉近,x为负数,表示拉远。

另外,x 和y的绝对值越接近1,表示云台的速度越快。

onvif预制位控制 使用的是GotoPreset函数,速度调整还是Vector2D类,和前面一样。预制位设置需要获取全部预制位信息,

具体实现如下

                PTZPreset[] presets = ptzClient.GetPresets(MmProfiles[0].token);if (presets.Length >= presetNumber){var presetToken = presets[presetNumber - 1].token;ver20Ptz.PTZSpeed velocity = new ver20Ptz.PTZSpeed(){PanTilt = vector2D};ptzClient.GotoPreset(MmProfiles[0].token, presetToken, velocity);}

onvif的预置位的属性

name代表预置位的名字,token代表预置位的序号。看如下截图就能明白他们之间的对应关系。

另外,为了方便大家学习,通过vs2017编写的demo如下链接。C#实现。

onvif协议之云台控制

onvif协议之云台控制相关推荐

  1. SOAP学习之二:全网最简单的ONVIF协议IPC云台PTZ控制VC++代码--不使用gsoap!!

    接触soap和xml第三天,稍有一点认识,看了很多文章,都不适合我的项目.目前项目中用到三台不同品牌的IPC,虽说厂家都用SDK,但在项目中引入三套SDK有点臃肿,何况目前已实现了使用VLC的拉流播放 ...

  2. 视频流媒体服务器ONVIF探测和云台控制是如何设置的?

    我们知道流媒体服务器是可以支持Onvif协议的,只是需要摄像头具有onvif协议,并且在流媒体服务器后台进行探测. 我们有一位开发者准备了具有onvif协议摄像头球机,但是启动EasyNVR之后,并不 ...

  3. SkeyeVSS国标视频汇聚云服务使用Onvif、GB28181协议对监控摄像机设备进行PTZ云台控制

    SkeyeVSS平台可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚.整合.集中管理,实现视频资源的鉴权管理.按需调阅.全网分发.智能分析等.平台可支持多协议.多类型设备接入,包括国标GB281 ...

  4. Onvif协议:IPC客户端开发之PTZ控制

    介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个方向(上.下.左.右 ...

  5. JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制

    接上一篇 使用Onvif协议最重要的应用就是对设备进行PTZ云台控制,PTZ控制包含转动.变焦等,这里我们主要讨论常用的转动和变焦(也就是放大缩小) 流程 要进行设备PTZ控制,我们首先需要获取到设备 ...

  6. Onvif协议客户端开发(8)--球机云台的控制

    球机的云台控制 一.介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个 ...

  7. golang通过onvif协议控制云台

    golang通过onvif协议控制云台 onvif协议 推荐使用github三方库 代码示例 onvif协议 协议详情参考onvif官网, 本文章只是go通过onvif协议控制云台 推荐使用githu ...

  8. Onvif协议学习:14、球机云台控制PTZ

    Onvif协议学习:14.球机云台控制PTZ 文章目录 Onvif协议学习:14.球机云台控制PTZ 一.介绍 二.代码实现 八个方向.放下及缩小控制 聚焦控制 原文链接:https://blog.c ...

  9. ONVIF协议开发之网络摄像头云台控制(C版)

    在之前的文章中(<python-onvif实现客户端控制相机云台>),介绍过用python实现基于onvif协议的相机云台控制,考虑到嵌入式端的执行效率问题,还是需要实现C/C++版本的接 ...

最新文章

  1. 【c语言】蓝桥杯算法提高 3-2字符串输入输出函数
  2. sprintf-%s的用法
  3. 渲染器跑分_这一次会挤牙膏吗?9400F/10400跑分对比
  4. C语言 函数声明和调用 - C语言零基础入门教程
  5. 推荐一个神器 - 把你的照片随心所欲的摆成各种形状
  6. 在Java中的foreach循环中调用remove
  7. 树莓派百度语音识别+图灵机器人对话聊天机器人
  8. JavaScript 中的 this 到底指向谁?
  9. linux如何共享网络打印机,Ubunt如何安装网络打印机的详细图文步骤
  10. 移动端css文件命名,移动端手机前端css命名规范.docx
  11. 底层驱动 【One Day】gec6818开发板刷屏+secureCRT+tftpd32.334安装教程+SD启动卡教程
  12. php论文中期进展情况,我院开展2017年本、硕毕业创作/设计及毕业论文中期检查工作...
  13. 3种团队分组适应项目_分组团队竞赛活动方案
  14. 使用七牛云存储解决ios7.1的app部署问题 https
  15. python re import_完全搞懂Python 中的 import 与 from import
  16. yun mysql_yun 安装mysql
  17. 【指数编制系列七】价格指数编制方法
  18. 网络基础之为了安全而诞生的NAT(网络地址转换)
  19. Python爬虫快速入门:基本结构简单实例
  20. 中国联通今年5G投资350亿元!附2019业绩PPT全文

热门文章

  1. Ubuntu中网络编程的环境配置
  2. 分享美化复选框和单选框插件
  3. java访问权限的控制
  4. 高接低挡,Isilon三款新品铺开战线
  5. html怎么设置波浪线,前端基础学习-css实现波浪线及立方体
  6. halcon学习之边缘检测
  7. Java深入了解TreeSet,和迭代器遍历方法
  8. em算法 实例 正态分布_人人都能看懂的EM算法推导
  9. 文本文件上传漏洞[任意.绕过.解析]
  10. python数据类型、if判断语句