ZoneMinder и USB камеры
Сегодня я хочу продолжить заметку насчет как следить за самим собой работая/отдыхая за ноутбуком Lenovo ThinPad E555 имея установленную систему на борту Ubuntu 12.04.5 Desktop amd64. Ранее на блоге я задействовал для этой цели пакет motion, но вот работа с ним была ограничена как я вскоре осознал его возможностями по части удобного управления посредством Web-интерфейса, но был и плюс – консоль. Настроить на системе через консоль видеонаблюдение и формирование записываемого видео к примеру каждый час это круто. Но ведь это только для себя – любителя консольных заморочек, а вот произвести впечатление как на других так и на себя без возможности показать в визуализированном виде оставляло желать лучшего. Потому как все мы привыкли получать информацию в виде изображений/видео – так наиболее продуктивно. И потому сейчас я рассмотрю все шаги которые мне пришлось пройти прежде чем к программному обеспечению ZoneMinder подключить USB камеры .
ставлю ZoneMinder на Ubuntu 12.04.5 Desktop amd64 по своей заметке
и W: Не удалось получить http://ppa.launchpad.net/iconnor/zoneminder/ubuntu/dists/precise/main/source/Sources 404 Not Found
W: Не удалось получить http://ppa.launchpad.net/iconnor/zoneminder/ubuntu/dists/precise/main/binary-amd64/Packages 404 Not Found
W: Не удалось получить http://ppa.launchpad.net/iconnor/zoneminder/ubuntu/dists/precise/main/binary-i386/Packages 404 Not Found
E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
Вот блин. Уже сколько раз убеждаюсь что нужен свой локальный репозитарий пакетов, ссылки из интернета устаревают, убираются
Инсталлирую в систему некоторые пакеты, функционал которых мне потребуется в дальнейшем:
$ sudo apt-get install libvlc-dev libvlccore-dev vlc -y
Информация по моей встроенной камере:
$ sudo apt-get install v4l-conf -y
### v4l2 device info [/dev/video0] ###
card : «Integrated Camera»
capabilities : 0x84000001 [VIDEO_CAPTURE,STREAMING,(null)]
Источник
(Умный Дом своими руками)
Вопрос про подключение USB камеры к Zoneminder
Вопрос про подключение USB камеры к Zoneminder
Сообщение fish-msk » 09 мар 2015, 22:05
Нашел у себя старенькую USB камеру Trust WB-5400, решил попробовать подключить ее к серверу на Debian 7.
Устройство /dev/video0 появилось.
В Zoneminder (в web интерфейсе) картинки с камеры я не вижу, лог zm:
Вот еще вывод v4l2:
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Andrey_B » 10 мар 2015, 11:03
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Dron » 19 мар 2015, 11:16
если кто знает, объясните, что я сделал не так?
и ещё момент. в браузере хром не работает интерфейс))) куки чистил, не помогло) выводит 2 строки и всё.
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Andrey_B » 19 мар 2015, 11:30
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Dron » 19 мар 2015, 12:43
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Andrey_B » 19 мар 2015, 12:48
Re: Вопрос про подключение USB камеры к Zoneminder
Сообщение Dron » 19 мар 2015, 17:06
оказывается, все настройки у меня были указаны верно) пальцем в небо ткнул и попал.
а заработало оно только тогда (причём сразу), когда я отключил обязательную авторизацию
(OPT_USE_AUTH Authenticate user logins to ZoneMinder)
вот так странно(
Источник
ZoneMinder + USB camera logitech
OS Debian 2.6.26-2-686
ZoneMinder Release 1.24.2 29th June 2009
Bus 004 Device 002: ID 046d:08dd Logitech, Inc. QuickCam for Notebooks
Вроде все подключено, настроено, а картинки с камеры нет. Помогите разобраться в чем может быть проблема ?
В логах стала появлятся такая ошибка.
03/15/10 12:39:09.029529 zmdc[2931].INF [‘zmc -d /dev/video0’ starting at 10/03$ $rmally, exit status 6]
Source /dev/video0 (2) — стал красным.
Ага, пошел я дальше смотреть и получил следующее video:/# zmu -d /dev/video0 -q -v Error, failed to open video device /dev/video0: Device or resource busy video:/# zmu -d /dev/video0 -q -v Error, failed to query video capabilities /dev/video0: Invalid argument video:/#
Перекомпилил , не работает. Все я уже не знаю, что делать.
> Bus 004 Device 002: ID 046d:08dd Logitech, Inc. QuickCam for Notebooks
Да работает она из коробки, только с новыми ядрами.
первое — только последние версии ZM умеют работать с V4L2
а все USB камеры работают через v4l2 но не v4l1! и работают из коробки!
xawtv -c /dev/video* -geometry 230×240
смотри права на /dev/video*
ZM сам должен их подправлять по идее.
Сначала заведи работу камеры (проверь через xawtv) проверь варианты размера, но 320х240 и 640х480 должны работать.
по поводу ZM уже куча форумов. Там есть тонкости с настройкой буфера, а можно пользовать /dev/shm (но нужен пер модуль и перекомпилить ZM)
Еще вариант когда ZM не поддерживает v4l2 — это извращенная связка Motion + ZM; нужен vloopback драйвер или через http с локального порта.
Кстати у тебя на скринах почуму-то fpts не указан — ставь для начала — 1 и вместо NTSC — PAL
еще делай паузу между подключением USB камеры и запуском ZM не меньше 5-ти секунд.
Источник
ZoneMinder (Русский)
ZoneMinder — это интегрированный набор приложений, которые обеспечивают полное решение для видео наблюдения, позволяющее осуществлять захват, анализ, запись и мониторинг любых камер видеонаблюдения или камер безопасности, подключенных к компьютерам на базе Linux. Приложение предназначено для работы с дистрибутивами, поддерживающими интерфейс Video For Linux (V4L), и было протестировано с видеокамерами, подключенными к картам BTTV, различными USB-камерами, а также поддерживает большинство IP-камер.
Contents
Установка
Установите пакет zoneminder AUR . Также можно использовать ветку разработки, установив пакет zoneminder-git AUR .
Для создания миниатюр (используется редко) установите пакет netpbm .
После завершения настройки и запуска системной службы, веб-интерфейс будет доступен по следующему адресу: http://localhost/zoneminder/.
Конфигурация
Apache
Раскомментируйте следующую строку в /etc/httpd/conf/httpd.conf :
Включите конфигурационный файл httpd-zoneminder , добавив эту строку в конец httpd.conf :
Отредактируйте /etc/php/php.ini . Убедитесь, что следующие расширения включены, раскомментируя эти строки:
Также задайте часовой пояс, например:
Смотрите http://php.net/manual/en/timezones.php для просмотра списка часовых поясов.
Иногда может присутствовать следующий файл /etc/php/conf.d/zoneminder.ini:
если часовой пояс не заполнен, выполните:
MySQL
Создание базы данных zm и пользователя с соответствующими разрешениями и паролем:
Импортируйте предварительно сконфигурированные таблицы в недавно созданную базу данных zm:
Обновите конфигурацию ZoneMinder с новыми параметрами:
Безопасность
Для повышения безопасности нужно установить пароль для пользователя root:
Кроме того, вы можете запускать:
Запуск
Запустите/включите службы httpd.service , zoneminder.service , fcgiwrap-multiwatch и php-fpm.service .
Решение проблем
По умолчанию, логи хранятся в /var/log/zoneminder . Вы также можете просматривать логи в веб-интерфейсе.
Также смотрите официальную wiki-страницу проекта: Troubleshooting.
Очистка данных приложения
Данная функция будет полезна разработчикам или пользователям, которым нужно очистить все данные ZoneMinder и начать настройку с нуля.
Восстановление базы данных
Удалите базу данных ZoneMinder и пользователя MySQL:
Пересоздайте базу данных и пользователя:
Импортируйте предварительно сконфигурированные таблицы в недавно созданную базу данных zm:
Очистка папки кеша
Локальные видеоустройства
Важно, чтобы пользователь, выполняющий httpd (обычно http), мог получить доступ к вашим камерам, например:
То есть, добавьте пользователя http в группу video.
Несколько локальных USB-камер
Если вы заметили ошибку, например, libv4l2: error turning on stream: No space left on device при использовании нескольких USB-видеоустройств (к примеру, нескольких веб-камер), вам может потребоваться увеличить пропускную способность шины.
Источник
Домашнее видеонаблюдение. Реализация с помощью Zoneminder и Debian 8
Введение
Доброго времени суток.
Имея в наличии домашний NAS, который работает под управлением Debian 8 (ранее я использовал Ubuntu Server 12.04 и 14.04), возникла идея возложить на него, помимо прочего, роль сервера видеонаблюдения. В качестве серверной части был выбран Zoneminder. Алгоритм работы видеонаблюдения должен быть такой: круглосуточная запись не нужна, но требуется в случае необходимости возможность включения записи по наступлению события — срабатывание на движение, с последующей отправкой уведомления на электронную почту со скриншотами с места события. Это нужно чтобы обеспечить контроль за квартирой в момент отсутствия кого-либо дома. Ну и, конечно, нужна возможность удалённо подключиться и проверить — всё ли в порядке.
На сайте разработчика я нашёл подробнейшую Wiki, посвященную именно установке на Debian 8 64-bit. Соответственно, инструкцию по установке я возьму оттуда, пояснив некоторые моменты своими комментариями.
Установка Zoneminder
Итак, у нас есть сервер с установленным в минимальной конфигурации Debian 8 64-bit (я использовал netinstall). Сначала нужно отредактировать sources.list, добавив в него Jessie backports:
В конец файла добавим:
Либо раскомментируем эту строку, если она там уже есть, то есть удалим # в начале строки. Обновляем индекс пакетов:
Теперь всё готово для установки Zoneminder, что мы и сделаем:
В процессе установки будут также автоматически установлены Apache, MySQL, PHP.
После завершения установки, создаём базу MySQL:
В процессе создания базы, будет предложено выбрать пароль root базы. Далее выполняем последовательно следующие команды (через sudo), вводя пароль в случае запроса:
Включаем автозапуск Zoneminder:
Добавляем пользователя www-data в группу sudo, это нужно для доступа к локальным видеокамерам:
Проверяем, что Zoneminder запущен:
Если всё в порядке, вывод команды должен быть, примерно, такой:
Добавляем свой часовой пояс в PHP:
Ищем секцию [Date] и меняем date.timezone на нужный:
Сохраняем — Ctrl+O, выходим — Ctrl+X.
Перезапускаем Apache:
Чтобы была возможность управлять Zoneminder через Internet Explorer, нужно установить Cambozola:
На этом установка Zoneminder завершена. Теперь нужно настроить почтовый транспорт для того, чтобы Zoneminder мог уведомлять о событиях по электронной почте.
Настройка почтового транспорта
Для отправки уведомлений, Zoneminder умеет использовать ssmtp, его и установим:
Заодно установим mailutils, если этот пакет ещё не установлен:
Теперь настроим параметры почты, от имени которой будут идти уведомления. Предположим, что ящик находится на gmail.com. Открываем ssmtp.conf:
и приводим к такому виду, указав, соответственно, ваши данные:
приводим к такому виду:
И проверяем корректность настроек, отправив тестовое письмо:
Если тест прошёл успешно, переходим к следующему шагу — установка MIME::Lite и Net::SMTP. Проверим, установлены ли эти компоненты:
Устанавливаем, зайдя в оболочку perl:
Сейчас нужно внести очень важные изменения, без которых почтовый транспорт от Zoneminder работать не будет. Обратите внимание, что эти изменения нужно вносить только в том случае, если версия установленного Zoneminder — 1.29 или ниже. Начиная с версии 1.30, эти действия производить не нужно.
Откроем в редакторе файл zmfilter.pl:
Перейдя на строку 1179, мы видим следующее:
Закомментируем строки и
и добавим под ними строку
В итоге, начиная со строки 1179 (в моём случае, но не обязательно именно этот номер строки), код должен выглядеть так:
Сохраняем, выходим. На этом работа с терминалом завершена.
Веб-интерфейс Zoneminder
Управление доступно по адресу ip.adress.servera/zm, заходим. Первое, что нужно сделать, это зайти в Options -> Users, и задать пароль пользователю admin:
Затем зайти в Options -> System, и поставить галочку напротив OPT_USE_AUTH:
Если этого не сделать, то Zoneminder позволяет зайти в веб-интерфейс или подключиться через клиентское приложение без запроса логина\пароля, что, естественно, небезопасно. Странно, что эта очень нужная галочка не отмечена по умолчанию.
Теперь настроим отправку электронной почты. Заходим в Optons -> Email и настраиваем по аналогии:
В поле EMAIL_BODY можно настроить формат уведомлений так, как нужно именно вам. Например, если в поле добавить %EI1%, то к сообщению будет прикреплен первый скриншот с момента срабатывания датчика движения. Полный список опций для уведомлений доступен здесь.
Добавление камер
Zoneminder умеет работать как с usb, так и с IP-камерами. На данный момент, мои камеры ещё в пути, поэтому в качестве тестово-настроечно-временного варианта камеры, я использую мой старый Android-смартфон Alcatel Pop C2, на котором установлено приложение IP Webcam, превращающее смартфон в Wi-Fi IP-камеру. После установки и запуска приложения (предварительно рекомендую выставить разрешение видеопотока в настройках приложения, я выставил 800х480), на дисплее смартфона отображается IP и порт, по которому можно зайти в веб-интерфейс и посмотреть, что здесь есть интересного:
Настроек, в общем, довольно много, но нас интересует адрес, по которому отдается видеопоток. И мы видим, что есть информация для настройки Zoneminder, что не может не радовать. А именно, указан Remote host path, путь, который нужно будет прописать в настройках Zoneminder — после IP камеры нужно добавить /video:
Возвращаемся в веб-интерфейс Zoneminder, чтобы добавить камеру, выбираем Add New Monitor:
В поле Name пишем желаемое имя, Source type -> Remote:
Во вкладке Source заполняем поля: Remote Host Name -> IP смартфона, Remote Host Port -> порт, на котором работает IP Webcam, Remote Host Path -> путь, который мы подсмотрели в настройках IP Webcam, а также указываем разрешение видеопотока, которое должно совпадать с выбранным нами ранее в настройках IP Webcam:
Сохраняем настройки -> Save, и в главном меню Zoneminder видим добавленную нами камеру:
При нажатии на название которой, мы видим изображение:
Камеры могут работать в нескольких режимах, который определяется параметром Function в главном меню:
Режим, в котором запись ведется только при наличии движения в кадре, называется Modect, его и выберем. Теперь система не будет записывать видеопоток постоянно, а только при наличии веских на то причин. Но нам ведь ещё нужно уведомление о движении в кадре. Для это нужно настроить фильтр. Открываем Filters в главном меню Zoneminder, настраиваем согласно скриншоту, сохраняем под любым именем:
И не забываем поставить галочку напротив Run filter in background:
Таким образом, если в кадре будет обнаружено движение, система запишет видео и отправит на почту уведомление.
Клиентские приложения
Если есть постоянный IP, ничто не мешает пробросить порты в маршрутизаторе и подключаться со смартфона извне через веб-интерфейс, тем более, что в настройках Zoneminder можно выбрать мобильную версию интерфейса, но, помимо этого, я решил поискать какое-нибудь мобильное приложение для этой цели. Поискав в Google Play по ключевому слову «zoneminder», я остановился на zmNinja, т.к. рейтинг достаточно высокий и скриншоты понравились. Приложение платное, триальной версии для предварительной оценки, увы, нет. Функционал более чем достаточный — просмотр видеопотока в реальном времени, просмотр архива, записанных событий, переключение режимов камер и т.д.
Также есть десктопные версии zmNinja для Linux, Windows, Mac OS X — они распространяются бесплатно. Так выглядит версия для Linux, запущенная на моём Mint 18:
В общем, для всех систем интерфейс единообразен.
Источник