Необязательный пакет, предназначен для тестирования системы
видеонаблюдения без реальных ip-видеокамер.
webcam-emu это эмулятор сетевых mjpg (Motion JPEG over
HTTP)
видеокамер, например, Axis, Planet, D-Link, и другие, см. список mjpeg ip-камер.
webcam-emu “отдаёт” jpeg-и из некоторого каталога по протоколу
http двумя способами:
-
потоковый Motion
JPEG (Content-Type:
multipart/x-mixed-replace);
-
снапшотами или одиночными кадрами (Content-Type:
image/jpeg).
Сначала вы должны подключить
debian-репозиторий AVReg.
Далее, выполните следующие 2 команды.
Выполнять от root-а или через sudo
# aptitude update
# aptitude install webcam-emu
Прим.: вместо команды aptitude
вы можете
пользоваться apt-get
, Synaptic или любым другим
фронтендом пакетного менеджера APT.
Если вы хотите использовать webcam-emu на других
Linux-дистрибутивах или операционных системах, вы можете
самостоятельно портировать и доработать
Makefile
и, возможно, исходные коды пакета webcam-emu (GPLv2) с учётом правил и политик сборки
ваших систем.
Исходный код самой программы представляет собой скрипт на языке
Ruby, который портирован и включен в большинство дистрибутивов
Linux и Unix.
Сразу после установки пакета устанавливается автоматический
способ запуска (sysv init) в момент запуска/загрузки
компьютера.
Интерактивный способ запуска, в любом терминале, CTRL-C -
выход.
$ webcam-emu
[2009-05-19 14:16:47] INFO WEBrick 1.3.1
[2009-05-19 14:16:47] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2009-05-19 14:16:47] INFO WEBrick::HTTPServer#start: pid=5635 port=60001
localhost - - [19/May/2009:14:18:39 MSD] "GET /mjpg/video.mjpg?fps=3 HTTP/1.1" 200 0
- -> /mjpg/video.mjpg?fps=3
<CTRL-C>
[2009-05-19 14:16:51] INFO going to shutdown ...
[2009-05-19 14:16:51] INFO WEBrick::HTTPServer#start done.
Запуск демоном, остановка, перезапуск.
# /etc/init.d/webcam-emu {start|stop|restart}
или
# invoke-rc.d webcam-emu {start|stop|restart}
Все настройки webcam-emu находятся в конфигурационном файл
«webcam-emu.yaml
» текстового формата YAML,
который основной скрипт webcam-emu
будет
последовательно “искать” в следующих каталогах:
-
«/etc/webcam-emu/
»,
-
«/etc/
»,
-
«$HOME/
»
-
и текущем
«./
».
По-умолчанию, устанавливается файл
«/etc/webcam-emu.yaml
»
/etc/webcam-emu.yaml
### Параметры http сервера Webrick ###
:BindAddress: '0.0.0.0' # принимать запросы на этом адресе/интерфейсе
# "0.0.0.0" - на любых адресах/интерфейсах
:Port: 60001 # номер порта tcp
:MaxClients: 64 # макс. кол-во одновременных соединений
:RequestTimeout: 5 # время ожидания запроса после соединения
:ServerSoftware: 'webcam-emu/0.5'
### Параметры эмулятора ###
Debug: false
JpegsRoot: '/var/lib/webcam-emu'
# Структура каталогов с jpeg-файлами:
# {JpegsRoot}/
# 640x480/
# color/
# 01.jpg, 02.jpg, ...
# grey/
# 01.jpg, 02.jpg, ...
#
# CGI параметр "resolution"
DefResolution: '640x480' # значение по-умолчанию для "resolution"
# CGI параметр "color"
DefColor: 1 # значение по-умолчанию для "color",
# 1(цвет.) или 0 (ч/б.)
# url-path алиасы для режима снапшот или одиночный кадр
JpegHandler:
:aliases:
- '/axis-cgi/jpg/image.cgi' # любые Axis ip-камеры и видеосерверы
- '/jpg/image.jpg' # большинство ip-камер Planet
- '/image.jpg' # некоторые D-Link ip-камеры
# url-path алиасы и другие параметры
# режима потокового mjpg-видео по протоколу http (Motion JPEG)
MjpgHandler:
:boundary: 'myboundary' # строка-разделитель boundary
:default_fps: 5 # кадров в секунду, CGI параметр "fps"
:default_mode: 0 # CGI параметр "mode", допустимые значения:
# 0 - последовательно передавать все jpeg-файлы
# 1 - передавать jpeg-файлы с шагом равным
# значению параметра "fps", т.е. эмулировать
# пропуск кадров или ограничение fps на
# "живом" 25(PAL)/30(NTSC) fps источнике видео
# 2 - начинать передачу с первого jpeg-файла
# в начале каждой секунды
:aliases:
- '/axis-cgi/mjpg/video.cgi' # любые Axis ip-камеры и видеосерверы
- '/mjpg/video.mjpg' # большинство ip-камер Planet
- '/mjpeg.cgi' # некоторые D-Link ip-камеры
# Смотрите также другие известные нам пути URL в других ip-камерах:
# http://www.linuxdvr.ru/rus/docs/apps-ipcam-capture.html
Значения параметров «resolution
»,
«color
», «fps
», и «mode
»
можно устанавливать CGI-параметрами (т.е. в самом
URL-e для
запроса GET), например:
http://localhost:60001/mjpeg.cgi?resolution=720x576&color=0&fps=12&mode=2
Из какого каталога webcam-emu будет читать и
отправлять jpeg-файлы, определяется значениями параметров
«resolution
» и «color
» (см. описание
структуры каталогов в комментариях конф. файла выше).
http://localhost:{Port}/axis-cgi/mjpg/video.cgi
http://localhost:{Port}/mjpg/video.mjpg?resolution=640x480&color=1&fps=3
http://localhost:{Port}/mjpg/video.mjpg?fps=7&mode=2
“Нативно”, т.е. без плагинов, апплетов, ActiveX-ов и т.п.
приблуд
, с потоком Motion JPEG может работать
только Mozilla Firefox (из известных браузеров, естественно). Для
Mozilla Filerox есть 2 способа отображения motion jpeg видео:
-
Открыть
URL непосредственно:
firefox '{URL}'
(ну, или
набрав в адресной строке). Простой, но не очень стабильный
способ.
-
Создать тестовую страницу с элементом
<IMG src="URL">
, например:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Mozilla Firefox html page for webcam-emu testing.</title>
</head>
<body>
<img src="http://localhost:60001/mjpg/video.mjpg?fps=3"
alt="see mjpg video here">
</body>
</html>
Если видео всё же не отображается, в числе
прочего, проверьте, не установлено ли у вас расширение ImgLikeOpera
(ILO), блокирующее загрузку картинок?
Дополнительно, попробуйте обновить страницу (reload, <F5>)
или выбрать пункт «Загрузить изображение» в контекстном меню,
выпадающем по нажатию правой кнопки мыши над элементом
<IMG>.
vlc 'http://localhost:60001/mjpg/video.mjpg'
ffplay 'http://localhost:60001/mjpg/video.mjpg'
Первым шагом вам нужно установить программу видеорегистрации
AVReg. Полное руководство пользователя с пошаговой инструкцией по
установке читайте здесь «Руководство пользователя.»
Для установки серверной части (без локального просмотрщика камер avreg-mon, т.е.
в реальном времени просмотр только веб-браузером) достаточно
установить метапакет «avreg-server
».
выполните от root-а или через sudo
aptitude install avreg-server
Далее, заходите веб-браузером по адресу:
http://localhost/avreg/
или, если вы работаете с другого компьютера по сети
http://на-каком-там-сервере-у-вас-стоит-AVReg/avreg/
вводите логин «admin
» или «install
» с
пустым паролем и переходите на страницу настройки камер по ссылкам
«Настройки и управление” и далее «Настройки» →
«Видеокамеры».
Для каждой “AVReg-овой” камеры (т.е. ранее созданных в
“админском” веб-интерфейсе), которая планируется для использования
с эмулятором, в веб-интерфейсе нужно определить нижеследующие
параметры.
Если таких «эмулируемых» камер много или
вообще все, то вы можете определить значения параметров всего
лишь для одной специальной виртуальной AVReg-овой камеры с
именем «параметры для всех».

Раздел «Главное»:
work = "Вкл."
Раздел «Камера»:
cam_type = "netcam"
geometry = 640x480, т.к. цветные jpeg-и 640x480 включены в пакет webcam-emu
color = 1
«Камера» ⇒
«ip-камеры»:
InetCam_IP = ip-адрес хоста, на котором работает эмулятор webcam-emu
«Камера» ⇒
«ip-камеры» ⇒ «протокол
http»:
InetCam_http_port = tcp-порт, который слушает webcam-emu,
если не меняли, то 60001.
V.http_get = строка запроса GET, например, /mjpg/video.mjpg?fps=5
Если вы не можете найти параметр
InetCam_http_port в этом разделе, установите «показывать
все параметры» (а не «только основные»).

Удостоверьтесь что в конфигурационном файле
«/etc/avreg/avreg.conf
» установлен параметр
«allow-duplicated-url
».
/etc/avreg/avreg.conf, секция avregd {...}
# Позволять захватывать медиа-потоки с нескольких видеокамер
# с одинаковыми ip-адресом и номером порта, например, при
# использовании эмулятора mjpg веб-камер webcam-emu.
# Закомментируйте или установите в "no" при использовании
# c реальными ip-камерами.
allow-duplicated-url = yes
Далее, настраивайте любые другие AVReg-параметры «по вкусу» и
изучайте возможности и проверяйте работу программы
видеорегистрации AVReg в деле, а не со слов маркетологов и прочих
“продвигологов”
.


Всё, до развёртывания настоящей системы видеонаблюдения остался
всего лишь один шаг - покупка реальных видеокамер.
Сюда планируется разместить ссылки на
ваши цельные статьи (не просто заметки в форуме и т.п.) по
настройке и тестированию ZoneMinder с использованием нашего
webcam-emu (GPLv2). Напишите нам если вы напишите и
разместите в сети такую статью.