Video API.Ru legacy

From ElphelWiki
Revision as of 20:46, 6 December 2005 by 85.202.198.9 (talk) (Multicast)
Jump to: navigation, search

Простейшую систему, использующую 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