gpt4 book ai didi

c# - 如何使用onvif ptz wsdl

转载 作者:行者123 更新时间:2023-11-30 16:56:07 25 4
gpt4 key购买 nike

我正在尝试使用 http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl 控制 PTZ 摄像机文件。

我可以毫无问题地使用 GotoPreset 函数,但 ContinuousMove 函数会抛出 ProtocolException。

第 77 页 this指南显示了应如何使用 ConinuousMove 函数的示例。

按照本指南为我提供了以下代码:

        OnvifMediaClient.Profile[] profs = this.mediaClient.GetProfiles();
OnvifMediaClient.Profile profile = mediaClient.GetProfile(profs[0].token);

OnvifPTZ.PTZConfigurationOptions options = PtzClient.GetConfigurationOptions(profile.token);

OnvifPTZ.PTZSpeed velocity = new OnvifPTZ.PTZSpeed();

velocity.PanTilt = new OnvifPTZ.Vector2D();
velocity.Zoom = new OnvifPTZ.Vector1D();

velocity.PanTilt.x = options.Spaces.ContinuousPanTiltVelocitySpace[0].XRange.Max;
velocity.PanTilt.y = options.Spaces.ContinuousPanTiltVelocitySpace[0].YRange.Max;
velocity.PanTilt.space = options.Spaces.ContinuousPanTiltVelocitySpace[0].URI;
velocity.Zoom.x = options.Spaces.ContinuousZoomVelocitySpace[0].XRange.Max;
velocity.Zoom.space = options.Spaces.ContinuousZoomVelocitySpace[0].URI;

PtzClient.ContinuousMove(profile.token, velocity, "1000");

Thread.Sleep(2000);

PtzClient.Stop(profile.token, true, true);

但是与指南中的代码存在一些差异,例如,实际的 ContinuousMove 函数在我的代码中需要 3 个参数,而不是指南中的 2 个。额外的参数是一个超时,所以我认为这不会有太大的不同,但也许其他一些不同的东西会导致我的代码失败。

我没读过this的awnser那个人说 PTZ 摄像机不支持 ver20 的问题。但是,当我添加对 wsdl 的服务引用并将 ver20 更改为 ver10 时,我收到一条消息,指出添加 wsdl 失败,因为它包含无法解析的链接。此外,当我在我的网络浏览器中粘贴 ver10 url ( http://www.onvif.org/onvif/ver10/ptz/wsdl/ptz.wsdl) 时,它显示的是 xml 而不是 wsdl。

如果我还没有使用正确的 wsdl 文件,或者什么可以解决我当前设置中的行为,我该如何使用它?

最佳答案

我找到了解决方案。

原来是我误解了PtzClient.ContunuousMove中的超时参数。在以前的 wsdl 版本 (ver10) 中,每次您想要停止当前 PTZ 操作时都必须调用 Stop 函数。在 wsdl 的 ver20 中,PTZ 功能(除非调用 Stop 功能)将持续到超时参数中指定的时间。我以为这是响应超时之类的,但事实并非如此。

调用 ContinuousMove 现在看起来像这样:

PtzClient.ContinuousMove(profile.token, velocity, "PT1S");

字符串中的数字代表 PTZ Action 应该持续的秒数。

希望对大家有帮助。

关于c# - 如何使用onvif ptz wsdl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com