LiveNVR中使用Onvif协议控制预置位
LiveNVR支持预置位控制,包括转到指定预置位,设置指定预置位,删除指定预置位
预置位在安防领域有较为普遍的应用,可以进行很多既定位置的跳转,很方便
之前我们说过如何用Onvif协议进行设备的发现,探测,以及云台控制等,今天我们来说一下如何使用Onvif进行预置位的操作
流程
获取设备能力Capabilities
获取设备的能力,并且可以获取到Media和PTZ的URI,使用这两个URL可以进行流和预置位操作,这里如果PTZ URI获取不到意味着这个设备无法支持预置位控制
_tds__GetCapabilities* capabilities = soap_new__tds__GetCapabilities(proxyDevice, -1);
tt__CapabilityCategory* category = new tt__CapabilityCategory;
capabilities->Category = category;
*(capabilities->Category) = tt__CapabilityCategory__All;
_tds__GetCapabilitiesResponse* response = soap_new__tds__GetCapabilitiesResponse(proxyDevice, -1);
if (SOAP_OK == proxyDevice->GetCapabilities(capabilities, response))
{if (response->Capabilities){//Media URI: response->Capabilities->Media->XAddr;//PTZ URI: response->Capabilities->PTZ->XAddr;}
}
获取Media Profile
_trt__GetProfiles* getProfiles = soap_new__trt__GetProfiles(proxyMedia, -1);
_trt__GetProfilesResponse* response = soap_new__trt__GetProfilesResponse(proxyMedia, -1);
if (SOAP_OK == proxyMedia->GetProfiles(getProfiles, response))
{int size = response->__sizeProfiles;for (int i = 0; i < size; ++i){if (response->Profiles[i]){//Media Profile Token: response->Profiles[i]->token;//一般设备包含多个Profile Token,包含主码流、子码流、第三码流}}
}
预置位控制
bool result = false;PTZBindingProxy* ptzProxy = new PTZBindingProxy;ptzProxy->soap_endpoint = ptzUrl.c_str();if (!security(ptzProxy, username, password)){delete ptzProxy;return result;}char presetToken[8];itoa(index, presetToken, 10);if (command == PRESET_GOTO){_tptz__GotoPreset* preset = soap_new__tptz__GotoPreset(ptzProxy, -1);_tptz__GotoPresetResponse* response = soap_new__tptz__GotoPresetResponse(ptzProxy, -1);preset->ProfileToken = const_cast<char*>(profile.c_str());preset->PresetToken = presetToken;if (SOAP_OK == ptzProxy->GotoPreset(preset, response))result = true;if (response)soap_delete__tptz__GotoPresetResponse(ptzProxy, response);if (preset)soap_delete__tptz__GotoPreset(ptzProxy, preset);}else if (command == PRESET_SET){_tptz__SetPreset* preset = soap_new__tptz__SetPreset(ptzProxy, -1);_tptz__SetPresetResponse* response = soap_new__tptz__SetPresetResponse(ptzProxy, -1);preset->ProfileToken = const_cast<char*>(profile.c_str());preset->PresetToken = presetToken;if (SOAP_OK == ptzProxy->SetPreset(preset, response))result = true;if (response)soap_delete__tptz__SetPresetResponse(ptzProxy, response);if (preset)soap_delete__tptz__SetPreset(ptzProxy, preset);}else if (command == PRESET_REMOVE){_tptz__RemovePreset* preset = soap_new__tptz__RemovePreset(ptzProxy, -1);_tptz__RemovePresetResponse* response = soap_new__tptz__RemovePresetResponse(ptzProxy, -1);preset->ProfileToken = const_cast<char*>(profile.c_str());preset->PresetToken = presetToken;if (SOAP_OK == ptzProxy->RemovePreset(preset, response))result = true;if (response)soap_delete__tptz__RemovePresetResponse(ptzProxy, response);if (preset)soap_delete__tptz__RemovePreset(ptzProxy, preset);}delete ptzProxy;return result;
关于LiveNVR
LiveNVR能够通过简单的网络摄像机通道配置,将传统监控行业里面的高清网络摄像机IP Camera、NVR等具有RTSP协议输出的设备接入到LiveNVR,LiveNVR能够将这些视频源的音视频数据进行拉取,转换为RTMP/HLS,进行全平台终端H5直播(Web、Android、iOS),并且LiveNVR能够将视频源的直播数据对接到第三方CDN网络,实现互联网级别的直播分发;
获取更多信息
邮件:support@liveqing.com
技术交流QQ群:947137753
咨询电话:15156896292(同微信)
试用下载: https://www.liveqing.com/docs/download/LiveNVR.html
LiveQing视频流媒体无插件直播方案:www.liveqing.com
Copyright © LiveQing Team 2016-2019
LiveNVR中使用Onvif协议控制预置位相关推荐
- golang通过onvif协议控制云台
golang通过onvif协议控制云台 onvif协议 推荐使用github三方库 代码示例 onvif协议 协议详情参考onvif官网, 本文章只是go通过onvif协议控制云台 推荐使用githu ...
- 使用ONVIF协议控制海康威视球机
运行前应检测摄像头是否开启onvif协议,并添加添加用户 import time import zeep import requests from onvif import ONVIFCamera f ...
- VC中基于TWAIN协议控制扫描仪-----初级版
PS:本人是C++小白一枚,在研究此功能时不知走了多少弯路,网上的资料各种残缺不齐,很多重点还一笔带过 参考博文:http://www.cnblogs.com/yedaoq/archive/2010/ ...
- java 使用onvif协议 PTZ 登录认证,获取摄像头位置, 控制摄像头转动,digest认证,拍照截图
1. 介绍 前面公司做摄像头相关的项目,一开始使用的海康威视提供的相关接口来控制摄像头转动,获取位置等,后面发现由于大华的很多摄像头使用该接口却行不通,后面所以就转用通用的 onvif 协议来做相关的 ...
- android studio集成onvif协议的网络摄像头
android版本的onvif及rtsp协议基本使用介绍 onvif协议实现源码 rtsp源码 Onvif协议基本介绍 1.搜索可用的设备 2.获取摄像头信息 3.获取摄像头截图 4.其他功能不一一介 ...
- SfxMCP基于onvif协议H5无插件直播方案中onvif设备的接入方法 - sfxlab
SfxMCP基于onvif协议H5无插件直播方案中onvif设备的接入方法 - sfxlab SFX流媒体解决方案基于安防行业推出了以媒体汇聚平台(SfxMCP)为主,以媒体分发平台(SfxMDP)和 ...
- Onvif协议:IPC客户端开发之PTZ控制
介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个方向(上.下.左.右 ...
- Onvif协议客户端开发(8)--球机云台的控制
球机的云台控制 一.介绍 在安防摄像头中,不仅仅涉及到固定摄像头的枪击,同样还包含可以360°转动的球机.因此对球机的云台方向控制是Onvif协议开发过程中必不可少的过程 球机的云台控制主要包含:八个 ...
- Onvif协议学习:14、球机云台控制PTZ
Onvif协议学习:14.球机云台控制PTZ 文章目录 Onvif协议学习:14.球机云台控制PTZ 一.介绍 二.代码实现 八个方向.放下及缩小控制 聚焦控制 原文链接:https://blog.c ...
最新文章
- 济南学习 Day2 T2 am
- java metrics 简书_Metrics 入门文档翻译
- 化工原理各章知识点汇总
- Activity的生命周期及各生命周期方法的作用
- C/C++字符串输入方法比较(带回车不带回车输入)
- CSS three column layout
- 软件测试 学习之路 DOS常用命令
- [费用流]Bzoj P1877 晨跑
- 支持向量机SVM推导
- python进阶课程目标 学习内容_Python学习教程(Python学习路线):第九天-面向对象进阶...
- linux定时备份文件到指定文件夹,Linux定时备份数据库到指定邮箱的方法
- 12.高性能MySQL --- 高可用性
- 分布式架构入门心得小结(1)
- 扩展频谱--直接序列扩频
- linux备份没有vmlinuz,模拟centos6.8系统下initramfs文件和vmlinuz文件损坏恢复
- 深入浅出虚拟机-第三版笔记(重点)整理-2022-04-06
- 免费学java的网站_java免费学习网站推荐
- 【VUE】vue安装教程
- Django之 migration 原理
- python一元线性回归算法,代码及参数更新动图展示
热门文章
- Linux下的文件目录及其作用
- 《第一行代码》Android学习笔记(6)数据存储
- 系统调用sys_write的过程
- 计算机组成原理南阳理工学院教务管理系统,南阳理工学院教务管理系统登录入口...
- Jena RDF API 使用教程
- 您真的理解了SQLSERVER的日志链了吗
- java变形金刚视频,Java 通用代码生成器光 2.0.0 Insight(内省) 发布尝鲜版 4,代码变形金刚...
- OPPO_1107刷机包 救砖解锁刷机教程
- Telling INIT to go to single user mode. init: rc main
- win7 64位下安装delphi xe3及破解