Video API Extensions legacy: Difference between revisions

From ElphelWiki
Jump to navigation Jump to search
Ilya (talk | contribs)
No edit summary
Polto (talk | contribs)
No edit summary
 
(15 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Manual legacy_pages}}
{{en|ru=Video_API_Extensions.Ru|cn=Video_API_Extensions.cn}}
{{en|ru=Video_API_Extensions.Ru|cn=Video_API_Extensions.cn}}


Given realization of Video API has a number of opportunities which are absent in standard Axis Video API.
The current implementation of the [[Video API]] has a number of features which are absent from the [[AxisAPI|standard Axis Video API]].




== Extensions enabling ==
== Enabling extensions ==
By default the Video API extensions are blocked. For unblocking it is necessary to set a corresponding variable:
By default the Video API extensions are blocked. To unblock them it is necessary to set a corresponding variable:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ElphelExtensions.Enabled=yes</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ElphelExtensions.Enabled=yes</nowiki>




== Obtaining of static and dynamic images ==
== Obtaining static and dynamic images ==
The standard interface for the static and dynamic images obtaining in JPEG and MPJPG formats is have a few additional parameters.
The standard interface for obtaining static and dynamic images in JPEG and MJPG formats has a few additional parameters.


{| border="0" cellpadding="2"
{| border="0" cellpadding="2"
|-
|-
|e_dcm_hor ||-|| horisontal decimation (resolution/image size reduction)
|e_dcm_hor ||-|| horizontal decimation (resolution/image size reduction)
|-
|-
|e_dcm_vert ||-|| vertical decimation (resolution/image size reduction)
|e_dcm_vert ||-|| vertical decimation (resolution/image size reduction)
Line 38: Line 40:
|e_flipv ||-|| flip (mirror) image vertically (uses in-sensor capabilities)
|e_flipv ||-|| flip (mirror) image vertically (uses in-sensor capabilities)
|-
|-
|e_color ||-|| consider sensor to be the color one, if not - skip Bayer color filters processing
|e_exp_time ||-|| exposure time (0.1 msec step)
|-
|e_gamma ||-|| gamma correction value (%)
|-
|e_pixel_low ||-|| black level
|-
|e_pixel_high ||-|| white level
|-
|e_saturation_blue ||-|| color Saturation (%), Blue
|-
|e_saturation_red ||-|| color Saturation (%), Red
|-
|e_gain_r ||-|| analog gain RED (or mono)
|-
|e_gain_g ||-|| analog gain GREEN (or green in "red" line)
|-
|e_gain_b ||-|| analog gain BLUE
|-
|e_gain_gb ||-||  analog gain GREEN in "blue" line)
|-
|e_spec_kac_gga ||-|| Kodak KAC1310 analog gain Y (all colors)
|-
|-
|e_quality ||-|| JPEG Quality (%)
|e_spec_kac_ggb ||-|| Kodak KAC1310 analog gain ? (all colors)
|-
|-
|e_spec_kac_ggm ||-|| Kodak KAC1310 mode
|
|}
|}


=== Examples ===
=== Examples ===
Example of the static image obtaining with using the next parameters:
Example of obtaining a static image - use the following parameters:
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600</nowiki>


Example of the dynamic image (MJPEG) obtaining with using the next parameters:
Example of obtaining a dynamic image (MPJPG) - use the following parameters:


  <nowiki>http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600</nowiki>


You can play this videostream, for example, by using the MPlayer (more detailed description see at [[Using Mplayer With Video API.Ru]]):
You can play this videostream, for example, by using MPlayer (for a more detailed description see [[Using Mplayer With Video API]]):


  <nowiki>$mplayer -demuxer lavf "http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600&bogus.mjpg"</nowiki>
  <nowiki>$mplayer -demuxer lavf "http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600&bogus.mjpg"</nowiki>


If any from parameters is not specified, the default values are used. You can find these values at the address:
If any of the parameters are not specified, the default values are used. You can find these values at the address:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.Sensor</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.Sensor</nowiki>
'''Note''': All API extensions have the prefix "E_".
'''Note''': All API extensions have the prefix "E_".


You can change the default value by standard way for Axis Video API. For example:
You can change the default value in the standard way for the Axis Video API. For example:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_DcmHor=1</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_DcmHor=1</nowiki>


== Obtaining the information about the system condition and default values ==
== Obtaining information about the system status and default values ==
For obtaining the information about the system condition variable you must use the next path:
To obtain information about the system status variable you must use the following path:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState</nowiki>


In an addition to the obtaining of the standard "'''rfc'''" format there is the obtaining in XML format also. You must use the '''responseformat''' parameter for it. For example:
In an addition to the standard "'''rfc'''" format there is also the possibility to use XML format. You must use the '''responseformat''' parameter for this. For example:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState&responseformat=xml</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState&responseformat=xml</nowiki>
'''Note'''. If the responseformat not specified or specified incorrect, will be used the default value of '''"rfc".'''
'''Note'''. If the responseformat is not specified or specified incorrectly, the default value of '''"rfc" will be used.'''




== Video streaming RTP/MJPG and RTP/Theora ==
== Video streaming: RTP/MJPG and RTP/Theora ==
The Elphel cameras can transfer the video stream by RTP protocol.
The Elphel cameras can transfer the video stream by RTP protocol.
=== RTP/MJPG ===
=== RTP/MJPG ===
Line 79: Line 103:


== Exposure control ==
== Exposure control ==
The Elphel cameras support the standard and advanced exposure control interface. About the standard settings see [[First_Acquaintance_With_Video_API.Ru]]
The Elphel cameras support the standard and advanced exposure control interface. For the standard settings see [[Video_API]]


For autoexposure enabling is necessary to use the following command:
To enable autoexposure it is necessary to use the following 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>
Line 92: Line 116:


Window settings:
Window settings:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_Exposure.E_WinWidth=30&ImageSource.I0.Sensor.E_Exposure.E_WinHeight=45&ImageSource.I0.Sensor.E_Exposure.E_WinLeft=10&ImageSource.I0.Sensor.E_Exposure.E_WinTop=20</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_Exposure.WinWidth=30&ImageSource.I0.Sensor.E_Exposure.WinHeight=45&ImageSource.I0.Sensor.E_Exposure.WinLeft=10&ImageSource.I0.Sensor.E_Exposure.WinTop=20</nowiki>


Exposure max.values:
Exposure max.values:
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_Exposure.E_Max=3000&ImageSource.I0.Sensor.E_Exposure.E_OverMax=30</nowiki>
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.MaxExposureTime=3000&ImageSource.I0.Sensor.E_Exposure.OverMax=30</nowiki>

Latest revision as of 23:43, 24 August 2008

This is a legacy page. The information bellow is not compatible with Elphel 393 or 353/363 series cameras.

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


The current implementation of the Video API has a number of features which are absent from the standard Axis Video API.


Enabling extensions

By default the Video API extensions are blocked. To unblock them it is necessary to set a corresponding variable:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ElphelExtensions.Enabled=yes


Obtaining static and dynamic images

The standard interface for obtaining static and dynamic images in JPEG and MJPG formats has a few additional parameters.

e_dcm_hor - horizontal decimation (resolution/image size reduction)
e_dcm_vert - vertical decimation (resolution/image size reduction)
e_bin_hor - horizontal binning (sensitivity for lower resolution)
e_bin_vert - vertical binning (sensitivity for lower resolution)
e_woi_width - sensor active window width (before decimation)
e_woi_height - sensor active window height (before decimation)
e_woi_left - sensor active window left margin (before decimation)
e_woi_top - sensor active window top margin (before decimation)
e_virt_width - virtual frame width
e_virt_height - virtual frame height
e_fliph - flip (mirror) image horizontally (uses in-sensor capabilities)
e_flipv - flip (mirror) image vertically (uses in-sensor capabilities)
e_exp_time - exposure time (0.1 msec step)
e_gamma - gamma correction value (%)
e_pixel_low - black level
e_pixel_high - white level
e_saturation_blue - color Saturation (%), Blue
e_saturation_red - color Saturation (%), Red
e_gain_r - analog gain RED (or mono)
e_gain_g - analog gain GREEN (or green in "red" line)
e_gain_b - analog gain BLUE
e_gain_gb - analog gain GREEN in "blue" line)
e_spec_kac_gga - Kodak KAC1310 analog gain Y (all colors)
e_spec_kac_ggb - Kodak KAC1310 analog gain ? (all colors)
e_spec_kac_ggm - Kodak KAC1310 mode

Examples

Example of obtaining a static image - use the following parameters:

http://192.168.0.9/axis-cgi/jpg/image.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600

Example of obtaining a dynamic image (MPJPG) - use the following parameters:

http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600

You can play this videostream, for example, by using MPlayer (for a more detailed description see Using Mplayer With Video API):

$mplayer -demuxer lavf "http://192.168.0.9/axis-cgi/mjpg/video.cgi?e_dcm_hor=2&e_dcm_vert=2&e_woi_width=1000&e_woi_height=900&e_woi_left=600&bogus.mjpg"

If any of the parameters are not specified, the default values are used. You can find these values at the address:

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

Note: All API extensions have the prefix "E_".

You can change the default value in the standard way for the Axis Video API. For example:

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

Obtaining information about the system status and default values

To obtain information about the system status variable you must use the following path:

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

In an addition to the standard "rfc" format there is also the possibility to use XML format. You must use the responseformat parameter for this. For example:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState&responseformat=xml

Note. If the responseformat is not specified or specified incorrectly, the default value of "rfc" will be used.


Video streaming: RTP/MJPG and RTP/Theora

The Elphel cameras can transfer the video stream by RTP protocol.

RTP/MJPG

RTP/Theora

Exposure control

The Elphel cameras support the standard and advanced exposure control interface. For the standard settings see Video_API

To enable autoexposure it is necessary to use the following command:

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

Enabling the manual control of exposure:

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

Obtaining the exposure state:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=ImageSource.I0.E_CurrentState.E_Exposure

Window settings:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.E_Exposure.WinWidth=30&ImageSource.I0.Sensor.E_Exposure.WinHeight=45&ImageSource.I0.Sensor.E_Exposure.WinLeft=10&ImageSource.I0.Sensor.E_Exposure.WinTop=20

Exposure max.values:

http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.MaxExposureTime=3000&ImageSource.I0.Sensor.E_Exposure.OverMax=30