LXF156:Zoneminder:
|
|
|
Видеоохрана. Постройте сервер без монитора, доступный через Интернет.
Zoneminder: Видеослежение
Лео Максвелл подавляет желание отвесить неодобрительные замечания о реалити-шоу, показывая вам, как создать собственный Дом-2.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Три основных повода для наблюдения – безопасность, надежность и любопытство. Если вам необходимо приглядывать за спящим ребенком или получить видеодоказательство, что некий тип засунул вашу кошку в мусорный ящик, Zoneminder вам в помощь. Это сложный менеджер камеры, включающий поддержку нескольких источников изображения, детектор движения, оповещения по электронной почте и автоматизацию X10. Он поддерживает большинство устройств V4L (Видео для Linux) и может контролировать сетевые IP-камеры, а благодаря web-интерфейсу идеален для сервера без монитора.
На следующих страницах я расскажу вам, как построить весь процесс по созданию «безголового» сервера видеонаблюдения, способного обрабатывать изображения и загружать изображения на другой компьютер; и он будет доступен в Интернет, даже с мобильного телефона.
Создание сервера
На нашем уроке мы применим пакет программного обеспечения Zoneminder, работающий на сервере Ubuntu. Для тестирования нам понадобится компьютер на Pentium 4 или выше, 512 МБ оперативной памяти, подключение к сети и 20 ГБ на жестком диске. Для постоянной эксплуатации требования к оборудованию будут зависеть от целого ряда факторов, которые мы обсудим позже.
За основу для системы я выбрал сервер Ubuntu 11.10. Установка на другие дистрибутивы, понятно, будет отличаться, но не должна быть сильно сложнее. Если вздумаете собирать из исходников, имейте в виду, что у Zoneminder довольно много зависимостей.
Здесь нет графического интерфейса типа наведи-и-щелкни – только web-интерфейс, и он недоступен, пока вы его не запустите. Это устройство предназначено для работы без монитора, так что большинство операций можно проводить удаленно, и как только система будет установлена, экран и клавиатуру можно отключить.
Вам нужно ввести имя пользователя и пароль на ваш выбор для Ubuntu и для базы данных MySQL, плюс вашего SMTP-провайдера почтового сервера (а также имя пользователя и пароль, если вы хотите использовать Zoneminder для отправки почты).
Давайте же начнем. Во-первых, скачайте образ Ubuntu Server с www.ubuntu.com/download/server/download. Запишите его на компакт-диск, а затем загрузите диск на целевой компьютер. По умолчанию установится базовый сервер без графической оболочки рабочего стола. Вы можете, если хотите, установить полную ОС Ubuntu, но этот предназначен для работы 24/7 «без головы». На нашей тестовой системе установка заняла около 20 минут.
Во время установки предоставляется возможность добавить еще пакетов. Дополнительно ничего не требуется, но было бы неплохо установить сервер OpenSSH, если вам нужен удаленный доступ через терминал.
После установки компьютер перезагрузится, и вы увидите экран входа. Войдите с именем пользователя и паролем, созданными в процессе установки. Теперь вы должны увидеть IP-адрес хоста на этой странице. На данном этапе, вы можете продолжить на этом компьютере либо использовать SSH с другого.
Теперь мы готовы к установке Zoneminder пакета. В терминале введите:
sudo apt-get install zoneminder
Появится список файлов, в том числе Zoneminder и все его зависимости. Достойны внимания в этом списке web-сервер Apache, база данных MySQL, PHP и Perl, а также различные библиотеки и кодеки. Введите Да и нажмите Ввод для установки. На загрузку и установку всех необходимых пакетов потребуется время, зависящее от скорости вашей системы и подключения к Интернет. Вас попросят ввести пароль root для MySQL, и я бы вам советовал его записать.
Вам также понадобится ввести имя хоста, то есть слово, которое будет обозначать ваш ПК, и имя вашего почтового сервера – чтобы Zoneminder мог отправлять оповещения по электронной почте через nullmailer, который также устанавливается автоматически.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
По завершении проверьте web-сервер. На другом компьютере в сети, откройте web-браузер и введите IP-адрес нового сервера. Должна появиться начальная страница Apache по умолчанию, с заголовком «Это работает!» и кое-каким текстом. А раз работает, займемся настройкой. Сперва добавим символическую ссылку в директории конфигурации Apache (это укажет Apache, где находится файл настройки Zoneminder). Затем перезапустим Apache:
sudo ln -s /etc/zm/apache.conf /etc/apache2/conf.d/zoneminder.conf sudo /etc/init.d/apache2 restart
Далее нужно настроить Zoneminder, добавить Apache в видеогруппы, а также настроить zmfix, небольшой бинарник, запускаемый при загрузке системы, чтобы права видеоустройства были установлены правильно:
sudo chmod 4755 /usr/bin/zmfix sudo zmfix -a sudo adduser www-data video
Теперь мы можем проверить его на другом компьютере в той же сети, открыв браузер и введя в адресной строке http://<IP-адрес устройства>/zm. Например, если IP-адрес 192.168.0.10, было бы http://192.168.0.10/zm.
Должна открыться домашняя страница Zoneminder. Если Zoneminder не работает, нажмите на ссылку Остановлено вверху в центре, что позволит запустить его. После этого он должен запускаться при каждой загрузке.
Настройка камер
Итак, Zoneminder работает; перейдем к настройке нашей камеры. Следующие примеры показывают локальное устройство V4L и удаленное IP-устройство.
V4L устройства включают web-камеры и карты захвата – лично я использую web-камеру USB Logitech E3500, но и многие другие web-камеры USB подойдут. Чтобы убедиться, что web-камера подключена, наберите lsusb в терминале. Мы получим список всех подключенных USB-устройств . Моя камера отображается как Logitech Inc Quickcam E 3500. По умолчанию, первое найденное устройство V4L (в данном случае, моя web-камера USB) будет присоединено к системе в /dev/video0. Если у вас есть другие установленные устройства V4L, например, карты захвата, это может отличаться. Команда ls -l /dev/video* выведет список всех устройств V4L в системе, а команда
sudo udevadm info -a -p $(udevadm info -q path -n /dev/video*) | grep ATTR{name}
отобразит все узлы /dev/video device и их названия. Сам я получил от /dev/video0 ответ в виде UVC Camera (046d:09a4); набор цифр и букв в скобках – это идентификатор устройства, выданный lsusb.
Теперь расспросим о параметрах для нашей камеры. Команда
sudo zmu -d /dev/video0 -q –v
даст нам длинный список атрибутов, но самые важные – Formats, MJPEG, YUV 4:2:2 (YUYV) и Bounds 320 × 240.
Нам они потребуются при настройке камеры в Zoneminder. С этого момента мы должны быть в состоянии обходиться web-интерфейсом. Запустите его снова из web-браузера на другом компьютере в той же сети и нажмите на кнопку Добавить новый монитор. Появится всплывающее окно.
На первой странице введите имя для монитора, а затем задайте Local в качестве типа источника и монитор в качестве функции.
Теперь нажмите на вкладке Источник и введите следующее:
Device path: /dev/video0
Device format: PAL
Capture palette: YUYV
Capture width: 320
Capture height: 240
и нажмите Сохранить. Если все хорошо, вы должны увидеть ссылки на функции и источники, и они будут оранжевого цвета. Если они красного цвета, это означает, что камера не работает. Настройки IP- или сетевой камеры схожи, но поскольку команда zmu работает только для локально подключенных устройств, необходимо получить информацию об устройстве из других источников.
Вам нужно знать разрешение камеры, ее формат изображения и URL. Последний обычно состоит из ее IP-адреса с путем для потокового изображения или видео. Хотя многие IP-камеры используют ActiveX или Java для удаленного интерфейса браузера, они часто предлагают прямой URL для потокового видео. Если этого нет в руководстве пользователя, быстрый поиск в Интернете по номеру модели может решить вопрос; или просто наведите на ссылки на собственные встроенные web-страницы – тогда может выявиться адрес ссылки в нижней части экрана браузера.
Например, у меня есть IP-камера, которая предлагает URL для живого потокового видео для мобильных устройств, и это – 192.168.0.30/pda.cgi?page=image&cam=1.
Итак, на первом экране я выбираю Удаленный в качестве типа источника; на втором экране ввожу 192.168.0.30 в качестве имени удаленного хоста и /pda.cgi?page=image&cam=1 для пути, с 640 и 480 для ширины и высоты соответственно.
Если IP-камера настроена с использованием имени пользователя и пароля, введите имя в формате <имя_пользователя>:<пароль>@<имя_хоста>. Когда все будет введено, нажмите кнопку Сохранить.
Изучаем интерфейс
Если все прошло хорошо, теперь у вас есть одна или несколько рабочих камер, и мы можем приступить к исследованию особенностей Zoneminder. При нажатии на ссылку Параметры в правом верхнем углу откроется главное окно настройки – оно представит вам на первый взгляд чудовищное количество вкладок. Однако по щелчку на знаке вопроса рядом с каждой записью доступна справка.
Zoneminder воспринимает видеоустройства как Мониторы. Нажав на названии монитора, вы откроете всплывающее окно с изображением в реальном времени. Нажатие на любую из записей в столбце События откроет экран События, где можно воспроизвести или удалить события, настроить фильтры для оповещения по электронной почте, и т. д. Нажатие на запись в колонке Функция включает или отключает монитор, либо меняет функцию.
В выпадающем списке есть пять режимов камеры:
242305.png Монитор – просто пассивный режим с потоковым видео или серией кадров в реальном времени.
242307.png Запись сохраняет заданное количество кадров в цикле.
242309.png Modect – обнаружение движения, сканирование последовательности изображений; когда изменения между изображениями показывают движение, изображения записываются.
242311.png Mocord является комбинацией двух предыдущих режимов: цикл записывается, а те кадры, где было обнаружено движение, отмечаются особо.
242313.png Nodect – запись срабатывает только от внешних событий, например, сигнала от инфракрасного детектора движения X10.
Любые изменения будут отражены в цвете источника и функции записи. Красный цвет указывает на ошибки, функция Монитор – в пассивном режиме и окрашена в оранжевый цвет, все остальные режимы активны и должны быть окрашены в зеленый цвет. В столбце Зоны, значение по умолчанию установлено на 1. При нажатии на эту запись откроется всплывающее окно Зона; затем нажмите на название зоны, и откроется Редактор зон, где вы можете создавать различные зоны покрытия для обнаружения движения.
Детектор движения может применяться в самых сложных случаях. Используя Редактор зон, вы можете разделить область изображения на отдельные зоны, каждая со своими атрибутами. Форма зоны начинается в виде квадрата, обрамляющего весь образ. Размер и форма могут быть изменены путем перетаскивания угловых точек, а также можно добавить дополнительные точки. Предусмотрено пять типов зон:
242315.png активная используется чаще всего, движение вызывает сигнал тревоги;
242317.png включенная вызывает тревогу, только зафиксировав движение хотя бы в одной из зон;
242319.png выключенная запускается только в случае отсутствия событий в других зонах;
242321.png предупреждающая – событие в этой зоне будет препятствовать запуску сигналов тревоги в других зонах;
242323.png неактивная – для «мертвых» зон, где сигнал тревоги не имеет смысла.
Для каждого из этих типов зон можно устанавливать пороги чувствительности по изменениям пикселей, которые могут быть по-разному сгруппированы или отфильтрованы. К счастью, есть несколько предустановленных вариантов, которые дадут вам общее представление при создании собственных параметров. Стоит иметь в виду, что чем сложнее фильтрация, тем больше вычислительной мощности необходимо для ее реализации, и без строгой необходимости зоны не должны пересекаться. При установке слишком высокой чувствительности ваш жесткий диск быстро забьется нежелательными изображениями от ложных срабатываний. Например, во время первого снегопада в прошлом году я за 30 минут получил от моего сервера Zoneminder 224 электронных письма.
Чтобы ускорить связь между модулями, Zoneminder применяет буфер разделяемой памяти. Я использовал Ubuntu 11.10 и Zoneminder 1.24.4 с памятью, размеченной по умолчанию. Хотя настройки тут и не требуется, все-таки следует убедиться, что для всех ваших камер памяти достаточно. Если 11.10 слишком серьезно для вас, знайте, что в версиях до 1.24 требуемый объем общей памяти нужно устанавливать вручную. Если вы зададите мало общей памяти, камера не будет работать, и журналы покажут ошибку shmget. Основная формула для расчета общих требований к памяти такова:
(Количество кадров в буфере) × (ширина изображения) × (Высота изображения) × 3 (для 24-битного цвета) × (количество камер) + 10 % запас
Один кадр видео в разрешении 640 × 480 в 24-битном цвете берет 921 600 байт, или около 1 МБ, так что для буфера на 40 кадров (по умолчанию) для одной камеры потребуется около 40 МБ. Для настройки этого в более ранних версиях, использующих разделяемую память SystemV, добавьте настройки памяти в конце /etc/sysctl.conf, после чего перезагрузитесь. Значение shmall – это максимальное количество общих страниц памяти, которые могут быть выделены (по умолчанию размер страницы памяти равен 4 КБ), а shmax – это максимальный размер сегмента разделяемой памяти. Например,
kernel.shmall = 31054432
kernel.shmmax = 134217728
Это добавляет 128 MБ разделяемой памяти. Если вы хотите использовать несколько камер, вам, возможно, следует увеличить приведенные цифры.
Расписание
В верхней части экрана вы видите, что Zoneminder показан как работающий. Нажатие на ссылку Запуск позволит изменить состояние на перезагрузку. Служба перезапустится. Можно добавить и свои собственные режимы. Для начала настроим ZoneMinder под свои запросы – например, на обнаружение движения в дневное время. Для этого нажмите на ссылку Запуск, введите “daytime” в текстовом поле и нажмите кнопку Сохранить. Daytime добавится в список режимов, появится в выпадающем списке и сможет вызываться при помощи zmpkg.pl с заданием cron при планировании различных режимов работы для разного времени суток, в выходные дни, праздники и т. д.
Типичная запись crontab выглядит так:
0 9 * * 1-5 /usr/local/bin/zmpkg.pl daytime
Режим Daytime здесь будет запускаться в 9 утра с понедельника по пятницу.
И, наконец... Zoneminder – сложный и мощный пакет, и на этом уроке я лишь поверхностно рассказал о его возможностях. Более подробная информация доступна на www.zoneminder.org.
242327.png 242328.png
LXF156.tut_zone.leo.psd Наш эксперт
В роли ИТ-директора и системного администратора, Лео Максвелл занимается поддержкой собственного ПО и железа и сетями других людей более 15 лет – не диво, что он нажил лысину.
LXF156.tut_zone.1.psd 240867.png Верхняя часть окна показывает домашнюю страницу Zoneminder. Несколько скудный вид обманчив.
Железо для видео
Диапазон видеокамер весьма широк, но основных типов три:
242221.png Web-камеры Множество web-камер имеют довольно низкие параметры с точки зрения качества изображения – зачастую разрешение, указанное на упаковке, это «программная» цифра, полученная путем интерполяции, а не истинное физическое разрешение сенсора, хотя и дешевые web-камеры иногда дают удивительно хорошие результаты.
Охват большой площади может оказаться нецелесообразным, так как USB-кабели не должны превышать пяти метров в длину, но удаленные ПК с web-камерами можно использовать для получения ряда изображений, если на них установлено какое-либо серверное ПО для работы с изображениями.
242223.png IP-камеры Эти камеры можно подключить непосредственно к сети через Ethernet или Wi-Fi. Они идут в различных формах для внутренней и наружной эксплуатации и часто имеют инфракрасные датчики, способные дать неплохие монохромные изображения даже в полной темноте. Полезны могут быть камеры PTZ (с управляемыми панорамированием, углом наклона и масштабированием), и некоторые из них можно запрограммировать на «патрулирование» серией смены положений для покрытия заданной территории.
Беспроводные устройства, по понятным причинам, весьма популярны, но если вам нужен поток изображений с высоким разрешением, необходимо учитывать влияние мощности сигнала и диапазона передаваемых данных.
242225.png Аналоговые видеокамеры Они, вместе с мультиканальными платами видеозахвата, могут обеспечить гибкое и недорогое решение. Даже дорогие IP-камеры видеонаблюдения позволяют получить разрешение только 640 × 480, чтобы соответствовать стандартному аналоговому подключению видео.
Качество объектива и сенсора важнее разрешения, особенно на более низких уровнях освещенности. Одна модель Sony, с который я работал, стоит около £ 2000, и датчик у нее тоже 640 × 480. Картинка, однако, резкая даже при очень низких уровнях освещенности; имеется 30-кратный оптический зум и практически бесшумный PTZ-двигатель.
LXF156.tut_zone.2.psd 241134.png Редактор зон. Можно применить различные цвета для индикации разных типов движения.
232320.png Не хотите пропустить номер? Подпишитесь на www.linuxformat.ru/subscribe/!
LXF156.tut_zone.4.psd 241887.png Внешняя IP-камера. Вокруг объектива — инфракрасные светодиоды для ночного освещения.
234121.png Скорая помощь
Важно дать компьютеру фиксированный IP-адрес, чтобы быть уверенными в его доступности. Проще всего это сделать, указав IP-адрес вручную во время установки.
LXF156.tut_zone.3.psd 242386.png Страница событий Zoneminder: здесь можно просмотреть, экспортировать и удалить события. Страница Редактор фильтров отображается слева.
241343.png Скорая помощь
Если у вас есть более одного устройства V4L, хорошей идеей будет привязать их к определенным узлам /dev/video* с помощью правила udev; в противном случае узлы могут измениться после перезагрузки.
238368.png Пропустили номер? Узнайте на с. 104, как получить его прямо сейчас.
Компьютерное железо
Требования к компьютерному оборудованию зависят от количества камер, а также от уровня переработки потокового видео. С одноядерным процессором Athlon 4200 + и 1 ГБ оперативной памяти, одна IP-камера и две web-камеры с двумя зонами на каждую загружают систему в среднем на 0,7.
Детектор движения также требует немало ресурсов на обработку, так как сюда включается анализ видеопотока и сравнение последовательности кадров на предмет различий, достаточных для выдачи сигнала тревоги; также необходимо сохранение соответствующих кадров из буфера. Обработка должна происходить в режиме реального времени, а если у вас несколько камер, она окажется довольно затратной.
Карты видеозахвата с несколькими входами можно использовать со стандартными видеокамерами. Zoneminder-совместимые PCI-модели можно приобрести довольно дешево, а коаксиальный кабель допускает достаточную длину без ухудшения качества сигнала. Аналоговые ТВ-карты, хотя и исчезают, устаревая, также пригодны в качестве устройства захвата.
Удаленный источник вовлекает больше обработки данных, потому что закодированный поток должен быть расшифрован; а для видео с локальной web-камеры или аналоговой камеры, применяющей устройство захвата, Zoneminder может использовать захват буфера кадров.
Дополнительно
242164.png Мобильный просмотр Zoneminder предлагает скин с интерфейсом, подходящим для мобильных устройств. Очевидно, уровень доступа более ограничен, но вы можете просматривать сохраненные изображения и видео и даже изменять режимы.
Ссылка – http://<IP address of zm server>/zm/index.php? format=xhtml.
242166.png А вот кому MythTV? У Грэма и у меня есть странная тяга к пакету под названием MythTV. Те из вас, кто так же склонны к нему, будут приятно удивлены, узнав, что в Zoneminder есть свой собственный модуль расширения для MythTV.
Хитроумно названный mythzmserver, он позволяет просматривать изображение с камеры напрямую, а также предупреждения и т. д., через интерфейс MythTV, вызывая изображения с пульта дистанционного управления на экран телевизора (если вы сможете настроить пульт на работу с MythTV).
Если вы намерены запускать на одном ПК и MythTV, и Zoneminder, рекомендуем как минимум двуядерный процессор и 2 ГБ оперативной памяти.
Модуль можно установить из репозиториев Ubuntu. К сожалению, он ищет файл zm.conf в папке по умолчанию /etc/zm.conf, тогда как в Ubuntu Zoneminder имеет свою отдельную папку в /etc. Таким образом, команда для запуска mythzmserver выглядит следующим образом:
mythzmserver -c /etc/zm/zm.conf
Если ее добавить к скрипту Zoneminder, он будет запускаться при загрузке.
LXF156.tut_zone.5.psd 242414.png Типичное изображение с инфракрасной камеры в ночное время, с портретом злоумышленника.
241292.png Скорая помощь
Перенаправление портов с вашего роутера сделает Zoneminder доступным через Интернет, но сначала установите безопасные имена пользователей и пароли.