Центр Диагностики & База Системных Ошибок

Решения для Windows Server, Active Directory, 1С, СУБД, Linux, Cisco, MikroTik и IP-телефонии.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, баз данных и сетевого оборудования. Перед выполнением действий обязательно создайте резервную копию. При отсутствии необходимой квалификации обратитесь к ИТ-специалистам.
ONVIF_INVALID_ARG_VAL IP-Телефония и СКУД

ONVIF Ошибка InvalidArgVal: недопустимые аргументы PTZ и профилей

Обновлено: 24.08.2026  ·  Официальная база знаний
  • Камера возвращает SOAP Fault с кодом ter:InvalidArgVal при вызове команд управления или конфигурирования.
  • Отказ выполнения команд поворота PTZ (AbsoluteMove, ContinuousMove, RelativeMove).
  • Ошибка при попытке изменения битрейта, разрешения или частоты кадров видеопотока через VMS.
  • Сбой применения пресетов (GotoPreset) в поворотных камерах.

1. Причины возникновения InvalidArgVal

Код ter:InvalidArgVal (Subcode: Invalid Argument Value) сигнализирует о том, что клиент отправил синтаксически корректный XML-запрос, однако переданные параметры выходят за допустимые границы возможностей устройства. Основные сценарии:

  • Координаты скорости или положения PTZ превышают диапазон [-1.0 ... +1.0];
  • Запрошен несуществующий или удаленный токен профиля (ProfileToken);
  • Разрешение или кодек в SetVideoEncoderConfiguration не поддерживается оптическим сенсором камеры;
  • Использование строкового идентификатора вместо числового (или наоборот).

2. Валидация пространств координат PTZ (Spaces Limits)

Перед отправкой команд перемещения запросите допустимые диапазоны (PTZ Configuration Options):

<soapenv:Body>
  <ptz:GetConfigurationOptions xmlns:ptz="http://www.onvif.org/ver20/ptz/wsdl">
    <ptz:ConfigurationToken>PTZConfigToken_1</ptz:ConfigurationToken>
  </ptz:GetConfigurationOptions>
</soapenv:Body>

В ответе проверяйте секцию Spaces. Стандартные нормализованные векторы скорости:

<ptz:ContinuousMove>
  <ptz:ProfileToken>Profile_1</ptz:ProfileToken>
  <ptz:Velocity>
    <!-- Диапазон X (Pan): от -1.0 (влево) до +1.0 (вправо) -->
    <tt:PanTilt x="0.5" y="0.0" space="http://www.onvif.org/ver10/tptz/PanTiltSpaces/VelocityGenericSpace"/>
    <!-- Диапазон Z (Zoom): от -1.0 (Zoom Out) до +1.0 (Zoom In) -->
    <tt:Zoom x="0.0" space="http://www.onvif.org/ver10/tptz/ZoomSpaces/VelocityGenericSpace"/>
  </ptz:Velocity>
</ptz:ContinuousMove>

3. Проверка доступных ProfileToken

Никогда не хардкодьте строковые токены вроде "Profile_1" или "token_main". Сначала вызовите GetProfiles для получения актуального списка токенов устройства.

4. Проверка поддерживаемых конфигураций кодека

Перед изменением видеопотока вызовите GetVideoEncoderConfigurationOptions для получения списка валидных разрешений (ResolutionsAvailable) и интервала опорных кадров (GovLengthRange).

Практический опыт инженера: Некоторые бюджетные китайские камеры возвращают InvalidArgVal, если в запросе ContinuousMove отсутствует необязательный по спецификации тег таймаута . Всегда передавайте таймаут (например, PT5S) для повышения совместимости.

Частые вопросы (FAQ)

Почему вызов AbsoluteMove выдает InvalidArgVal, хотя координаты правильные?

Камера может не поддерживать абсолютное позиционирование (AbsoluteMove), требуя относительного (RelativeMove) или непрерывного (ContinuousMove) управления, либо в запросе указано неподдерживаемое координатное пространство (Space URI).

Что делать, если токен пресета вызывает ошибку в GotoPreset?

Вызовите метод GetPresets, чтобы получить актуальный список PresetToken, зарегистрированных в памяти поворотной платформы.

Может ли InvalidArgVal возникать из-за несоответствия типов данных XML?

Да, например передача дробного числа (0.5) в поле, требующее целочисленного значения integer (GovLength), вызовет отказ парсера с кодом InvalidArgVal.

Как проверить, поддерживает ли камера цифровой зум (Digital Zoom)?

Проверьте возвращаемые параметры в GetVideoAnalyticsConfigurationOptions и флаг ExtendedZoomSupported в ответе GetConfigurationOptions.