Я пытаюсь разработать контрольную IP-камеру с ONVIF. Но у меня небольшая проблема с подключением PTZ-сервера ONVIF. Вот мой код:
private void PTZTest(DeviceClient client, double deviceTimeOffset, string ip, int port)
{
// Create Media object
string xaddr = string.Format("http://{0}/onvif/device_service", txtIP.Text);
MediaClient mediaService = OnvifServices.GetOnvifMediaClient(xaddr, deviceTimeOffset, txtUser.Text, txtPassword.Text);
// Create PTZ object
string xaddr2 = string.Format("http://{0}/onvif/ptz_service",txtIP.Text);
PTZClient ptzService = OnvifServices.GetOnvifPTZClient(xaddr2, deviceTimeOffset, txtUser.Text, txtPassword.Text);
// Get target profile
Profile[] mediaProfiles = mediaService.GetProfiles();
Profile mediaProfile = mediaService.GetProfile(mediaProfiles[0].token);
PTZConfigurationOptions ptzConfigurationOptions = ptzService.GetConfigurationOptions(mediaProfile.PTZConfiguration.token);
PTZ.PTZSpeed velocity = new PTZ.PTZSpeed();
velocity.Zoom = new PTZ.Vector1D() { x = speed * ptzConfigurationOptions.Spaces.ContinuousZoomVelocitySpace[0].XRange.Max };
Когда я установил точку останова на линии PTZConfigurationOptions ptzConfigurationOptions = ptzService.GetConfigurationOptions(mediaProfile.PTZConfiguration.token);
, я получил это сообщение об ошибке:
Не было конечной точки прослушивания на http://192.168.123.2/onvif/ptz_service, который может принять сообщение. Часто это происходит из-за неправильного адреса или действия SOAP. Если имеется, см. Элемент InnerException для получения дополнительной информации.
Но я не понимаю, почему у меня может быть список служб PTZ и вся информация о mediaService, но я не смог получить конфигурацию ptzconfiguration вариант.
Кто-нибудь знает, в чем конкретно проблема? И как мне это решить, пожалуйста!