如何获得网络摄像机的实际ptz最小值/最大值?

问题描述 投票:0回答:1

信息:

摄像机型号:Amcrest IP2M-841B ip摄像机

我编写了一个c#winform应用程序,该应用程序可以连接到任何onvif ip摄像机,并通过按钮单击之类的事件向其发送ptz命令。

我正在使用以下wsdl作为

PTZ:https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl

媒体:http://www.onvif.org/onvif/ver10/media/wsdl/media.wsdl

问题:

如何通过通过onvif命令获得相机的实际最小/最大ptz值

到目前为止我尝试过的事情:

//PTZ
var ptzEndpointAddress = new EndpointAddress($"http://{cameraAddress}/onvif/ptz");
_ptzClient = new PTZClient(commonCustomBinding, ptzEndpointAddress);
_ptzClient.Endpoint.EndpointBehaviors.Add(commonPasswordDigestBehavior);

//Get configuration options
var configs = _ptzClient.GetConfigurations();
_ptzConfOptions = _ptzClient.GetConfigurationOptions(configs[0].token);

...

MaxPan = _ptzConfOptions.Spaces.AbsolutePanTiltPositionSpace[0].XRange.Max;
MinPan = _ptzConfOptions.Spaces.AbsolutePanTiltPositionSpace[0].XRange.Min;
MaxTilt = _ptzConfOptions.Spaces.AbsolutePanTiltPositionSpace[0].YRange.Max;
MinTilt = _ptzConfOptions.Spaces.AbsolutePanTiltPositionSpace[0].YRange.Min;
MaxZoom = _ptzConfOptions.Spaces.AbsoluteZoomPositionSpace[0].XRange.Max;
MinZoom = _ptzConfOptions.Spaces.AbsoluteZoomPositionSpace[0].XRange.Min;

这是我从这些值中得到的示例:onvif absolute min/max

但是,当我将摄像机平移到最左边,右边,botton或顶部时,我得到的值与最大值不同...

actual min/max 0

actual min/max 1

这些值对我来说毫无意义...

c# wsdl ip-camera onvif
1个回答
1
投票

https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl中请求“ GetCompatibleConfigurations”

© www.soinside.com 2019 - 2024. All rights reserved.