Difference between revisions of "Video API.Ru legacy"
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¶m2=yyy&.....</nowiki> | <nowiki>http://192.168.0.9/axis-cgi/jpg/image.cgi?param1=xxx¶m2=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& | + | <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> | ||
− | Некоторые браузеры понимают | + | Как и для статических изображений, для видеопотока можно задавать параметры. Кроме вышеперечисленных '''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 должен быть скомпилирован с поддержкой '''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 можно найти на странице ... | ||
− | |||
====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 страниц. А установив набор дополнительного программного обеспечения, можно создать достаточно мощную систему видеонаблюдения с возможностью записи видеоархивов, журналирования, просмотра архивов и т.п.
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
Как и для статических изображений, для видеопотока можно задавать параметры. Кроме вышеперечисленных 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 эта возможность реализована как расширение протокола.