Основные параметры интерфейса, такие как, например, размеры окна, определяются в едином конфигурационном файле «/etc/avreg/avreg.conf» в секции «avreg-mon {}»
Параметры конфигурационного файла avreg.conf, используемые avreg-mon
...
# Имя хоста SQL-сервера и имя базы данных.
# По умолчанию:
; db-host = 'пусто'
; db-name = 'avreg5_db'
...
avreg-mon {
### настройки локального просмотрщика камер в реальном времени ###
### версия 5.4.4 ###
# Устанавливайте имя "db-user" и пароль "db-passwd" доступа к базе данных
# в приватном ( 0640 root:video ) файле c именем "avreg-mon.secret"
include /etc/avreg/avreg-mon.secret
# Использовать раскладки для левого(L) или правого(R) дисплея
# на двух-мониторных системах.По умолчанию: "L" (левый или единственный).
; display = R
# После запуска переключиться на раскладку с номером layout
# Cм. настройку раскладок в веб-интерфейсе. По умолчанию: 0.
; layout = 1
# Использовать окно с разрешением ШИРИНАxВЫСОТА пикселей.
# По умолчанию: 648x488
; geo = 800x600
# Использовать весь экран. По умолчанию: no
; fullscreen = yes
# Cоздать окно без заголовка (title bar) и рамок (frame), если такое возможно.
# Установка fullscreen в "yes" автоматически включает этот флаг.По умолчанию: no
; no-winframe = yes
# Не пытаться сохранять пропорции (соотношение сторон видеокадра или aspect ratio)
# видео с камер, просто использовать всё доступное пространство окна программы.
# Такой режим может приводить к увеличению нагрузки на систему и небольшим
# искажениям. По умолчанию: no, использовать для всех камер соотношение строн
# как у камеры в главном окне раскладки.
; fit2screen = yes
# Сохранять огигинальные пропорции для всех камер. Не действует если установлено
# "fit2screen=yes". По умолчанию: no, использовать для всех камер соотношение строн
# как у камеры в главном окне раскладки.
; keep-aspect = yes
# Использовать целочисленные коэффициенты масштабирования (..., 1/3, 1/2, 1, 2, ...)
# при выводе изображения для снижения нагрузки на Intel-процессоры при программном
# видеовыводе. По умолчанию: no.
; smart-scale = yes
### настройки интерфейса пользователя ###
# Заблокировать (не использовать) мышь, клавиатуру или оба устройства.
# Следуем также установить в "yes", если мышь/клавиатура отсуствуют.
# По умолчанию: no
; no-mouse = yes
; no-keyboard = yes
; no-tty = yes
# Заблокировать действия по нажатию клавиш клавиатуры,
# чьи коды (см. SDL_keysym.h), указанные через запятую, присутствуют в этом списке.
; http://www.google.com/search?q=site:www.libsdl.org+SDL_keysym.h
; Например, блокирование клавиш <ESC>,<Q>,<X>,<F1>,<4>-<9> и <4>-<9> на нумпаде:
; disable-keys = '27,113,120,282,52-57,260-265'
# Период попыток восстановления связи с демоном avregd (например, при его перезапуске)
# в секундах. Если значение параметра установлено как 0, то при обрыве связи с демоном,
# avreg-mon завершит работу с сообщением об ошибке. По умолчанию: 2 сек.
; reconnect-timeout = 3
# Таймаут выдачи предупредительного сигнала "НЕТ СИГНАЛА" в сек. По умолчанию: 4 сек.
; no-signal = 4
# Таймаут (в сек.) отображения камеры, выдвинутой (действиями оператора)
# на передний план и распахнутой во весь экран или окно приложения.
# По умолчанию: 300 сек. 0 - не выходить автоматически из такого режима.
; fs-timeout = 300
# Таймаут отображения названия камеры крупным шрифтом в сек.
# Если 0 - отображать название камер постоянно. По умолчанию: 6 сек.
; camname-timeout = 6
# Таймаут отображения курсора в сек. Если 0 - не скрывать курсор. По умолчанию: 4 сек.
; cursor-timeout = 4
### Настройки удалённого управления ###
# Разрешить удалённое управление согласно "remote-control".
# Значение "remote-control" должно быть вида "http://HOST:PORT/PATH-PREFIX".
# HOST можно указывать как ip-адрес, хост-имя или "*" как "любой".
# Пример: при указании "http://192.168.0.1:8155/avreg-mon-cgi", avreg-mon
# будет слушать HTTP запросы на адресе 192.168.0.1 и 8155 порту.
# Замечание: значение PORT будет автоматически увеличено на 1 если display='R'
# См. также: http://avreg.net/manual_tuning_avreg-mon.html#rctrl
# По умолчанию: <пусто> - запретить удалённое управление.
; remote-control = 'http://192.168.0.1:8155/avreg-mon-cgi'
# Принимать запросы только с хостов и(или) сетей, указанных в списке "allowed-from".
# Пример: "localhost, 192.168.43.0/24, 10.0.0.0/8".
# По умолчанию: <пусто> - принимать заросы с любых хостов.
; allowed-from = '192.168.0.0/24'
# Список сообщений тревог. Макс. количесво сообщений - 4, макс. длина одного сообщения - 15.
# CGI-запрос "/camera?nr=N¶m=alarm&action=set&value=CODE"
# отобразит сообщение #CODE(начинается с 0) в правом верхнем углу окна соотв. камеры.
# По умолчанию: <пусто> - не отображать сообщения тревог.
; alarm-msgs = ' были тревоги ; ВСКРЫТ КОРПУС ; РАЗРЯД БАТАРЕИ '
### Специфические настройки видеовывода. ###
### Предупреждение: установка этих параметров может значительно увеличить нагрузку ###
### на систему, несмотря на кажущуюся пользу от включения некоторых режимов. ###
# Попытаться создавать графические элементы прямо в видео-памяти видеокарты.
; hw-surface = yes
# Выводить YUV оверлеи прямо в видео-память видеокарты, если возможно.
; yuv-direct = yes
# Использовать аппаратное YUV ускорение видеовывода, если возможно.
; yuv-hwaccel = yes
# Использовать IYUV оверлей вместо YV12 (по умолчанию).
; iyuv = yes
# Попытаться использовать режим с двойными аппаратными видеобуферами.
; doublebuf = yes
# Включает асинхронное обновление экрана. Обычно _замедляет_ работу на
# однопроцессорных системах, но _может_ ускорить видеовывод на
# многопроцессорных SMP системах. По умолчанию: no
; asyncblit = yes
}
...
Эти параметры также доступны с командной строки, см:
avreg-mon --help
В базе данных находятся настройки, определяющие:
Чтобы обеспечить возможность локального просмотра в реальном времени, прежде всего, нужно настроить демон avregd.
Для каждой камеры, которую мы должны или хотим смотреть локально, должны быть правильно определены следующие параметры разделов «Наблюдение» и «Наблюдение→Локальное» демона avregd: «live_view», «monitor_live» и «v4l_pipe».
Теперь вам, как администратору системы, нужно разместить камеры по окну просмотрщика. Такое размещение мы назвали раскладкой (layout).
Всего раскладок можно создать 20 штук: 10 для левого или единственного дисплея и 10 для правого дисплея. В каждой из раскладок может быть до 25 камер (включительно), однако, для двух-дисплейных систем максимальное количество (общее) отображаемых камер - 32.
Определяются раскладки через веб-интерфейс:
«Настройки и Управление» → «Настройки» → «Раскладки».
Управлять программой можно с помощью клавиатуры (или специальных урезанных клавиатур - numpad-ов) и/или манипулятора типа мышь.
Сокращения:
Управление кнопками мыши (только одиночные клики):
Управление нажатиями клавиш клавиатуры:
/*-+› на НумПаде -
изменить (перейти на другое) “выделенное”
окно;
.› на НумПаде –
пауза или стоп-кадр
(stop‹S›/play‹P›);
Для ограничения этого набора допустимых действий используйте параметры: «no-mouse», «no-keyboard», «no-tty», и «disable-keys», устанавливаемые в конфигурационном файле и/или в командной строке (описания см. выше).
Начиная с версии 5.4.4, программой avreg-mon можно частично управлять с помощью http-запросов GET.
Для включения такой возможности нужно разрешить avreg-mon-у слушать запросы http, определив значения следующих параметров конфигурационного файла и/или командной строки: «remote-control» и «allowed-from» (их описания см. выше).
Например, так:
avreg.conf, секция avreg-mon {}
# случать http-запросы только на адресе localhost remote-control = 'http://localhost:8155/avreg-mon-cgi' # принимать запросы, отправленные только с 2-х хостов: # локального и 192.168.0.1 allowed-from = 'localhost, 192.168.0.1'
Версия 5.4.4 поддерживает следующие путевые суффиксы:
/camera или /camera.cgi -
управление по номеру камеры;
/window или /window -
управление по номеру окна (в текущей раскладке);
/layout или /layout.cgi -
смена раскладки.
Для получения полного URL к значению
параметра «remote-control» нужно
прибавить путевой суффикс, например,
URL = http://localhost:8155/avreg-mon-cgi/camera.cgi
CGI-параметры (в общем виде).
nr=число - номер камеры, окна или раскладки param=строка - название параметра action=строка - название действия, set или get value=строка - значение параметра
Примеры действующих запросов для версии 5.4.4p1.
# отобразить “тревогу” с кодом 2 на камере с номером 3 http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=alarm&action=set&value=2 # снять тревогу с камеры 3 http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=alarm&action=reset # снять тревогу со всех камер http://localhost:8155/avreg-mon-cgi/camera?param=alarm&action=reset
# вывести в полный экран окно камеры с номером 3 http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=fullscreen&action=set&value=1 # убрать режим вывода в полный экран для камеры с номером 3 http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=fullscreen&action=set&value=0 # то же что и выше, только не по номеру камеры, # а по номеру окна в раскладке (считается слева направо и сверху вниз) http://localhost:8155/avreg-mon-cgi/window?nr=3¶m=fullscreen&action=set&value=1 http://localhost:8155/avreg-mon-cgi/window?nr=3¶m=fullscreen&action=set&value=0
# переключиться на раскладку с номером 1 http://localhost:8155/avreg-mon-cgi/layout?nr=1&action=set
Для отладки, вы можете в одной терминальной сессии запустить avreg-mon с ключём –v (– –verbose), а в другой подавать запросы с помощью консольных wget, curl или GET (из пакета libwww-perl):
% GET -sSe 'http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=fullscreen&action=set&value=0' GET http://localhost:8155/avreg-mon-cgi/camera?nr=3¶m=fullscreen&action=set&value=0 --> 200 OK Date: Wed, 13 May 2009 12:18:18 GMT Content-Length: 4 Client-Date: Wed, 13 May 2009 12:18:18 GMT Client-Peer: 127.0.0.1:8155 Client-Response-Num: 1 OK