onvif协议之云台控制
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协议之云台控制相关推荐
- SOAP学习之二:全网最简单的ONVIF协议IPC云台PTZ控制VC++代码--不使用gsoap!!
接触soap和xml第三天,稍有一点认识,看了很多文章,都不适合我的项目.目前项目中用到三台不同品牌的IPC,虽说厂家都用SDK,但在项目中引入三套SDK有点臃肿,何况目前已实现了使用VLC的拉流播放 ...
- 视频流媒体服务器ONVIF探测和云台控制是如何设置的?
我们知道流媒体服务器是可以支持Onvif协议的,只是需要摄像头具有onvif协议,并且在流媒体服务器后台进行探测. 我们有一位开发者准备了具有onvif协议摄像头球机,但是启动EasyNVR之后,并不 ...
- SkeyeVSS国标视频汇聚云服务使用Onvif、GB28181协议对监控摄像机设备进行PTZ云台控制
SkeyeVSS平台可在复杂的网络环境中,将分散的各类视频资源进行统一汇聚.整合.集中管理,实现视频资源的鉴权管理.按需调阅.全网分发.智能分析等.平台可支持多协议.多类型设备接入,包括国标GB281 ...
- Onvif协议:IPC客户端开发之PTZ控制
介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个方向(上.下.左.右 ...
- JAVA实现onvif的ptz控制_使用Onvif协议进行设备PTZ云台控制
接上一篇 使用Onvif协议最重要的应用就是对设备进行PTZ云台控制,PTZ控制包含转动.变焦等,这里我们主要讨论常用的转动和变焦(也就是放大缩小) 流程 要进行设备PTZ控制,我们首先需要获取到设备 ...
- Onvif协议客户端开发(8)--球机云台的控制
球机的云台控制 一.介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个 ...
- golang通过onvif协议控制云台
golang通过onvif协议控制云台 onvif协议 推荐使用github三方库 代码示例 onvif协议 协议详情参考onvif官网, 本文章只是go通过onvif协议控制云台 推荐使用githu ...
- Onvif协议学习:14、球机云台控制PTZ
Onvif协议学习:14.球机云台控制PTZ 文章目录 Onvif协议学习:14.球机云台控制PTZ 一.介绍 二.代码实现 八个方向.放下及缩小控制 聚焦控制 原文链接:https://blog.c ...
- ONVIF协议开发之网络摄像头云台控制(C版)
在之前的文章中(<python-onvif实现客户端控制相机云台>),介绍过用python实现基于onvif协议的相机云台控制,考虑到嵌入式端的执行效率问题,还是需要实现C/C++版本的接 ...
最新文章
- 【c语言】蓝桥杯算法提高 3-2字符串输入输出函数
- sprintf-%s的用法
- 渲染器跑分_这一次会挤牙膏吗?9400F/10400跑分对比
- C语言 函数声明和调用 - C语言零基础入门教程
- 推荐一个神器 - 把你的照片随心所欲的摆成各种形状
- 在Java中的foreach循环中调用remove
- 树莓派百度语音识别+图灵机器人对话聊天机器人
- JavaScript 中的 this 到底指向谁?
- linux如何共享网络打印机,Ubunt如何安装网络打印机的详细图文步骤
- 移动端css文件命名,移动端手机前端css命名规范.docx
- 底层驱动 【One Day】gec6818开发板刷屏+secureCRT+tftpd32.334安装教程+SD启动卡教程
- php论文中期进展情况,我院开展2017年本、硕毕业创作/设计及毕业论文中期检查工作...
- 3种团队分组适应项目_分组团队竞赛活动方案
- 使用七牛云存储解决ios7.1的app部署问题 https
- python re import_完全搞懂Python 中的 import 与 from import
- yun mysql_yun 安装mysql
- 【指数编制系列七】价格指数编制方法
- 网络基础之为了安全而诞生的NAT(网络地址转换)
- Python爬虫快速入门:基本结构简单实例
- 中国联通今年5G投资350亿元!附2019业绩PPT全文