Cam класс
var Cam = require('fib-onvif').Cam;
Параметры:
Библиотека автоматически вызывает connect(), который выполняет getSystemDateAndTime
, getCapabilities
и другие методы.
Примечание по имени пользователя и паролю:
getSystemDateAndTime
.Callback (необязательно) выполняется при инициализации cam. Единственным аргументом для этой функции является возможная ошибка.
Когда объект cam создан, он автоматически отправляет команду getCapabilities
на устройство ONVIF. Если устройство является камерой или кодировщиком (NVT), оно отправляет две команды на устройство ONVIF: getVideoSources
и getProfiles
. Оно заполняет соответствующие свойства объекта:
После этого он запускает метод getActiveSources
. Он перебирает все источники видео и пытается выяснить правильную конфигурацию для профиля и источника видео. Первый соответствующий профиль становится членом массива defaultProfiles, а конфигурация источника видео с конфигурацией PTZ становится членом массива activeSources.
Конфигурация для первого или единственного источника видео становится свойствами defaultProfile и activeSource. Все методы без передачи объекта options используют его. Вы можете изменить его вручную в любое время.
Подключиться к камере и заполнить свойства информации об устройстве с помощью методов getSystemDateAndTime
, getCapabilities
, getVideoSources
, getProfiles
Более подробную информацию см. на сайте http://www.onvif.org/ver10/media/wsdl/media.wsdl
После инициализации камеры мы можем запустить несколько команд ONVIF. Существует несколько распространённых методов, которые работают без учётных данных. Вот они: getSystemDateAndTime
.
Возвращает объект Date с текущим datetime камеры в обратном вызове. Работает без учётных данных (передаются аргументы username
и password
).
Устройство. Возвращает информацию об устройстве, такую как производитель, модель и версию прошивки, в обратном вызове.
Работает без учётных данных (передаются аргументы username
и password
).
Устройство. В обратном вызове возвращает и присваивает свойству #services
массив, состоящий из объектов со свойствами: namespace
, XAddr
, version
.
Устройство. В обратном вызове возвращает и присваивает свойству #serviceCapabilities
возможности службы устройства (не медиа): сеть, безопасность и система. Если ваше устройство поддерживает некоторые вспомогательные возможности, они тоже будут там.
Медиа. Возвращает URI, который можно использовать для инициирования потока живого мультимедиа с использованием RTSP в качестве протокола управления. Параметры:
stream
(необязательно) — определяет, запрашивается ли многоадресный или одноадресный поток. Возможные значения: 'RTP-Unicast' (по умолчанию), 'RTP-Multicast';protocol
(необязательно) — определяет сетевой протокол для потоковой передачи. Возможные значения: 'UDP', 'TCP', 'RTSP' (по умолчанию), 'HTTP';profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
.Медиа. Получить URI снимка JPEG с устройства.
Возвращает сохранённые пресеты. В качестве объекта «ключ-значение», где ключ — это имя предустановки, а значение — токен предустановки.
Этот метод также сохраняет информацию о предустановках в свойстве #presets
объекта.
Варианты:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
.Операция PTZ для перехода к сохранённой позиции предустановки для узла PTZ в выбранном профиле.
Параметры:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
;preset
— название предустановки. Список предустановок можно получить с помощью метода #getPresets
или в свойстве #presets
.Операция PTZ для установки текущей позиции в качестве предустановки для узла PTZ в выбранном профиле. Если в качестве опции передан presetToken
, то будет заменена предустановка, к которой привязан этот токен. После успешного выполнения следует повторно получить предустановки с помощью метода #getPresets
.
Параметры:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
;presetName
(необязательно) — имя, которое будет присвоено предустановке (при обновлении предустановки).Операция PTZ для удаления предустановки, указанной с помощью токена предустановки. После успешного выполнения следует повторно получить предустановки с помощью метода #getPresets
.
Параметры:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
;presetToken
— токен предустановки, который будет использоваться для удаления (это будет значение объекта предустановки, найденного в #presets
, после вызова метода #getPresets
).Операция PTZ для перехода в сохранённую позицию «дом» для узла PTZ в выбранном профиле. Если позиция «дом» не была сохранена, камера ONVIF ничего не сделает.
Параметры:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
;speed
— объект со свойствами:
x
— скорость панорамирования;y
— скорость наклона;zoom
— скорость масштабирования.
Если опция скорости опущена, будет использована скорость по умолчанию, установленная PTZConfiguration.Операция PTZ для установки текущей позиции как позиции «дом» для узла PTZ в выбранном профиле.
Параметры:
profileToken
(необязательно) — определяет медиапрофиль для использования и будет определять конфигурацию содержимого потока. По умолчанию используется #activeSource.profileToken
.PTZ. Возвращает свойства текущего узла PTZ, если он существует. Используйте эту функцию, чтобы получить максимальное количество предустановок, диапазоны допустимых значений для x, y, zoom, iris, focus. Записывает всю информацию в свойство #nodes
.
PTZ. Это метод относительного панорамирования, наклона и масштабирования. Опции для этого метода — разница между желаемой и текущей позицией камеры.
Опции:
x
— панорамирование, число или строка в диапазоне от -1 до 1, необязательно;y
— наклон, число или строка в диапазоне от -1 до 1, необязательно;zoom
— масштабирование, число или строка в диапазоне от -1 до 1, необязательно;speed
— объект со свойствами:
x
— скорость панорамирования;y
— скорость наклона;zoom
— скорость масштабирования.
Если опция скорости пропущена, будет использоваться скорость по умолчанию, заданная PTZConfiguration.
Обратный вызов необязателен и фактически ничего не значит.PTZ. Это абсолютный метод панорамирования, наклона и масштабирования. Варианты для этого метода — абсолютная позиция камеры.
Опции:
x
— панорамирование, число или строка в диапазоне от -1 до 1, необязательно;y
— наклон, число или строка в диапазоне от -1 до 1, необязательно;zoom
— масштабирование, число или строка в диапазоне от -1 до 1, необязательно;speed
— объект со свойствами:
x
— скорость панорамирования;y
— скорость наклона;zoom
— скорость масштабирования. speed option is omitted, the default speed set by the PTZConfiguration will be used.
Callback is optional and means essentially nothing.
continuousMove(options, callback) PTZ. Операция для непрерывных движений Pan/Tilt и Zoom.
Параметры:
x
— скорость движения Pan, число или строка в диапазоне от -1 до 1, опционально;y
— скорость движения Tilt, число или строка в диапазоне от -1 до 1, опционально;zoom
— скорость движения Zoom, число или строка в диапазоне от -1 до 1, опционально;timeout
— время ожидания в миллисекундах, число. Если timeout опущен, движение будет продолжаться до команды stop.stop(options, callback) PTZ. Останавливает текущие движения pan, tilt и zoom абсолютного, относительного и непрерывного типа.
Параметры и callback опциональны. Свойствами параметров являются:
profileToken
(опционально) — определяет медиапрофиль для использования и задаёт конфигурацию содержимого потока. По умолчанию — #activeSource.profileToken
;panTilt
(опционально) — устанавливается в значение true, когда мы хотим остановить текущие движения панорамирования и наклона. Если аргументы panTilt отсутствуют, эта команда останавливает эти движения;zoom
(опционально) — устанавливается в значение true, когда мы хотим остановить текущее движение зума. Если аргументы zoom отсутствуют, эта команда останавливает текущее движение зума.getStatus(options, callback) PTZ. Возвращает объект с текущими значениями PTZ.
{
position: {
x: 'положение панорамирования'
, y: 'положение наклона'
, zoom: 'зум'
}
, moveStatus: {} // камера движется
, utcTime: 'текущее время камеры'
}
getConfigurations(callback)
PTZ. Получает все существующие PTZConfigurations с устройства. Конфигурации сохраняются в свойстве #configurations
.
getConfigurationOptions(configurationToken, callback) PTZ. Получает поддерживаемые системы координат, включая ограничения их диапазона для выбранной конфигурации. Расширяет соответствующий объект конфигурации.
gotoHomePosition
, ptz.setHomePosition
. Исправлены исключения в ptz.getConfigurations
и utils.parseSOAPString
. Добавлены тесты для ptz.setPreset
, ptz.removePreset
, ptz.gotoHomePosition
и ptz.setHomePosition
;preserveAddress
для устройств NAT, обнаружение с несколькими сетевыми интерфейсами (@Climax777);Схемы WSDL и документы:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )