Difference between revisions of "Video API legacy"

From ElphelWiki
Jump to: navigation, search
m (First Acquaintance With Video API moved to Video API)
Line 87: Line 87:
  
 
=====Multicast=====
 
=====Multicast=====
Чтобы получить видепоток по RTP/Multicast достаточно установить специальную переменную :
+
For video stream obtaining by RTP/Multicast it is enough to set the special variable:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Network.RTP.R0.AlwaysMulticast=yes</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Network.RTP.R0.AlwaysMulticast=yes</nowiki>
При этом будет сгенерирован видеопоток со значениями по-умолчанию для multicast IP адреса, порта назначения и TTL. Эти значения можно изменить следующим образом :
+
Will be generated the video stream with the default settings of variables for Multicast address, destination port and TTL. These variables can be changed by the next way:
 
  <nowiki>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</nowiki>
 
  <nowiki>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</nowiki>
 
======SDP======
 
======SDP======
Такой видеопоток может быть принят, записан или воспроизведен при помощи mplayer, QuickTime, vic (из пакета mush). Для этого нужно с камеры получить SDP-файл :
+
This video stream can be obtained, recorded or played by the MPlayer, QuickTime, vic (from the mush package). For this it is necessary to obtain the SDP-file from camera:
 
  <nowiki>http://192.168.0.9/mjpg/media.sdp</nowiki>
 
  <nowiki>http://192.168.0.9/mjpg/media.sdp</nowiki>
Сохраненный файл нужно передать на вход выбранной программы. Например:
+
The saved file should be transfered to your preferred player. For example:
 
  <nowiki>mplayer sdp://media.sdp</nowiki>
 
  <nowiki>mplayer sdp://media.sdp</nowiki>
  
 
======RTSP======
 
======RTSP======
Оригинальная спецификация Axis Video API не поддерживает RTSP в режиме multicast. В камерах Elphel эта возможность реализована как расширение протокола.
+
The original Axis Video API specification not support the RTSP in Multicast mode. In the Elphel cameras this possibility is added as protocol extension.
  
 
=====Unicast=====
 
=====Unicast=====
Line 106: Line 106:
  
  
== Получение информации о функционировании системы ==
+
== Obtaining the information about system functioning ==
Получить системную информацию можно по адресу :
+
You can obtain the information about system at the address:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/systemlog.cgi</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/systemlog.cgi</nowiki>
или, более подробную, по адресу
+
or more detailed information at the address:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/serverreport.cgi</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/serverreport.cgi</nowiki>
  
== Время и дата ==
+
== Date and Time ==
=== Получить дату и время ===
+
=== Obtaining of the Date and Time ===
Узнать время, установленное в камере, можно по адресу :
+
To see the time which is setuped inside the camera you can at the address:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/date.cgi?action=get</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/date.cgi?action=get</nowiki>
=== Установить дату и время ===
+
=== Date and Time setuping ===
Чтобы установить дату и время нужно использовать следующие параметры 
+
For date and time setuping is necessary to use the next parameters:
  
 
{|
 
{|
Line 137: Line 137:
 
|}
 
|}
  
Например :
+
For example:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/date.cgi?action=set&year=2006&month=4&day=15&hour=14&minute=20&second=40</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/date.cgi?action=set&year=2006&month=4&day=15&hour=14&minute=20&second=40</nowiki>
  
  
  
== Управление пользователями ==
+
== Users administration ==
Video API позволяет :
+
Video API allow:
*регистрировать и удалять пользователей
+
*the registering and deleting of users
*изменять пароли пользователей
+
*changing of users passwords
*вводить пользователей в нужные группы
+
*adding of users to special groups
=== Удаление существущего пользователя ===
+
=== Deleting of user ===
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=remove&user=joe</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=remove&user=joe</nowiki>
=== Создание нового пользователя ===
+
=== Creating of the new user ===
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=joe&pwd=PASSWD&grp=axuser&sgrp=axview&comment=JOE</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=joe&pwd=PASSWD&grp=axuser&sgrp=axview&comment=JOE</nowiki>
Есть особенности в создании новых пользователей для камер Elphel и Axis. Так, все создаваемые пользователи, которые будут иметь доступ к камере через Video API ДОЛЖНЫ принадлежать к группе '''axoper'''. Кроме того, такие пользователи должны принадлежать к одной или нескольким из вторичных групп :
+
Creating of the new users is slightly different for Elphel and Axis cameras. So, all created users which will have the access to camera through Video API are MUST belong to '''axoper''' group. Also these users must belong to one or more secondary groups:
 
{|
 
{|
 
|-
 
|-
|'''axview''' ||-|| разрешен доступ к скриптам в каталоге /axis-cgi/view/
+
|'''axview''' ||-|| access is permitted to scripts which are placed in directory /axis-cgi/view/
 
|-
 
|-
|'''axoper''' ||-|| разрешен доступ к скриптам в каталоге /axis-cgi/operator/
+
|'''axoper''' ||-|| access is permitted to scripts which are placed in directory /axis-cgi/operator/
 
|-
 
|-
|'''axadmin''' ||-|| разрешен доступ к скриптам в каталоге /axis-cgi/admin/
+
|'''axadmin''' ||-|| access is permitted to scripts which are placed in directory /axis-cgi/admin/
 
|-
 
|-
 
|}
 
|}
При этом необходимо обратить особое внимание, что пользователи c полномочиями оператора должны входить во все три группы, с полномосиями оператора - в группы axoper и axview, и с полномочиями непривелигированного пользователя - только в группу axview.
+
At the same time is necessary the special attention, because the users which have the Administrator rights must be entered to all three groups, users which have the Operator rights must be entered to axoper and axview groups, users which have the Unprivileged user rights must be entered to axview group only.
Пример создания трех пользователей с различными привелегиями :
+
Creating of three users with different rights, for example:
*Администратор :
+
*Administrator:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axadmin:axoper:axview&comment=Administrator</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axadmin:axoper:axview&comment=Administrator</nowiki>
*Оператор :
+
*Operator:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=operator&pwd=foo&grp=axuser&sgrp=axoper:axview&comment=Operator</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=operator&pwd=foo&grp=axuser&sgrp=axoper:axview&comment=Operator</nowiki>
  
*Непривилегированный пользователь :
+
*Unprivileged user:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axview&comment=Viewer</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axview&comment=Viewer</nowiki>
  
=== Изменение пароля ===
+
=== Password changing ===
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&pwd=pass</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&pwd=pass</nowiki>
  
=== Изменение принадлежности к вторичной группе ===
+
=== Changing the access rights for secondary group ===
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&sgrp=axview:axoper</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=update&user=joe&sgrp=axview:axoper</nowiki>
  
  
  
== Перезагрузка камеры ==
+
== Camera rebooting ==
Чтобы дать команду на перезагрузку камеры, используйте следующий адрес :
+
For camera rebooting, you should use the next address:
 
  <nowiki>http://192.168.0.9/var/axis-cgi/admin/restart.cgi</nowiki>
 
  <nowiki>http://192.168.0.9/var/axis-cgi/admin/restart.cgi</nowiki>
  
  
  
== Управление экспозицией ==
+
== Control of exposure ==
Камеры Elphel поддерживают как стандартный так и расширенный интерфейс управления экспозицией. О расширенных настройках см. [[Video_API_Extensions.Ru]]
+
The Elphel cameras support the control of exposure with standard and advanced interface. About advanced settings you can read at page [[Video_API_Extensions]]
  
=== Автоэкспозиция ===
+
=== Autoexposure ===
Чтобы включить автоэкспозицию необходимо дать следующую команду :
+
For enabling the autoexposure you can use the next command:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=auto</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=auto</nowiki>
  
==== Параметры автоэкспозиции ====
+
==== Autoexposure parameters ====
Можно задавать область по которой будет вычисляться автоэкспозиция. Это можно делать командой :
+
It is possible to assign the area for autoexposure calculating. You can do it by the next command:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.ExposureWindow=full</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.ExposureWindow=full</nowiki>
ExposureWindow может принимать значения '''full''', '''center''', '''lower''', '''upper''', '''right''' и '''left'''.
+
The ExposureWindow can have the values '''full''', '''center''', '''lower''', '''upper''', '''right''' and '''left'''.
  
  
=== Ручное управление экспозицией ===
+
=== Manual control of exposure ===
Включить ручное управление экспозицией :
+
For enabling the manual control of exposure you can use the next command:
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=manual</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.Exposure=manual</nowiki>

Revision as of 09:22, 23 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

Except the standard parameters, enumerated above, there are the extensions, which make it possible to more flexibly use cameras Elphel. More detailed information about these extensions you can read Video API Extensions.

Example of obtaining image with the assigned set of the parameters:

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

If some parameters are not assigned, the default value is used. You can see the default values at the address:

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

You can change the default values. For this it is necessary to specify the parameter action=update. For example:

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
  

Video stream

Cameras allow to obtain the continuous video stream. This stream can be transferred by two protocols - HTTP and RTP.

HTTP

Jpeg

The stream is sequence of jpeg-files, separated by special marking line. This transfer format is named Multipart Jpeg or MPJPG. For stream obtaining in this format you can use the next path:

http://192.168.0.9/mjpg/video.mjpg

As for the static images, you can assign any parameters for video stream too. For it you can use the next path:

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

Except the parameters, enumerated above, such as resolution, compression, colorlevel, color, rotation, you can assign also:

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.

By default all these parameters are assigned to 0. You can change the default settings, for example, by this way:

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

Except the standard parameters, enumerated above, there is extensions, which allow to use the Elphel cameras more flexibly. More detailed information about these extensions you can read at Video API Extensions.

On page Video API And Client Applications.Ru you can find the information about players, which can play the MPJPG video stream.

Theora

RTP

Jpeg

Each jpeg-file is divided into many files with size less than 1500 bytes and are transferred by RTP/UDP protocol through the network. In this case the data transmission is substantially accelerated, but falls the reliability of transfer, which can bring in the overloaded networks to the loss of certain quantity of video data.

On page Video API And Client Applications.Ru you can find the information about players, which can play the RTP/JPEG stream.

Multicast

For video stream obtaining by RTP/Multicast it is enough to set the special variable:

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

Will be generated the video stream with the default settings of variables for Multicast address, destination port and TTL. These variables can be changed by the next way:

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

This video stream can be obtained, recorded or played by the MPlayer, QuickTime, vic (from the mush package). For this it is necessary to obtain the SDP-file from camera:

http://192.168.0.9/mjpg/media.sdp

The saved file should be transfered to your preferred player. For example:

mplayer sdp://media.sdp
RTSP

The original Axis Video API specification not support the RTSP in Multicast mode. In the Elphel cameras this possibility is added as protocol extension.

Unicast
RTSP

Theora

Obtaining the information about system functioning

You can obtain the information about system at the address:

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

or more detailed information at the address:

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

Date and Time

Obtaining of the Date and Time

To see the time which is setuped inside the camera you can at the address:

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

Date and Time setuping

For date and time setuping is necessary to use the next parameters:

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.

For example:

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


Users administration

Video API allow:

  • the registering and deleting of users
  • changing of users passwords
  • adding of users to special groups

Deleting of user

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

Creating of the new user

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

Creating of the new users is slightly different for Elphel and Axis cameras. So, all created users which will have the access to camera through Video API are MUST belong to axoper group. Also these users must belong to one or more secondary groups:

axview - access is permitted to scripts which are placed in directory /axis-cgi/view/
axoper - access is permitted to scripts which are placed in directory /axis-cgi/operator/
axadmin - access is permitted to scripts which are placed in directory /axis-cgi/admin/

At the same time is necessary the special attention, because the users which have the Administrator rights must be entered to all three groups, users which have the Operator rights must be entered to axoper and axview groups, users which have the Unprivileged user rights must be entered to axview group only. Creating of three users with different rights, for example:

  • Administrator:
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axadmin:axoper:axview&comment=Administrator
  • Operator:
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=operator&pwd=foo&grp=axuser&sgrp=axoper:axview&comment=Operator
  • Unprivileged user:
http://192.168.0.9/axis-cgi/admin/pwdgrp.cgi?action=add&user=administrator&pwd=foo&grp=axuser&sgrp=axview&comment=Viewer

Password changing

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

Changing the access rights for secondary group

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


Camera rebooting

For camera rebooting, you should use the next address:

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


Control of exposure

The Elphel cameras support the control of exposure with standard and advanced interface. About advanced settings you can read at page Video_API_Extensions

Autoexposure

For enabling the autoexposure you can use the next command:

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

Autoexposure parameters

It is possible to assign the area for autoexposure calculating. You can do it by the next command:

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

The ExposureWindow can have the values full, center, lower, upper, right and left.


Manual control of exposure

For enabling the manual control of exposure you can use the next command:

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