Video API.Ru legacy
Простейшую систему, использующую Axis Video API, может создать любой, кто имеет хотя бы малейшие навыки написания HTML страниц. А установив набор дополнительного программного обеспечения, можно создать достаточно мощную систему видеонаблюдения с возможностью записи видеоархивов, журналирования, просмотра архивов и т.п.
Contents
Статические изображения.
Для получения картинки с камеры достаточно ввести в браузере следующий путь:
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¶m2=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
Как и для статических изображений, для видеопотока можно задавать параметры. Для этого используется следующий путь :
http://192.168.0.9/axis-cgi/mjpg/video.cgi?param1=xxx¶m2=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
Некоторые браузеры понимают формат данных MPJPG и могут воспроизвести этот видеопоток. К таким браузерам относятся Netscape, Mozilla, Firefox, Galeon. Более подробно смотри на страничке Play MPJPG in browsers.
Такие распространенные программы как mplayer, mencoder, ffmpeg и ffplay могут сохранять и воспроизводить поток MPJPG. Смотри Video API And Client Applications.Ru.
Видеопоток MPJPG легко сохраняется при помощи некоторых утилит, например, wget или Reget. Файл с записанным потоком далее может быть воспроизведен или преобразован в другой формат (например, утилитой ffmpeg или mencoder).
В среде Windows можно применять ActiveX фирмы Axis. Найти его можно по адресу : http://www.axis.com/techsup/cam_servers/dev/activex.htm
Также существует ActiveX фирмы Elphel, который доступен по адресу: ....
Более подробную информацию о программах, библиотеках и т.п., которые можно использовать с Axis Video API можно найти на странице Video API And Client Applications.Ru.
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 эта возможность реализована как расширение протокола.