Difference between revisions of "JavaScript API ru"

From ElphelWiki
Jump to: navigation, search
m (Общий способ работы с функциями)
m (Общий способ работы с функциями)
Line 11: Line 11:
  
 
Каждая функция имеет унифицированный набор параметров
 
Каждая функция имеет унифицированный набор параметров
  cam_groupcmd(addr, params,.., function,..)
+
  cam_groupcmd(addr, params,.., functions,..)
 
*'''cam_''' - общий префикс всех библиотечных функций
 
*'''cam_''' - общий префикс всех библиотечных функций
 
*'''group''' - имя группы функций, например '''info'''
 
*'''group''' - имя группы функций, например '''info'''

Revision as of 10:49, 6 November 2005

(Проект)

in English | autotranslate | по-русски | [[{{{cn}}}|中文版]]

Библиотека предназначена для работы с камерами из javascript

Функции для работы с камерами

Общий способ работы с функциями

Каждая операция разбивается на два этапа - запрос и подтверждение. При запросе передаются callback-функции которые вызываются по приходу информации от камеры.

Для работы с функциями следует подключить файл-библиотеку libelphel_cam.js

Каждая функция имеет унифицированный набор параметров

cam_groupcmd(addr, params,.., functions,..)
  • 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

Слайдер

Двойной слайдер

для задания интервалов

Графический эквалайзер

Фото кадр

Просмотр видео

Универсальный просмотр фото/видео