Difference between revisions of "Video API legacy"

From ElphelWiki
Jump to: navigation, search
 
Line 3: Line 3:
 
The elementary system of using the Axis Video API, any who has even the slightest skills of writing HTML of pages can create. And with installed a set of the additional software, it is possible to create powerful enough system of video observation with an opportunity of record of videoarchives, journalizing, viewing of archives, etc.
 
The elementary system of using the Axis Video API, any who has even the slightest skills of writing HTML of pages can create. And with installed a set of the additional software, it is possible to create powerful enough system of video observation with an opportunity of record of videoarchives, journalizing, viewing of archives, etc.
  
== Image size information ==
+
== Information about image dimensions ==
Некоторые параметры, задаваемые по умолчанию, или явно передаваемые при получении изображений, влияют на размеры получаемого изображения. К таким параметрам относятся '''resolution, e_dcm_hor, e_dcm_vert, e_woi_width, e_woi_height, e_woi_left, e_woi_top'''. Иногда клиентскому приложению необходимо знать заранее о размерах получаемого изображения (например, чтобы необходимое выделить место на странице браузера или в окне приложения). Получить такую информацию можно по адресу :
+
Some parameters by default or transferred at the images obtaining is changing the image dimensions. It's such parameters as '''resolution, e_dcm_hor, e_dcm_vert, e_woi_width, e_woi_height, e_woi_left, e_woi_top'''. Sometimes for client application is necessary to know about dimensions of obtained image in advance (for example, for reserving a necessary area in a browser page or application window). You can obtain this information at the address:
 
  <nowiki>http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?</nowiki>
 
  <nowiki>http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?</nowiki>
Можно передавать на вход этого скрипта любые параметры, которые поддерживают image.cgi и video.cgi. Например :
+
Is possible the transfer to this script of any parameters, which support the image.cgi and video.cgi. For example:
 
  <nowiki>http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?e_dcm_vert=2&e_dcm_hor=2&e_woi_width=1800</nowiki>
 
  <nowiki>http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?e_dcm_vert=2&e_dcm_hor=2&e_woi_width=1800</nowiki>
Ответ сервера имеет следующий вид :
+
The server response is:
  
 
  image width  = 896
 
  image width  = 896
 
  image height = 768
 
  image height = 768
  
== Статические изображения ==
+
== Static images ==
Для получения картинки с камеры достаточно ввести в браузере следующий путь:
+
For obtaining image from camera is enough to type the following path in the browser's address field:
  
 
  <nowiki>http://192.168.0.9/jpg/image.jpg </nowiki>
 
  <nowiki>http://192.168.0.9/jpg/image.jpg </nowiki>
  
'''Примечание.''' 192.168.0.9 - это IP адрес, присваеваемый камере по-умолчанию. Если ваша камера имеет IP адрес отличный от 192.168.0.9, то используйте его.
+
'''Note''' 192.168.0.9 - it's the camera IP-address by default. If you have changed the camera IP-address, please, type your variant.
  
Можно также запрашивать с камеры изображения с некоторым набором параметров. Для этого используется путь :
+
It's possible also to inquire from camera the image with a certain set of parameters. The path is used for this:
  
 
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?param1=xxx&param2=yyy&.....</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?param1=xxx&param2=yyy&.....</nowiki>
 
   
 
   
Ниже приведен список параметров, которые можно использовать.
+
See the list of accessible parameters below.
 
   
 
   
'''resolution'''=<string>    Specify the resolution of the returned image, for example 800x600.  Product-dependent.  Просмотреть, какие значения поддерживает Ваша камера можно по адресу :  ''<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Resolution</nowiki>''
+
'''resolution'''=<string>    Specify the resolution of the returned image, for example 800x600.  Product-dependent.  Checking the values which supported by your camera is possible at the address:  ''<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Resolution</nowiki>''
 
   
 
   
'''compression'''=<int>    Adjusts the compression level of the image. Higher values correspond to higher compression, i.e. lower quality and smaller image size.  Может принимать значение от 0 до 100. В большинстве случаев оптимальным является значение 30.
+
'''compression'''=<int>    Adjusts the compression level of the image. Higher values correspond to higher compression, i.e. lower quality and smaller image size.  It can have value from 0 to 100. In many cases the 30 is  optimally.
 
   
 
   
'''colorlevel'''=<int>    Sets level of color or grey-scale. Может принимать значение от 0 до 100.  0 = grey-scale, 100 = full color.
+
'''colorlevel'''=<int>    Sets level of color or grey-scale. It can have value from 0 to 100.  0 = grey-scale, 100 = full color.
 
   
 
   
'''color'''=<int>    Enables/disables color.  Может принимать значения 0 и 1.  0 = black and white, 1 = color.
+
'''color'''=<int>    Enables/disables color.  It can have value 0 or 1.  0 = black and white, 1 = color.
 
   
 
   
'''rotation'''=<int>    Rotates the image clockwise.  Product-dependent.  Просмотреть, какие значения поддерживает Ваша камера можно по адресу :  ''<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Rotation</nowiki>''
+
'''rotation'''=<int>    Rotates the image clockwise.  Product-dependent.  Checking the values which supported by your camera is possible at the address:  ''<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Rotation</nowiki>''
 
   
 
   
 
Кроме стандартных параметров, перечисленных выше, есть расширения, которые позволяют более гибко использовать камеры Elphel. Об этих расширениях смотрите страницу [[Video API Extensions.Ru]].
 
Кроме стандартных параметров, перечисленных выше, есть расширения, которые позволяют более гибко использовать камеры Elphel. Об этих расширениях смотрите страницу [[Video API Extensions.Ru]].

Revision as of 11:45, 22 December 2005

in English | [[{{{de}}}|deutsch]] | [[{{{fr}}}|français]] | по-русски | автоперевод | 中文版 | 机械翻译


The elementary system of using the Axis Video API, any who has even the slightest skills of writing HTML of pages can create. And with installed a set of the additional software, it is possible to create powerful enough system of video observation with an opportunity of record of videoarchives, journalizing, viewing of archives, etc.

Information about image dimensions

Some parameters by default or transferred at the images obtaining is changing the image dimensions. It's such parameters as resolution, e_dcm_hor, e_dcm_vert, e_woi_width, e_woi_height, e_woi_left, e_woi_top. Sometimes for client application is necessary to know about dimensions of obtained image in advance (for example, for reserving a necessary area in a browser page or application window). You can obtain this information at the address:

http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?

Is possible the transfer to this script of any parameters, which support the image.cgi and video.cgi. For example:

http://192.168.0.9/var/axis-cgi/view/imagesize.cgi?e_dcm_vert=2&e_dcm_hor=2&e_woi_width=1800

The server response is:

image width  = 896
image height = 768

Static images

For obtaining image from camera is enough to type the following path in the browser's address field:

http://192.168.0.9/jpg/image.jpg 

Note 192.168.0.9 - it's the camera IP-address by default. If you have changed the camera IP-address, please, type your variant.

It's possible also to inquire from camera the image with a certain set of parameters. The path is used for this:

http://192.168.0.9/axis-cgi/jpg/image.cgi?param1=xxx&param2=yyy&.....

See the list of accessible parameters below.

resolution=<string> Specify the resolution of the returned image, for example 800x600. Product-dependent. Checking the values which supported by your camera is possible at the address: http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Resolution

compression=<int> Adjusts the compression level of the image. Higher values correspond to higher compression, i.e. lower quality and smaller image size. It can have value from 0 to 100. In many cases the 30 is optimally.

colorlevel=<int> Sets level of color or grey-scale. It can have value from 0 to 100. 0 = grey-scale, 100 = full color.

color=<int> Enables/disables color. It can have value 0 or 1. 0 = black and white, 1 = color.

rotation=<int> Rotates the image clockwise. Product-dependent. Checking the values which supported by your camera is possible at the address: http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Rotation

Кроме стандартных параметров, перечисленных выше, есть расширения, которые позволяют более гибко использовать камеры Elphel. Об этих расширениях смотрите страницу Video API Extensions.Ru.

Пример получения картинки с заданным набором параметров:

http://192.168.0.9/axis-cgi/jpg/image.cgi?resolution=1024x768&colorlrvel=45&compression=30
 
 

Если какой-то из параметров не задан, то используется значение по-умолчанию. Узнать какие значения используются по-умолчанию можно по адресу:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Image.I0.Appearance
  

Значения по-умолчанию можно изменять. Для этого нужно указать action=update. Например :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Image.I0.Appearance.Resolution=512x384&Image.I0.Appearance.Rotation=180&ColorEnabled=no&Image.I0.Appearance.Compression=50
http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.ColorLevel=60
  

Видеопоток

Камеры позволяют получать непрерывный поток видеоданных. Этот поток может передаваться по двум протоколам HTTP и RTP.

HTTP

Jpeg

Поток представляет собой последовательность jpeg-файлов, разделенных специальной строкой-маркером. Такой формат передачи называется Multipart Jpeg или MPJPG. Чтобы получить видеопоток в данном формате, можно использовать следующий путь:

http://192.168.0.9/mjpg/video.mjpg

Как и для статических изображений, для видеопотока можно задавать параметры. Для этого используется следующий путь :

http://192.168.0.9/axis-cgi/mjpg/video.cgi?param1=xxx&param2=yyy&.....

Кроме вышеперечисленных resolution, compression, colorlevel, color, rotation можно еще указывать:

duration=<int> Specifies for how many seconds the video will be generated and pushed to the client. 0 = unlimited.

nbrofframes=<int> Specifies how many frames the server will generate and push. 0 = unlimited.

fps=<int> Using fps it is possible to specify the frame rate from the server. 0 = unlimited.

По-умолчанию все эти значения равны 0. Изменить значение по-умолчанию можно,например, так :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Image.I0.Stream.Duration=100&Image.I0.Stream.FPS=5&Image.I0.Stream.NbrOfFrames=1000

Кроме стандартных параметров, перечисленных выше, есть расширения, которые позволяют более гибко использовать камеры Elphel. Об этих расширениях смотрите страницу Video API Extensions.Ru.

На странице Video API And Client Applications.Ru можно найти информацию о программах, которые умеют принимать видеопоток формата MPJPG.

Theora

RTP

Jpeg

Каждый jpeg-файл разделяется на множество пакетов размером меньше 1500 байт и передается по сети по протоколу RTP/UDP. Передача данных в этом случае существенно ускоряется, но при этом падает надежность передачи, что может приводить в перегруженных сетях к потере некоторого количества видеоинформации.

На странице Video API And Client Applications.Ru можно найти информацию о программах, которые умеют принимать видеопоток формата RTP/JPEG.

Multicast

Чтобы получить видепоток по RTP/Multicast достаточно установить специальную переменную :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Network.RTP.R0.AlwaysMulticast=yes

При этом будет сгенерирован видеопоток со значениями по-умолчанию для multicast IP адреса, порта назначения и TTL. Эти значения можно изменить следующим образом :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Network.RTP.R0.VideoAddress=224.21.23.44&Network.RTP.R0.VideoPort=22222&Network.RTP.R0.TTL=90
SDP

Такой видеопоток может быть принят, записан или воспроизведен при помощи mplayer, QuickTime, vic (из пакета mush). Для этого нужно с камеры получить SDP-файл :

http://192.168.0.9/mjpg/media.sdp

Сохраненный файл нужно передать на вход выбранной программы. Например:

mplayer sdp://media.sdp
RTSP

Оригинальная спецификация Axis Video API не поддерживает RTSP в режиме multicast. В камерах Elphel эта возможность реализована как расширение протокола.

Unicast
RTSP

Theora

Получение информации о функционировании системы

Получить системную информацию можно по адресу :

http://192.168.0.9/axis-cgi/admin/systemlog.cgi

или, более подробную, по адресу

http://192.168.0.9/axis-cgi/admin/serverreport.cgi

Время и дата

Получить дату и время

Узнать время, установленное в камере, можно по адресу :

http://192.168.0.9/axis-cgi/admin/date.cgi?action=get

Установить дату и время

Чтобы установить дату и время нужно использовать следующие параметры

action - set
year - 1970 - 2031 Current year.
month - 1 - 12 Current month.
day - 1 - 31 Current day.
hour - 0 - 23 Current hour.
minute - 0 - 59 Current minute.
second - 0 - 59 Current second.

Например :

http://192.168.0.9/axis-cgi/admin/date.cgi?action=set&year=2006&month=4&day=15&hour=14&minute=20&second=40


Управление пользователями

Video API позволяет :

  • регистрировать и удалять пользователей
  • изменять пароли пользователей
  • вводить пользователей в нужные группы

Удаление существущего пользователя

http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=remove&user=joe

Создание нового пользователя

http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=joe&pwd=PASSWD&grp=axuser&sgrp=axview&comment=JOE

Есть особенности в создании новых пользователей для камер Elphel и Axis. Так, все создаваемые пользователи, которые будут иметь доступ к камере через Video API ДОЛЖНЫ принадлежать к группе axoper. Кроме того, такие пользователи должны принадлежать к одной или нескольким из вторичных групп :

axview - разрешен доступ к скриптам в каталоге /axis-cgi/view/
axoper - разрешен доступ к скриптам в каталоге /axis-cgi/operator/
axadmin - разрешен доступ к скриптам в каталоге /axis-cgi/admin/

При этом необходимо обратить особое внимание, что пользователи c полномочиями оператора должны входить во все три группы, с полномосиями оператора - в группы axoper и axview, и с полномочиями непривелигированного пользователя - только в группу axview. Пример создания трех пользователей с различными привелегиями :

  • Администратор :
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axadmin:axoper:axview&comment=Administrator
  • Оператор :
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=operator&pwd=foo&grp=axuser&sgrp=axoper:axview&comment=Operator
  • Непривилегированный пользователь :
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axview&comment=Viewer

Изменение пароля

http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&pwd=pass

Изменение принадлежности к вторичной группе

http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&sgrp=axview:axoper


Перезагрузка камеры

Чтобы дать команду на перезагрузку камеры, используйте следующий адрес :

http://192.168.0.9/var/axis-cgi/admin/restart.cgi


Управление экспозицией

Камеры Elphel поддерживают как стандартный так и расширенный интерфейс управления экспозицией. О расширенных настройках см. Video_API_Extensions.Ru

Автоэкспозиция

Чтобы включить автоэкспозицию необходимо дать следующую команду :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=auto

Параметры автоэкспозиции

Можно задавать область по которой будет вычисляться автоэкспозиция. Это можно делать командой :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.ExposureWindow=full

ExposureWindow может принимать значения full, center, lower, upper, right и left.


Ручное управление экспозицией

Включить ручное управление экспозицией :

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=manual