Difference between revisions of "Video API.Ru legacy"

From ElphelWiki
Jump to: navigation, search
Line 5: Line 5:
  
 
  <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, то используйте его.
 
'''Примечание.''' 192.168.0.9 - это IP адрес, присваеваемый камере по-умолчанию. Если ваша камера имеет IP адрес отличный от 192.168.0.9, то используйте его.
  
Line 10: Line 11:
  
 
  <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>
 
+
 
Ниже приведен список параметров, которые можно использовать.
 
Ниже приведен список параметров, которые можно использовать.
 
+
 
'''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.  Просмотреть, какие значения поддерживает Ваша камера можно по адресу :  ''<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.  Может принимать значение от 0 до 100. В большинстве случаев оптимальным является значение 30.
 
+
 
'''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. Может принимать значение от 0 до 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.  Может принимать значения 0 и 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.  Просмотреть, какие значения поддерживает Ваша камера можно по адресу :  ''<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Rotation</nowiki>''
 
+
 
Пример получения картинки с заданным набором параметров:
 
Пример получения картинки с заданным набором параметров:
  
 
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?resolution=1024x768&colorlrvel=45&compression=30</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?resolution=1024x768&colorlrvel=45&compression=30</nowiki>
 
+
 
 
+
 
 
Если какой-то из параметров не задан, то используется значение по-умолчанию.  Узнать какие значения используются по-умолчанию можно по адресу:
 
Если какой-то из параметров не задан, то используется значение по-умолчанию.  Узнать какие значения используются по-умолчанию можно по адресу:
  
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Image.I0.Appearance</nowiki>
 
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Image.I0.Appearance</nowiki>
 
+
 
 
Значения по-умолчанию можно изменять. Для этого нужно указать  action=update. Например :
 
Значения по-умолчанию можно изменять. Для этого нужно указать  action=update. Например :
 +
 
 +
<nowiki>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</nowiki>
  
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Image.I0.Appearance.Resolution=512x384&Image.I0.Appearance.Rotation=180&Image.I0.Appearance.Colorlevel=60&Image.I0.Appearance.Compression=50</nowiki>
+
  <nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&ImageSource.I0.Sensor.ColorLevel=60</nowiki>
 
+
 
 
==Видеопоток==
 
==Видеопоток==
 
Камеры позволяют получать непрерывный поток видеоданных. Этот поток может передаваться по двум протоколам HTTP и RTP.
 
Камеры позволяют получать непрерывный поток видеоданных. Этот поток может передаваться по двум протоколам HTTP и RTP.
 
+
 
 
===HTTP===
 
===HTTP===
 
====Jpeg====
 
====Jpeg====
Поток представляет собой последовательность jpeg-файлов, разделенных специальной строкой-маркером. Такой формат передачи называется Multipart Jpeg. Чтобы получить видеопоток в данном формате, необходимо использовать следующий путь:
+
Поток представляет собой последовательность jpeg-файлов, разделенных специальной строкой-маркером. Такой формат передачи называется Multipart Jpeg или MPJPG. Чтобы получить видеопоток в данном формате, можно использовать следующий путь:
 
  <nowiki>http://192.168.0.9/mjpg/video.mjpg</nowiki>
 
  <nowiki>http://192.168.0.9/mjpg/video.mjpg</nowiki>
Некоторые браузеры понимают такой формат данных и могут воспроизвести этот видеопоток. К таким браузерам, например, относятся Netscape, Mozilla, Firefox, Galeon.   
+
Как и для статических изображений, для видеопотока можно задавать параметры. Кроме вышеперечисленных '''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.  Изменить значение по-умолчанию можно,например, так :
 +
   
 +
    <nowiki>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</nowiki>
 +
   
 +
Некоторые браузеры понимают формат данных MPJPG и могут воспроизвести этот видеопоток. К таким браузерам относятся Netscape, Mozilla, Firefox, Galeon. Для этого в html-страничке должен быть указано например следующее:
 +
  <nowiki><img src="http://192.168.0.9/mjpg/video.mjpg"></nowiki>
 +
 
 +
Такие распространенные программы как '''mplayer, mencoder, ffmpeg и ffplay''' могут сохранять и воспроизводить поток MPJPG.
  
Понимают этот формат программы mplayer, mencoder, ffmpeg и ffplay.
+
'''Примечание.''' mplayer должен быть скомпилирован с поддержкой '''libavformat''' из пакета '''ffmpeg'''.
Примечание. mplayer должен быть скомпилирован с поддержкой libavformat из пакета ffmpeg.
+
   
 +
Видеопоток MPJPG легко сохраняется при помощи некоторых утилит, например, wget или Reget.  Файл с записанным потоком далее может быть воспроизведен или преобразован в другой формат (например, утилитой '''ffmpeg''' или '''mencoder''').
 +
   
 +
В среде Windows можно применять ActiveX фирмы Axis. Найти его можно по адресу : http://www.axis.com/techsup/cam_servers/dev/activex.htm
 +
   
 +
Также существует ActiveX фирмы Elphel, который доступен по адресу: ....
 +
   
 +
Более подробную информацию  о программах, библиотеках и т.п., которые можно использовать с Axis Video API можно найти на странице ...
  
Можно также принять видеопоток при помощи некоторых утилит. Например, wget или Reget.  Файл с записанным потоком далее может быть воспроизведен (например, программой ffplay или mplayer) или преобразован в другой формат (например, утилитой ffmpeg или mencoder).
 
 
====Theora====
 
====Theora====
  
 
+
   
 
===RTP===
 
===RTP===
 
====Jpeg====
 
====Jpeg====
 
Каждый jpeg-файл разделяется на множество пакетов размером меньше 1500 байт и передается по сети по протоколу RTP/UDP. Передача данных в этом случае существенно ускоряется, но при этом падает надежность передачи, что может приводить в перегруженных сетях к потере некоторого количества видеоинформации.
 
Каждый jpeg-файл разделяется на множество пакетов размером меньше 1500 байт и передается по сети по протоколу RTP/UDP. Передача данных в этом случае существенно ускоряется, но при этом падает надежность передачи, что может приводить в перегруженных сетях к потере некоторого количества видеоинформации.
 +
=====Multicast=====
 +
Чтобы получить видепоток по RTP/Multicast достаточно установить специальную переменную :
 +
<nowiki>http://192.168.0.9/axis-cgi/admin/param.cgi?action=update&Network.RTP.R0.AlwaysMulticast=yes</nowiki>
 +
При этом будет сгенерирован видеопоток со значениями по-умолчанию для multicast IP адреса, порта назначения и TTL. Эти значения можно изменить следующим образом :
 +
      <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======
 +
Такой видеопоток может быть принят, записан или воспроизведен при помощи mplayer, QuickTime, vic (из пакета mush). Для этого нужно с камеры получить SDP-файл :
 +
<nowiki>http://192.168.0.9/mjpg/media.sdp</nowiki>
 +
Сохраненный файл нужно передать на вход выбранной программы. Например:
 +
<nowiki>mplayer sdp://media.sdp</nowiki>
 +
''Примечание.'' mplayer должен быть скомпилирован с поддержкой библиотеки live555.com
 +
 +
======RTSP======
 +
Оригинальная спецификация Axis Video API не поддерживает RTSP в режиме multicast. В камерах Elphel эта возможность реализована как расширение протокола.
 +
 +
=====Unicast=====
 +
======RTSP======
 +
 
====Theora====
 
====Theora====

Revision as of 14:04, 1 December 2005

Простейшую систему, использующую Axis Video API, может создать любой, кто имеет хотя бы малейшие навыки написания HTML страниц. А установив набор дополнительного программного обеспечения, можно создать достаточно мощную систему видеонаблюдения с возможностью записи видеоархивов, журналирования, просмотра архивов и т.п.

Статические изображения.

Для получения картинки с камеры достаточно ввести в браузере следующий путь:

http://192.168.0.9/jpg/image.jpg 

Примечание. 192.168.0.9 - это IP адрес, присваеваемый камере по-умолчанию. Если ваша камера имеет IP адрес отличный от 192.168.0.9, то используйте его.

Можно также запрашивать с камеры изображения с некоторым набором параметров. Для этого используется путь :

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

Ниже приведен список параметров, которые можно использовать.

resolution=<string> Specify the resolution of the returned image, for example 800x600. Product-dependent. Просмотреть, какие значения поддерживает Ваша камера можно по адресу : 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. Может принимать значение от 0 до 100. В большинстве случаев оптимальным является значение 30.

colorlevel=<int> Sets level of color or grey-scale. Может принимать значение от 0 до 100. 0 = grey-scale, 100 = full color.

color=<int> Enables/disables color. Может принимать значения 0 и 1. 0 = black and white, 1 = color.

rotation=<int> Rotates the image clockwise. Product-dependent. Просмотреть, какие значения поддерживает Ваша камера можно по адресу : http://192.168.0.9/axis-cgi/admin/param.cgi?action=list&group=Properties.Image.Rotation

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

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

Как и для статических изображений, для видеопотока можно задавать параметры. Кроме вышеперечисленных 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
   

Некоторые браузеры понимают формат данных MPJPG и могут воспроизвести этот видеопоток. К таким браузерам относятся Netscape, Mozilla, Firefox, Galeon. Для этого в html-страничке должен быть указано например следующее:

<img src="http://192.168.0.9/mjpg/video.mjpg">

Такие распространенные программы как mplayer, mencoder, ffmpeg и ffplay могут сохранять и воспроизводить поток MPJPG.

Примечание. mplayer должен быть скомпилирован с поддержкой libavformat из пакета ffmpeg.

Видеопоток MPJPG легко сохраняется при помощи некоторых утилит, например, wget или Reget. Файл с записанным потоком далее может быть воспроизведен или преобразован в другой формат (например, утилитой ffmpeg или mencoder).

В среде Windows можно применять ActiveX фирмы Axis. Найти его можно по адресу : http://www.axis.com/techsup/cam_servers/dev/activex.htm

Также существует ActiveX фирмы Elphel, который доступен по адресу: ....

Более подробную информацию о программах, библиотеках и т.п., которые можно использовать с Axis Video API можно найти на странице ...

Theora

RTP

Jpeg

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

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

Примечание. mplayer должен быть скомпилирован с поддержкой библиотеки live555.com

RTSP

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

Unicast
RTSP

Theora