Видеонаблюдение через интернет в веб-браузере

Запись по расписанию

В заметке описываются настойки системы для обеспечения записи «по расписанию».

Инструкции точны для avregd версий не ниже
  • 6.0p4 (AVReg 6.0)
  • 6.1p2 (AVReg 6.1)

Теория.

Режим записи определяет параметр rec_mode (раздел «Запись») в настройках камеры, расположенный в базе данных avreg6_db в таблице CAMERAS.

Допустимыми значениями являются:

  1. «Без записи» - запись на диски заблокирована;
  2. «Выборочный» (по-умолчанию) режим, при котором запись управляется событиями любых из следующих подсистем:
    • детектор движения (если включен и настроен);
    • детектор звука (пока не реализовано);
    • внешние команды ( avregd HTTP CGI-интерфейс ).
  3. «Всё подряд» - «сплошной» (непрерывный, безусловный) режим записи, при котором всегда и абсолютно все захваченные с устройств видео-кадры и аудио-фреймы записываются на диск.

По умолчанию, если значение параметра не задано в базе данных, испольуется вариант «Выборочный».

Используя системный планировщик CRON мы можем в определённое время включать и выключать запись делая 2 действия:

  1. изменение значения параметра в базе данных,
  2. подавая команду на перечитку параметров (reload) демону avregd.

Для решения этой задачи мы реализовали скрипт-хелпер onoff-rec.sh:

$ sudo sh /usr/share/doc/avregd/examples/onoff-rec.sh 

usage: onoff-rec.sh cmd rec_mode [cam_list]
          where: cmd      - "start" or "stop"
                 rec_mode - "selective" or "continuous"
                 cam_list - list of cameras nubmbers separated by space,
                            ie "1 4 5 6 12 14 .. ".
                            if it emptied - use 0 - "default settings".

Практика.

onoff-rec.sh

Установка скрипта-хелпера onoff-rec.sh.

$ cd /etc/avreg/scripts/

$ sudo cp /usr/share/doc/avregd/examples/onoff-rec.sh .

$ sudo chmod 0754 onoff-rec.sh
$ ls -l onoff-rec.sh 
-rwxr-xr-- 1 root root 3236 авг.  21 12:25 onoff-rec.sh

rc.local

Обязательно принудительно включайте запись по запуску операционной системы.

Иначе, если сервер включится (после сбоя питания, например) после времени запуска записи в задании планировщика, запись не будет производиться вплоть до следующего включения.

Иначе, лучше записать лишнее, чем пропустить важное.

$ sudoedit /etc/rc.local

/etc/rc.local

#!/bin/sh -e
#
# rc.local

# start AVReg's recording at system startup
# sheduled by /etc/cron.d/avregd-rec
if [ -x '/etc/avreg/scripts/onoff-rec.sh' ]; then
        /etc/avreg/scripts/onoff-rec.sh \
                start \
                continuous \
                1 3 5 7 9 11
fi

exit 0

CRON

Создайте файл-задание для планировщика CRON.

$ sudoedit /etc/cron.d/avregd-rec

Ниже пример содержимого этого файла.

/etc/cron.d/avregd-rec

PATH=/etc/avreg/scripts:/usr/sbin:/usr/bin:/sbin:/bin

# Список номеров камер через пробел.
# Если все камеры в конфигурации записываемые
# и значение "rec_mode" определено _только_ в "настойках для всех",
# то можно поставить один номер 0 (ноль) - "настройки для всех".
CAMLIST="1 3 5 7 9 11"

# режим записи continuous(постоянный) or selective(по детектору)
RECMODE=continuous

# запускать запись Пн..Пт в 06:30
30 06   * * 1-6 root    test -x '/etc/avreg/scripts/onoff-rec.sh' && onoff-rec.sh start $RECMODE $CAMLIST

# останавливать запись в любой день в 19:45
45 19   * * *   root    test -x '/etc/avreg/scripts/onoff-rec.sh' && onoff-rec.sh stop $RECMODE $CAMLIST

Времена запуска и останова записи, значения переменных CAMLIST и RECMODE установите как вам нужно.

manual/applications/schedule-recording.txt · Последние изменения: 2014-08-22