Видеонаблюдение в Gentoo

Сегодня я хочу рассказать про организацию программной системы видеонаблюдения под Linux Gentoo. Цена готовой системы на 3 камеры — 40$.

Имеется в наличии:

  1. Заказанная с китайского сайта плата видеозахвата на контроллере Bt848/Bt848a/Bt849/Bt878/Bt879. Данную плату я покупал специально под FreeBSD, ибо фряха больше ничего не поддерживала. Найти такую плату можно по словам «DVR Capture».
  2. Несколько китайских аналоговых камер. 
  3. Необходимое количество метров витой пары для подключения камер. Конечно, есть специальные провода для аналоговых камер, но можно использовать и витуху, если расстояние до камеры не очень большое.
  4. Желание.

Прикручиваем карту видеозахвата в систему

Для начала необходимо определить на каком чипсете работает наша карта. Узнать это достаточно просто. Многие продавцы указывают в описании какой чип используется в плате видеозахвата. Если продавец не указал название чипа, то можно просто взглянуть на плату, найти самую большую деталь и прочитать название. В моем случае это — Bt879. Второе, что нужно сделать — собрать ядро с необходимым модулем. Для пересборки ядра я использовал genkernel:

После успешной компиляции, если необходимо, не забудьте подправить конфиг загрузчика (обычно grub — /boot/grub/grub.conf). После перезагрузки мы увидим, что у нас в системе появилось устройство /dev/video0. Если оно не появилось, то значит у вас не BT848 и нужно включить в ядро что-то другое. Однако, хоть устройство и определилось в системе, но оно может работать некорректно. У меня это проявлялось очень странно картинкой получаемой с карты видеозахвата. Необходимо загрузить модуль, явно указав какая плата видеозахвата используется. Для начала выгрузим модуль:

Далее, находим нашу карту:

Для моей карты видеозахвата подошло:

Так же рекомендую использовать «0x69», если не удалось определить какая именно карта у вас установлена.

Теперь нам необходимо подгрузить модуль обратно в ядро, но уже явно указав какую карту необходимо использовать:

Осталось только добавить модуль в автозагрузку:

Настройка Motion

Ничего лучшего, кроме чем Motion для видеонаблюдения я не нашел. В принципе, я не вижу в нем особых недостатков и поэтому выбрал его для своей системы. Добавим в package.use необходимые USE флаги и установим motion:

После установки нам становится доступен конфигурационный файл, расположенный в /etc/motion.conf. Расположение файла конфигурации по-умолчанию мне не очень нравится, поэтому я переместил его в /etc/motion/motion.conf и создал символьную ссылку с /etc/motion.conf. А расположение мне не нравится потому, что конфиг motion подразумевает разнесение конфигов камер на несколько файлов. То есть каждую камеру можно настроить отдельно и вынести все эти настройки в разные файлы.

Если вы хотите настроить motion под себя, то рекомендую прочитать конфиг, там имеются довольно понятные комментарии. А для тех кто ленится, то можно мне поверить и внести некоторые изменения:

Создадим файл конфигурации камеры:

Остальные камеры можно добавить аналогично.

Настройка завершена и можно попробовать включить motion. Для начала запустим его в режиме дебага, чтобы убедится, что все работает нормально:

Открыв в браузере http://<ip>:8081/ мы должны увидеть изображения в камере. После того как произойдет движение, должна начаться запись и в /var/cam/cam1 появится .avi файл.

На этом первоначальная настройка Motion завершена. Но для меня это оказалось недостаточно. Мы собирали Motion с поддержкой MySQL, а это значит, что Motion может каким-то образом взаимодействовать с базой. Но подкручивание MySQL это уже тема для отдельного поста.

 

Оставить комментарий


Примечание - Вы можете использовать эти HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">