Как установить xeoma на linux

Обновлено: 06.07.2024

Системы видеонаблюдения/видеофиксации сейчас очень популярны. И хотя на рынке их великое множество, желание сэкономить, особенно для использования дома или в секторе SOHO, часто приводит к мукам выбора.

В частности, у меня были следующие условия для домашнего NVR:

  1. работа серверной части NVR под управлением Linux в виртуальной машине VMWare ESXi;
  2. невысокая требовательность к ресурсам виртуальной машины при подключении 6-8 FullHD H.264 камер;
  3. возможность подключения и управления сервером NVR с Windows компьютера и смартфона (Android);
  4. невысокая стоимость (лучше бесплатно);

1. NVR с возможностью запуска серверной части в среде Linux

2. ZoneMinder

Первая система видеонаблюдения, которая проработала чуть больше года и явлалась первым опытом использования систем видеонаблюдения была ZoneMinder. Честно сказать, ZoneMinder достаточно сложен в установке и настройке, но даже не это стало основной проблемой в его использовании. Основная проблема появилась, когда я стал потихоньку заменять старые MJPEG камеры, на H.264-видеокамеры. Не знаю как сейчас, но версия с которой я работал несколько лет назад (1.28) не поддерживала H.264 потоки "из коробки", а то что получалось сделать подключив ffmpeg, хоть и работало, но достаточно сильно нагружало процессор, а качество детектирования движения оставляла желать лучшего. Попросту получалось либо записывать видео с камер почти непрерывно, либо при "загрублении" детектирования движения приходилсоь мириться с пропуском "важных" кадров. Кроме того, видимо из-за бешеной нагрузки на процессор, процессы ffmpeg, декодирующие H.264, падали и часто запись не велась вовсе. Пришлось искать что-то другое.

3. AVReg

В общем, переехал на AVReg. Установка AVReg уже проще, однако все равно далеко не тривиальна. AVReg работал в бесплатном режиме, поэтому из 6ти установленных камер запись производилась только с 4-х, однако запись видеоданных уже была стабильной. AVreg стабильнее, чем ZoneMinder, видеопотоки не "отваливаются". Однако сложность и нетривиальность настроек и "аляповатый" интерфейс немного раздражаал. Качество детектирования движения также оставляло желать лучшего. AVReg записывал очень много, поиск в архиве нужных событий неудобен. В конечном счете как мне сейчас кажется цена лицензии 1000 рублей за одну камеру для этого проекта сильно завышена. Адекватный ценник для AVReg рублей 400 за канал, не больше.

В общем, при работе с указанными выше проектами, было потрачено уйма времени и то, что в итоге получалось, не вызывало восторга. Время от времени, обращаясь к Гуглу за советом, что же еще хорошего имеется по теме NVR для Linux, пришел к выводу что небольшая плата за качественный софт для организации системы видеонаблюдения не такая уж плохая мысль.

4. Xeoma

Первое на что упал взор это была XEOMA.
Нужно сказать, что взор упал удачно, потому что, как оказалось указанный софт для NVR обладал всем тем, что мне и требовалось для организации домашнего видеонаблюдения:

  • Система может работать в ОС Linux (так же как и в Windows, MacOS, Android, iOS и ARM)
  • Серверная часть может быть запущена отдельно от клиентской части (фактически кроме бесплатной версии, которая имеет ограничения на подключению к серверу по сети) в голой консоли.
  • Клиентский интерфейс может подключатся к серверу с любой ОС (Linux, Windows, MacOS, Android, iOS и ARM)
  • Поддержка огромного числа видеокамер.
  • Простая установка и настройка.
  • Управление PTZ.
  • Высококачественный детектор движения.
  • Можно включить и использовать Web-интерфейс для доступа к системе.
  • Большое количество и высокое качество модулей обработки видеопотока.

4.1. Установка XEOMA в виртуальную машину CentOS Linux

Как я уже писал одним из ключевых условий для использования NVR — это возможность ее запуске в виртуальной среде (VMWare ESXi 6.5 на машине i5-3570 @ 3.40Ghz/RAM 32Gb), причем конечно же очень желательно обеспечить минимизацию потребляемых ресурсов системой.

В связи с этим для начала была создана ВМ с CentOS 7.3, которой были выделены достаточно скромные ресурсы:

  • CPU: 1 ядро
  • RAM: 2Gb
  • HDD1: 20 Gb (система)
  • HDD2: 200 Gb (видеоархив)

4.2. Запуск консольного сервера видеонаблюдения Xeoma

Сервер XEOMA запускается не просто, а предельно просто. Честно сказать я был очень удивлен процессом установки и запуска системы в Linux, особенно после мытарств с ZoneMinder и AVReg.
Тут все просто:

4.3. Запуск клиентского приложения XEOMA

На рабочую станцию (работающей, к примеру, уже под Windows), также необходимо загрузить программный модуль XEOMA по указанной выше странице загрузки и запустить его командой:

Программа, запущенная в режиме клиента, сама обнаружит xeoma-сервер, подключится к нему (если он находится в той же подсети), предложит на выбор автоматическое сканирование сети или ручной ввод камер. Адрес сервера Xeoma также можно ввести вручную при помощи меню "Удаленный доступ" > "Подключение к удаленному серверу":

Xeoma remote access menu

Здесь вводим IP-Адрес и пароль доступа, полученный ранее (см раздел 4.2.):

Xeoma remote access dialog

В итоге получаем приблизительно следующую картинку:

Xeoma client

Собственно конфигурирование Xeoma такое же простое и интуитивно понятное как и установка этой системы. Полное руководство приведено на сайте производителя.

4.4. Потребление ресурсов виртуальной машины

Честно сказать, учитывая то, что Xeoma самостоятельно производит детектирование движения на основании которого производит запись видеопотока, у меня были сомнения в достаточности 1го ядра для виртуальной машины с запущенным Xeoma-сервером. Однако загрузка едиственного ядра при включенной детекции движения 6ти камерах составляла около 30-40% и оставалась в указанных пределах даже при активности на всех камерах. При отсутствии движения, загрузка опускалась ниже 20%:

CPU LOAD

Средняя HDD Latency при максимальной загрузке составляет 35-50ms, что достаточно много, однако такая задержка соответсвует одновременной записи видеопотока с 5-6 камер. Такая нагрузка случается нечасто, однако все таки стоит для записи видеопотоков выделить отдельный диск, подключив его как RDM-диск:

HDD Latency

Выделенного объема дискового пространства в 200 Гб оказалось достаточно для хранения видеоданных от 6ти HD видеокамер в течении 2х недель:

Xeoma Archive

4.5. Оптимизация настроек Xeoma

4.5.1. Детектор движения

В целом настройки детектирования и архива ведеоданных, предлагаемые Xeoma по умолчанию вполне нормально работают без каких либо изменений, однако учитывая ограничения ресурсов виртуальной машины с Xeoma-сервером, и отсутствие необходимости хранения излишней информации все-таки порекомендую сразу внести небольшие изменения в настройке модуля "детектор движения":

Xeoma Motion Detection

Изменяем порог чуствительности. Нужно немного понаблюдать за показаниями текущего уровня чуствительности при различных изменениях видеокадра и принять решение о минимальном пороге чуствительности. Меня устраивает значение 10, при котором детектор не пропускает никакого движения в камере. Значение же 5, установленное по умолчанию, фактически фиксирует "шум" видеокамер и незначительные изменения освещенности, приводя к большому объему записи в видеоархив.
Изменяем область детектирования. При помощи кисти и режима "стереть" удаляем лишние области, фиксация движения в которых нам не интересно.
Изменяем минимальный размер объекта. Точнее, немного увеличиваем. Размер объекта "по умолчанию", очень мал, что также приводит к ошибочному срабатыванию детектора и избыточной записи кадров, не содержащих ничего полезного.

4.5.2. Просмотр и архив

Настройки модуля "Просмотр и Архив" также возможно Вам стоит немного откорректировать. Мои настройки например выглядят так:

Xeoma Archive

Предзапись. Я установил 5 секунд, что гарантирует, что за счет буферизации видеопотоков в видеоархив будет записана информация, не только с начала обнаружения движения, но и за пять секунд до него.
Время хранения этого архива. Учитывая что общий доступный объем дискового пространства, выделенного под видеоархив равен 200Гб, 2 недели — оказались оптимальной глубиной хранения.

4.5.3. Настройки декодирования

Для снижения нагрузки на сервер, при подключении к нему клиентов рекомендуется производить декодирование видеопотоков на клиентах. Для этого стоит установить настройки декодирования как показано на следующем рисунке:

Xeoma decode properties

4.6. Ограничения при использование виртуализации

На работу Xeoma в виртуальной среде, производителем установлены ограничения, которые могут быть для кого-то критичными. В частности в полной инструкции на систему написано следующее:

Для лицензий Xeoma (Xeoma Standard), Xeoma Pro, перехода с Xeoma Standard на Xeoma Pro и продлений добавлена возможность активации на любых виртуальных машинах. Для этого нужен постоянный доступ в Интернет на виртуальной машине. При пропадании Интернета лицензия может деактивироваться, но восстановится при возобновлении связи с Интернетом.

Работает это следующим образом: При пропадании Интернет, сервер Xeoma на виртуальной машине в течении 2х суток продолжает работать как ни в чем не бывало, записывает архивы, разрешает подключение клиентом, но все это работает до перезапуска сервера.

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

Xeoma deactivated

Теперь пока у Вас не появится Интернет Xeomу вы сможете использовать только для просмотра архива. Для этого нажмите кнопку "Продолжить работу".

Однако, после возобновления доступа к Интернет, вас ждет одна неприятность (по крайней мере в последней версии 17.11.24). Несмотря на то, что с возобновлением доступа к Интернет функционал Xeoма заработает в полном объеме, при просмотре информации о Вашей активной лицензии (Меню > Информация > Активные лицензии) вы увидите следующее:

Xeoma No Licenses

Ожидание в течении суток с небольшим, не исправило ситуацию, поэтому мне пришлось повторно ввести код активации лицензии вручную.

Учитывая не совсем понятную логику работы Xeoma, запущенной в виртуальной машине, я могу порекомедовать защитить себя от сброса настроек, которые вы сделали ранее, сохранив их одним из двух способов:

  • С использованием меню в GUI клинета Xeoma: Меню > Установить > Восстановление > Сохранить настройки (или Экспортировать настройки).
  • Сделать копию средствами Linux файла настроек /usr/local/Xeoma/settings.dat

Выводы

Xeoma очень хорошая система видеорегистрации. Своих денег она безусловно стоит. Это, как было указано выше, 875 рублей за 1 камеру при использовании стандартной лицензии. Для 6ти камер ее использование обойдется около 5000 рублей. Учитывая, то, сколько времени вы потратите на то, чтобы добиться приемлемой работы бесплатных решений — это безусловно невысокая цена.

Хочу отметить превосходную систему обнаружения движения, которая позволяет сохранять и быстро находить все без исключения значимые события, попадающие под ваши видеокамеры, без боязни что-то упустить. За счет этого, для двухнедельной записи с 6ти FullHD-камер достаточно выделить всего 200Гб дискового пространства, тогда как во многих недорогих регистраторах (например на базе CMS), для того, чтобы не пропустить события, приходится включать непрерывную запись, что для той же двухнедельной глубины архива потребует уже порядка 2Тб.

Clear Linux разрабатывается компанией Intel и оптимизирована под свою продукцию. Так как я буду делать систему видеонаблюдения на NUC DCCP847DYE, почему бы не попробовать Clear Linux.

Железо

В качестве сервера видеонаблюдения будет использоваться Intel NUC DCCP847DYE с 4 ГБ ОЗУ и mSata SSD на 64ГБ






Для просмотра камер я выбрал вот такой экран с диагональю 15,6`, с сенсорным управлением.


Установка Clear Linux

Начнем с установки. Так как я планирую использовать экран для своей системы видеонаблюдения, да не простой, а с тачскрином, мне нужна desktop версия Clear Linux. Переходим на страницу загрузки и скачиваем.

Чтобы залить ос на флешку, Intel советует воспользоваться Rufus. Им я давно пользуюсь, очень удобная прога.

Грузимся с нашей флешки. Нас встретит экран выбора варианта загрузки:


Выбираем Clear Linux OS. Система загрузится в Live режиме, с флешки.

Чтобы установить ОС на внутренний накопитель, в моем случае mSata Crucial на 64Гб, жмем на иконку инсталлера:


Откроется сам инсталлятор. Указываем нужные параметры: временную зону, языки, накопитель и указываем пользователя.


Установка Clear Linux будет выполнена прямо в live режиме. Это ее отличает в лучшую сторону от других дистрибутивов с убогими интерфейсами установки.

После установки система будет перезагружена уже с внутреннего накопителя.

Первым делом, зайдем в Настройки > Подробности > Пользователи и включим переключатель Автоматический вход, иначе при запуске будет требоваться ввод пароля

Так же в Настройки > Электропитание > Энергосбережение лучше выключить опцию Blank Screen, чтобы не гас экран. Иначе так же будет требоваться ввод пароля.

Остальные настройки ОС на ваш вкус.

Установка Xeoma

Я уже писал статью об установке Xeoma на Raspberry Pi:

До сих пор у меня и работала эта связка RPI+Xeoma, и я даже успел обновить систему до Raspbian Buster, но с ростом количества подключаемых камер ресурсов малины явно не хватало. Поэтому и был приобретен NUC.

Откроется приложение Xeoma

Несмотря на то, что я выбрал автостарт и клиента и сервера, в Clear Linux запускается только клиент.

Чтобы настроить автозапуск серверной части, я выполнил следующее:

В терминале переходим в каталог autostart

Там уже есть файл автозапуска клиента XeomaClient.desktop

Создаем файл XeomaServer.desktop

И приводим его к следующему виду:

Где home/nuc это домашняя директория Вашего пользователя. У меня пользователь nuc

Все. Теперь после перезапуска всей системы будет запускаться и серверная часть (-core) и клиент (-client)

Чтобы активировать Xeoma, нужна лицензия. Она покупается либо вы ее получаете по акции от Felenasoft

Камеры добавляются так же очень просто, я об этом писал в статье про установку Xeoma на Raspberry.

Управление Home Assistant

С таким экраном управлять Home Assistant, или любым другим UI умного дома, одно удовольствие. Для этого установим Google Chome. Об этом я уже писал:

Просто переходим по адресу вашего Home Assistant, и в правом верхнем углу появится кнопка Установить


После в меню программ появится иконка Home Assistant, при нажатии на которую откроется управление вашим домом. Можно добавить ее на док панель, для быстрого доступа и удобства переключения между Xeoma

Заключение

И еще пару слов о Clear Linux. По сравнению с десктопной Ubuntu 19.4, которую я ставил на этот же NUC, Clear Linux летает. Интерфейс на Ubuntu лагал, и управлять Home Assistant было не очень приятно.

И в простое, на свежеустановленной Ubuntu, загрузка ЦП была около 15-19%, на Clear Linux 4-5%

Поэтому на собственном опыте могу сказать, что Clear Linux действительно лучше оптимизирована для продукции Intel. На моем простеньком NUC все работает идеально.

После многочисленных экспериментов с оптимизацией сервера Zoneminer с целью уменьшения шума (ноутбук стоит в гостиной и зачастую слышен гул кулера) и так не добившись успеха, решил поискать аналогичное ПО. Менее ресурсоёмкое.

На просторах нашел отличный блог одного инженера с похождениями по разным ПО и подробными описаниями ощущений от каждого. И похоже, я последую его примеру.

Не буду описывать AVReg и Motion. Надоело мне тратить кучу времени, на то, чтобы прикрутить свою китайскую камеру через конфиги. Устал.

Мне потребовалось 15 минут, чтобы на лбу появилась испарина от злости и нетерпения когда я наконец прикрутил ip камеру в AVReg. И психанул, когда в итоге поток с камеры каждые 15 секунд начал отваливаться с ошибкой

Значит опять надо куда-то лезть, и что-то менять. Ну сколько можно?!

Итак, теперь поподробней. Сперва следует потупить над сравнительной таблицей различных редакций Xeoma чтобы выбрать то что нужно. Я выбрал Стандартную ознакомительную версию.



Ага, нам нужна серверная часть, запускаем с ключом -core

Приложение запустилось в фоне, и консоль не активна. Не очень-то удобно.

Скачаем клиентскую версию для Windows 10 и выберем установку клиента и после запуска, укажем IP-адрес и пароль к серверу Xeoma. Пароль? Где взять пароль?! Вернемся к консоли сервера и введем

Скопируем его в клиент. Уф.
Осталось повозиться с добавлением новой камеры

Добавляем новую камеру

Настройки новой камеры
Имя пользователя и пароль вписывал те, что ввожу в веб-морду камеры


Имя пользователя admin. Пароль "по умолчанию пустой". Параметры потока для просмотра

Полный URL адрес H.264-потока
Теперь самое интересное, посмотрим, сколько ресурсов занимают процессы Xeoma.


Xeoma 16%
16%! 16% Карл! Почему я так ликую? Взгляните на Zoneminder.

Zoneminder 41%
После 10 минут работы ZM, температура CPU - 51C, GPU - 66C. Учитывая, что моя хромая GF8600GS после реболлинга очень боится высоких температур.

Ну, кажется я свой выбор сделал. Ставим Xeoma в автозагрузку


Установка Xeoma в автозагрузку
Уберем Zoneminder из автозапуска. Закомментируем строки
Перезагружаем сервер, запускаем клиент и. видим пустое окно с первоначальными настройками. Никакой ошибки нет - особенность ознакомительной версии. Все настройки слетают после перезапуска сервера.

После двух часов работы сервера Xeoma, температура CPU 45С, GPU 62C.

Из замеченных ништяков в 16.6.6 версии - модуль WebServer. Теперь можно получить доступ к просмотру потоков с камер через веб-браузер.


Основные настройки веб-сервера

Можно даже ограничить доступ


Просмотр через веб-браузер
Архив с видеозаписями хранится в

После настройки модуля "Отправка email", который отвечает за отправку уведомлений по почте через gmail, на почту стали приходить уведомления о "Заблокирована попытка входа в аккаунт". Необходимо разрешить доступ ненадежным приложениям по инструкции и протестировать отправку в настройках

Кратко резюмируя - один из самых удобных комплексов для построения домашней системы видеонаблюдения. Никаких косяков и вылетов, никаких cat /var/log/syslog

Отличительной особенностью и привлекательностью программного обеспечения нового поколения XEOMA от российской компании «ФеленаСофт» является визуальный модульный конфигуратор, который позволяет создать сложную по архитектуре систему видеонаблюдения за пару движений мышью, собирая и комбинируя необходимые модули как детали из конструктора Lego.

Видеонаблюдение XEOMA


Стоит так же отметить наличие следующих возможностей XEOMA:

Поддержка почти всех моделей камер имеющихся в продаже на данный момент и постоянное и своевременное расширение модельного ряда. Подробней здесь.

Работает на операционных системах WINDOWS, LINUX, Mac OS X. Подробней здесь.

  • Есть мобильные клиенты для iOS и Android, в Appstore клиента можно найти под именем XEOMA, подключение не через облачные логины пароли с непонятной абонентской платой, а на прямую к IP вашего сервера, который можно опубликовать в интернет.
  • Поддерживается работа в Linux консоли без графического окружения.
  • ПО выпускается в 32 и 64 битном исполнении.
  • Поставляется в виде исполняемого файла как для Windows так и для Linux, и может быть как сразу запущена, так и установлена как служба или демон, с последующей настройкой уже через клиентское приложение, не нужни ничего компилить, собирать, удовлетворять зависимости.

Поддерживает десктопные, серверные и ARM процессоры.

  • Рассчитать нагрузку на калькуляторе и присмотреться к использованию программой ресурсов компьютера в зависимости от количества камер и разрешения картинки можно здесь.
  • Имеется функция сканирования локальной сети для автоматического подключения имеющихся в ней камер.
  • Программа переведена на 22 языка.

Лояльная по отношению к новым клиентам ценовая политика, включающая различные режимы функционирования XEOMA и возможность бесплатного получения лицензий за счет участия в интересных акциях.

С более подробным описанием всех возможностей и преимуществ XEOMA можно ознакомится здесь.

Первое знакомство

Первое знакомство с XEOMA началось с LINUX сервера на Debian и запуске ПО в консоли без графического окружения. Отдельное спасибо разработчикам за понятную статью описывающую данный процесс.

И всё КАРЛ!

Единственное следует учесть, что там откуда был запущен xeoma.app создастся каталог с видеоархивом

/.config/Xeoma/ и мелкий SSD диск сервера может быстро заполнится, так что либо сразу переопредялем куда будет писаться архив в программе удаленного управления, либо запускаем XEOMA сразу с нужного диска или раздела!

Далее можно переходить к удаленному управлению сервером, для этого мне потребовалось:
    ПО для Windows.
  • Запустить и через меню выбрать Удаленное подключение к серверу.
  • Ввести IP сервера, порт 8090 и пароль, сгенерированный на этапе запуска службы.
  • Далее так же через удобное меню автопоиском или вручную добавляем свои камеры, выбираем нужные модули из которых составляем индивидуальную схему системы безопасности, и наслаждаемся результатом.

На этом обзор XEOMA завершаю, с личной оценкой данному продукту 10 из 10 баллов!

Читайте также: