http://www.onvif.org/onvif/ver20/ptz/wsdl/ptz.wsdl 파일을 사용하여 PTZ 카메라를 제어하려고합니다.onvif ptz wsdl 사용 방법
GotoPreset 함수는 문제없이 사용할 수 있지만 ContinuousMove 함수는 ProtocolException을 발생시킵니다.
Page 77 of 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 질문을 받았다. 그 사람이 PTZ 카메라가 ver20을 지원하지 않는다고 말했다. 그러나 ver20이 ver10으로 변경된 wsdl에 서비스 참조를 추가 할 때 해결할 수없는 링크가 포함되어 있기 때문에 wsdl을 추가하지 못했습니다라는 메시지가 나타납니다. 또한 내 webbrowser에 ver10 URL (http://www.onvif.org/onvif/ver10/ptz/wsdl/ptz.wsdl)을 붙여 넣으면 wsdl 대신 xml이 표시됩니다.
이미 제대로 사용하고 있지 않거나 현재 설정에서 문제를 해결할 수있는 경우 올바른 wsdl 파일을 어떻게 사용할 수 있습니까?