Из устаревшего по разным причинам и вычеркнутого из основных процессов железа порой получается собрать все еще полезные устройства. Давно пылилось в шкафу две модели морально устаревшего девайса - NETбук типа eeePC. Вот на одном из них будем (и вполне успешно) собирать сервер видеонаблюдения для дома или дачи. В качестве краткого итога: работает в круглосуточном режиме мониторинг 4-х IP-камер видеонаблюдения, архив записей за месяц, обработка тревог и отправка уведомлений.
Цели
Основным мотивом для этой задачки было построение устойчивой системы видеонаблюдения частного дома на базе недорогих китайских ip-камер. Таковых у меня накопилось 4шт, причем 3 из них - совершенно разных производителей. И очень хотелось свести картинку на один монитор и иметь центральный архив записей, а не шариться по SD-картам или разрозненным китайским "облакам". Есть такая у этих камер возможность - хранить записи (за денежку) в китайских облачных хранилищах. И вроде недорого, но неудобно жуть.
Итак хочу:
- единый мониторинг (вывод картинок со всех камер)
- централизованная система хранения видеозаписей с функцией поиска
- детекция движения/людей/остановки видео и прочие тригеры безопасности
- система оповещения
- тихая работа оборудования
- минимальные вложения (используем что есть)
Аппаратное обеспечение
- Поворотная ip-камера с матрицей 5МПх (FullHD H.264) -4шт
- Роутер Mikrotik
- Нетбук Samsung NP-NC110
- ЖК-телевизор Supra 32''
- 5 клиентов: 2 компьютера, Макбук, Андроид-планшет в качестве видеодомофона, телефон(ы)
Обоснование нетбука в качестве сервера
В свое время нетбук - как класс был очень бюджетным заменителем недешевых ноутов для ряда простых задач: бродилка по интернету, почта, календарь и текстовый редактор, да даже какие-то игрухи простые можно было запускать. При этом приличный запас "хода" аккумулятора и малый вес (не забываем - это модели 2010-2012гг). Я знаком с двумя представителями (и оба имеются в наличии): ASUS eeePC и Samsung NP-NC110.
Всё это чудо поставлялось на платформе Intel Atom и как правило снабжалось операционкой Win7-Home. За время эксплуатации чего только на нем не было: от заводской Винды до уж совсем экспериментальных сборок линукс. Потом он «лежал» в шкафу лет 6-7, а последний год у меня периодически чесались руки его пристроить снова к делу: или как шлюз для «умного дома» или сетевое файлохранилище или… вот собственно, о сервере видеонаблюдения рассказ и будет.
Почему нетбук:
- не шумит (в отличие от стационарного системника, и тем более сервера)
- выходы vga/hdmi
- малое энергопотребление
- легко дополняется внешними дисками
Характеристики Samsung NC110 (NPNC110-P06RU):
- процессор: Intel Atom (количество ядер процессора - 2), Кэш процессора 1 Мб, Частота процессора 1 860 МГц
- чипсет Intel NM10 Express
- экран: Разрешение 1024x600, Размер 10.1''
- RAM DDR3 4096 Мб
- HDD 500 Гб
- графический контроллер Intel GMA 3650
- стандарт Wi-Fi 802.11n
- VGA (D-Sub)+ HDMI
Софт:
- Ubuntu server 22.04LTS - операционная система
- Xeoma Server - платформа видеонаблюдения от ФеленаСофт
- Webmin server - платформа мониторинга
В качестве апгрейда - поменял оперативную память с 2 до 4 Гб и готов был ставить SSD - но пока не вижу необходимости.
Важная особенность и отличие модели Samsung от Asus - это наличие HDMI + фактическая поддержка памяти до 4Гб.
Выбор платформы видеонаблюдения
Софта много - реально выбор огромный. К текущему варианту платформы Xeoma я пришел не сразу - пришлось пару-тройку месяцев поэкспериментировать с различными продуктами.
- Начал я с "нативной" платформы для камер от производителя. Но она работала, мягко говоря, не всегда, не так как надо мне, и только под Windows 7. Через 3 дня была снесена. Чудовищный интерфейс китайских друзей не позволяет употреблять эпитет "дружелюбный".
- Не снося с диска Win7 поигрался с популярным iSpy, но этот софт не тянул на моем железе.
- ZoneMinder - наиболее популярный, функционально мощный софт под Linux. Не сильно требователен к ресурсам. Но очень сложен в настройке (даже с моим опытом линуксоида за 30 - он вызывал головную боль) - перемудрили. Интерфейс тоже... его нет, проще говоря.
- Orchid Core VMS - более интересен, требователен к ресурсам, но его стабильность на нетбуке оставляла желать лучшего и после недели эксплуатации был благополучно снесен.
- Xeoma - текущий выбор и пока он радует: запускается как серверное приложение и как клиент на практически всех существующих платформах, бесплатен для тестовой эксплуатации и бесплатен до 4х камер. Удивительно разнообразен в настройках: от простых дефолтных до сложных сценариев. Прекрасный интерфейс. И, что для некоторых может быть важно, реально мультиязычен.
Процесс
Сам процесс сборки-настройки несложен и большинству атишников не составит труда:
- Объединить камеры в сеть (вместо WiFi я использовал медь - надежнее и быстрее)
- Установка операционной системы Ubuntu и системы мониторинга сервера Webmin
- Установка сервера видеонаблюдения Xeoma - причем процесс предельно прост, фактически это разовый запуск приложения с возможностью автоматической установки.
Скачиваем нужную версию, распаковываем, запускаем:
wget http://felenasoft.com/xeoma/downloads/xeoma_trial_standard_linux64.tgz
tar xzf xeoma_trial_standard_linux64.tgz
chmod 0777 xeoma_trial_standard.app
sh xeoma_trial_standard.app -showpassword //вывод пароля для подключения к серверу)
sh xeoma_trial_standard.app -core // запуск для тестирования
sh xeoma_trial_standard.app -install -hiddenmode // установка
Настройка и возможности Xeoma
Настройка проста: пошаговая, визуальная и интуитивно понятная. Весь процесс описывать нет смысла - документация у ФеленаСофт в этом плане на редкость изумительная - как и сам софт - на нескольких языках, включая русский. Поэтому рекомендую и настаиваю - просто следовать инструкции.
Для настройки потребуется софтовый клиент - точно так же с сайта скачиваем клиент для нужной платформы (у меня Win, Mac, Android), с любого устройства подключаемся к серверу по IP-адресу (для этого потребуется пароль, показанный при установке сервера) и проводим настройку камер и модулей.
Возможности платформы мне очень понравились: часть модулей работает аж под управлением и на алгоритмах ИИ. При этом большинство основных функций работают уже "из коробки" - сразу после запуска запускается автоматический поиск камер.
Я использую:
- вывод видеопотоков с разных камер на один монитор (телевизор) - можно выбирать потоки низкого разрешения для снижения нагрузки или высокого для четкой картинки (для производительных клиентов)
- настройка записи 24/7 в архив видео высокого разрешения с календарем и функцией поиска
- детектор аномалий (движение, человек, отсутствие или затемнение картинки, проблемы связи и тп)
- сигнализация (алармы)
- отправка уведомлений на почту или sms-гейт
Для мониторинга используется старенький системник с Windows.
Заранее прошу прощения - фото совсем не постановочное - рабочее, но и проект пока "лабораторный" :) Возможно обновлю фото в процессе "промышленной" эксплуатации.
Немного о нагрузке:
Для "наблюдения за наблюдающим" я установил Webmin - полезная платформа для удаленного конфигурирования и мониторинга сервера через web-интерфейс. Основная нагрузка ложится на процессор - все два физических (4 лог) ядра загружены кодированием видео на 90% постоянно. Но при этом система активна и отзывчива - я так подозреваю используется _доступное_ процессорное время.
Ссылки в помощь:
- Процесс настройки ОС (https://www.digitalocean.com/community/tutorials/how-to-install-webmin-on-ubuntu-22-04)