信息:
摄像机型号: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;
但是,当我将摄像机平移到最左边,右边,botton或顶部时,我得到的值与最大值不同...
这些值对我来说毫无意义...
在https://www.onvif.org/ver20/ptz/wsdl/ptz.wsdl中请求“ GetCompatibleConfigurations”