Difference between revisions of "JavaScript API ru"
(→Функции для работы с камерами) |
(→Общий способ работы с функциями) |
||
Line 7: | Line 7: | ||
Каждая операция разбивается на два этапа - запрос и подтверждение. | Каждая операция разбивается на два этапа - запрос и подтверждение. | ||
При запросе передаются callback-функции которые вызываются по приходу информации от камеры. | При запросе передаются callback-функции которые вызываются по приходу информации от камеры. | ||
+ | |||
+ | Для работы с функциями следует подключить файл-библиотеку <strong>libelphel_cam.js</strong> | ||
+ | |||
+ | Каждая функция имеет унифицированный набор параметров | ||
+ | cam_groupcmd(addr, params,.., function,..) | ||
+ | *'''cam_''' - общий префикс всех библиотечных функций | ||
+ | *'''group''' - имя группы функций, например '''info''' | ||
+ | *'''cmd''' - имя функции в группе (может отсутствовать) | ||
+ | *'''addr''' - строка - IP адрес или DNS имя камеры. | ||
+ | *'''params,..''' - дополнительные параметры (фиксированное для кажной функции количество) | ||
+ | *'''functions,..''' - call-back функции вызываемые по приходу информации от камеры или при обнаружении ошибки. | ||
+ | Callback-функции рекомендуется определять в месте вызова библитечной функции. Например: | ||
+ | |||
+ | cam_info(cam_adr, //запрос информации о камере | ||
+ | function(manufacturer, hardware_version, software_version, img_type, rtp_type, mp_type) { //информация пришла | ||
+ | ... | ||
+ | }, | ||
+ | function(err) { //ошибка | ||
+ | ... | ||
+ | }, | ||
+ | function(time) { //таймаут | ||
+ | ... | ||
+ | }, | ||
+ | function() { //ожидание | ||
+ | ... | ||
+ | } | ||
+ | ) | ||
=== Инициализация === | === Инициализация === |
Revision as of 10:38, 6 November 2005
(Проект)
in English | autotranslate | по-русски | [[{{{cn}}}|中文版]]
Библиотека предназначена для работы с камерами из javascript
Функции для работы с камерами
Общий способ работы с функциями
Каждая операция разбивается на два этапа - запрос и подтверждение. При запросе передаются callback-функции которые вызываются по приходу информации от камеры.
Для работы с функциями следует подключить файл-библиотеку libelphel_cam.js
Каждая функция имеет унифицированный набор параметров
cam_groupcmd(addr, params,.., function,..)
- cam_ - общий префикс всех библиотечных функций
- group - имя группы функций, например info
- cmd - имя функции в группе (может отсутствовать)
- addr - строка - IP адрес или DNS имя камеры.
- params,.. - дополнительные параметры (фиксированное для кажной функции количество)
- functions,.. - call-back функции вызываемые по приходу информации от камеры или при обнаружении ошибки.
Callback-функции рекомендуется определять в месте вызова библитечной функции. Например:
cam_info(cam_adr, //запрос информации о камере function(manufacturer, hardware_version, software_version, img_type, rtp_type, mp_type) { //информация пришла ... }, function(err) { //ошибка ... }, function(time) { //таймаут ... }, function() { //ожидание ... } )
Инициализация
Нужна ли функция инициализации библиотеки? Думаю что общую инициализацию можно спрятать в сам JS файл библиотеки и такая функция не нужна.
А функция инициализации работы с конкретной камерой в многокамерном варианте? Как получится, желательно чтобы её тоже не было. Следует учитывать, что в промежутках между запросами камера может перезагрузиться или обновиться, сейчас это не учитывается.
Информация о камере
Получение информации о камере: производитель, номер модели, номер версии прошивки, поддерживаемые функции
Параметры съёмки общие для видео и фото
функции установки/опроса параметров работают с массивами со строковыми индексами или полями объектов.
Имя | тип | значение |
---|---|---|
e | число[ ? ] | выдержка |
iq | число [ 1-100 ] | параметр качества |
Одиночные кадры
- получение кадра с установленными параметрами
- получение кадра с одновременной установкой параметров
Стримеры
запуск/остановка, параметры стримера
Работа с настройками
Сохранять/восстанавливать с куками и файлами. Файлы у клиента или в камере.
Внутренние функции
эти функции не предлагается использовать, они используются внутри библиотеки
Элементы UI
Слайдер
Двойной слайдер
для задания интервалов