Домашний микросервер. Программное обеспе́чение. Видеонаблюдение на основе IP-камер и Xeoma.

Содержание:

  1. Камера HI3518E_50H10L_S39
    1. Motion
    2. ZoneMinder
    3. AVReg
    4. Pro Surveillance System
    5. Trassir
    6. Xeoma
    1. Установка
    2. Настройка
    3. Android
  2. Выводы

Камера HI3518E_50H10L_S39

При реализации системы видеонаблюдения для загородного дома, в рамках концепции «разумной достаточности», было решено использовать IP-видеокамеры китайского производства максимально удовлетворяющие поставленным задачам, но при минимальной стоимости. Поскольку до этого у меня не было совершенно никакого опыта по организации видеонаблюдения собственными силами, то пришлось действовать осторожно и шаг за шагом входить в чудный мир IP-камер, DVR и NVR. Стараясь минимизировать затраты, я решил набраться знаний из Сети. Но, чтение немногочисленных форумов не привело к четкому пониманию какую же именно модель камеры стоит брать и какими характеристиками она должна обладать. А цены на IP-камеры от известных производителей на местном рынке просто повергают в шок. Я решил рискнуть. Для начала была приобретена одна IP-видеокамера с более-менее удовлетворительными характеристиками — мегапиксельная матрица с хорошими показателями, удовлетворительная мегапиксельная оптика и поддержка стандарта ONVIF. Кроме поддержки стандарта ONVIF, по заявлению продавца, камера способна выдавать поток по стандарту H.264 с максимальным разрешением в 1280х720 пикселей при 25 кадрах в секунду и оснащена автоматической ИК подсветкой. Подключение камеры осуществляется исключительно по витой паре. Я искал именно такую камеру, поскольку, на мой взгляд, протокол MJPEG уже устарел в том плане, что он дает излишне большую нагрузку на сеть. Ведь в MJPEG данные идут практически в несжатом потоке (хотя в сами каждры сжаты по алгоритму JPEG). С моей точки зрения, более совершенный поток H.264 обеспечит меньший трафик в локальной сети и последующее экономное хранение записей на жестком диске. Более подробную характеристику камеры дать нельзя, поскольку это чистый OEM и определить примерную модель можно только по используемому чипу и прочим, косвенным параметрам, таким как внешний вид. Итак, для тестовой конфигурации у нас используется камера «HI3518E_50H10L_S39», назовем ее именно так.

Китайская noname IP-камера HI3518E_50H10L_S39

Китайская noname IP-камера HI3518E_50H10L_S39

Камера поставляется с родным программным обеспечением под платформу Windows, кроме того получить доступ к ней можно и через веб-интерфейс. Windows-версия программного обеспечения, в силу того, что целевая операционная система для сервера мною выбрана Ubuntu (т. е. Linux), используются только для настройки параметров камеры и проверки ее работоспособности. Вообще, первоначально я планировал, что никакое дополнительное программное обеспечение для сервера использоваться не будет. По сути сама IP-камера является мини-компьютером, работающем под управлением разновидности операционной системы Linux. И камера самостоятельно может детектировать движение в кадре, включать подсветку, рассылать уведомления по электронной почте о наличии движения в кадре и записывать данные на FTP сервер. Я предполагал, что камера именно так и будет работать, будет определять движение в кадре и записывать короткие видеоролики с движением на мой микросервер под Ubuntu по протоколу FTP.

Однако, жизнь внесла свои коррективы в мои планы. Приобретенная камера чудесно обрабатывает движение в кадре, генерирует события и отправляет на электронную почту фотоснимки движения. Но в силу того, что камера не оснащена дополнительной памятью, то она просто физически не может записывать видеоролики и отправлять их на FTP. Для этого требуется предварительно записать видеоролик на внутреннюю память, а уже только затем закачать его на FTP. И максимум, что можно получить от моей сверхдешевой камеры, так это запись фотографий скромного размера на FTP сервер. Кстати, в производительной локальной сети видеоролики с камеры можно записывать на сетевой диск (по протоколу NFS или SAMBA), но подобная возможность в текущей прошивке не реализована, хотя и была бы категорически полезной.

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

Как стало известно из моего исследования камеры, именно исследования, в текущей версии прошивки существует два канала по которым ведется вещание по протоколу RTSP. В обоих каналах, камера транслирует видео сжатое по стандарту H.264. Трансляций MJPEG или просто потоковой передачи JPEG картинок не обнаружено (хотя возможно, что это дело будущих прошивок). Для трансляции видеопотока используются следующие два URL:

rtsp://192.168.0.110:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream
rtsp://192.168.0.110:554/user=admin_password=tlJwpbo6_channel=1_stream=1.sdp?real_stream

Где первый поток считается основным и передается в максимальном качестве и разрешении. Этот поток используется для записи видеороликов в архив с максимальным качеством. Второй же поток, передает видеоданные в ухудшенном качестве как по разрешению, так и по количеству кадров в секунду. Предполагается, что второй поток будет использоваться программным обеспечением для определения движения в кадре. Настройки обоих потоков осуществляются через CMS (Camera Management System) представляемым производителем или продавцом камеры.

Настройка потоков камеры HI3518E_50H10L_S39 в поставляемом CMS

Настройка потоков камеры HI3518E_50H10L_S39 в поставляемом CMS

Следует заметить, что «родная» CMS работает с камерой по порту 34561, а для целей протокола ONVIF в камере задействован порт 8899. Оба порта меняются в настройках камеры через специальную утилиту DeviceManager идущей в комплекте с камерой. Кроме того, родное CMS отлично понимает сигналы от камеры в случае обнаружения движения и ему нет необходимости тратить ресурсы серверного компьютера для этой функции.

Выбор программного обеспечения

В мире камер IP-видеонаблюдения царит полная сумятица. Ведь до недавнего времени на рынке главенствовали системы аналогового видеонаблюдения. Такие камеры и комплекты можно найти в продаже и ныне, по очень низкой цене. Но подвергаясь давлению рынка, все больше и больше производителей переходят на выпуск IP-камер. Стараясь реализовать все задумки, на кои потенциально способен компьютер с подключенной видеокамерой, производители начали изобретать каждый свой собственный велосипед. Так, на свет появилось множество внутренних стандартов по обмену данными с IP-камерами. Не нужно упоминать о том, что IP-камеры одного производителя несовместимы с фирменным программным обеспечением другого. Для наведения порядка на рынке цифровых камер в 2008 году был создан форум Open Network Video Interface Forum (ONVIF), целью которого является стандартизация IP-камер и протоколов обмена с ними. С тех пор прошло уже 7 лет, но воз и ныне по там.

Стараясь как-то исправить ситуацию, независимые производители программного обеспечения для цифрового видеонаблюдения включают специфическую поддержку видеокамер различных производителей в свои продукты. Стоит только зайти на сайт любого из них и посмотреть на список поддерживаемых камер. Но в продаже их больше, намного больше. А с учетом генетической любви к копированию и модификации всего и вся, китайскими производителями, количество моделей камер на рынке стойко стремится к бесконечности. Если уж вас и угораздило приобрести себе камеру для видеонаблюдения не от раскрученного производителя, то нужно быть морально готовым к небольшим приключениям по совмещению аппаратного и программного обеспечения.

В целом все программы для видеонаблюдения можно разделить на три большие группы:

  • Свободное программное обеспечение.
  • Коммерческое программное обеспечение.
  • Облачное программное обеспечение.

При выборе программы для видеонаблюдения я исходил из того, что облачные сервисы мне не очень подходят, вернее, совсем не подходят по той причине, что не смотря ни на какие усилия, интернет в загородной среде вещь хоть и доступная, но еще далеко широкополосная. По мобильной среде 4G в лучшем случае можно получить 70 мегабит на Мегафоне или 20 мегабит на Yota, а проводные или оптические решения стоят как минимум в два раза дороже беспроводных. Поэтому облака пока мимо. При сборке микросервера внимание уделялось не только самому оборудованию, но и его стоимости. Для реализации проекта, в том числе, была использована бесплатная операционная система, та самая Ubuntu. И мой первый взгляд был обращен именно на бесплатные системы видеонаблюдения.

Проведя скромное исследование, мне удалось обнаружить всего три системы для организации видеонаблюдения на Linux за которые не нужно платить. Это Motion, ZoneMinder и AVReg. Как известно, разработкой систем семейства Linux занимаются в основном энтузиасты с редкой помощью коммерческих компаний. Программное обеспечение для Linux в своей массе аналогично разрабатывается отдельными физическими лицами или же группами программистов. Написать в одиночку сложную программу — тяжело, поэтому большого изобилия бесплатных продуктов для организации видеонаблюдения под Linux я не нашел.

Motion

Motion разрабатывает энтузиаст из Дании. В один прекрасный день, программисту нечем было заняться и он взял и начал разработку продукта для имеющихся у него камер видеонаблюдения. Шло время, продукт набирал популярность, а количество его функций росло неимоверными темпами. И сейчас, по праву можно констатировать, что Motion — одна из самых популярных систем для организации видеонаблюдения с минимальным бюджетом. Система аскетична, нетребовательна к ресурсам и внятно настраивается через конфигурационные файлы. В штатной поставке никакой контрольной панели у Motion нет, однако, сторонние разработчики разработали дополнительные системы управления с доступом через веб-интерфейс.

Именно Motion я попробовал первым делом. Система установилась на мой микросервер с Ubuntu без каких-либо проблем, подхватила подключенную древнюю USB-веб-камеру Genius Eye и даже начала записывать с нее видео в режиме определения движения. Но все мои попытки подключить уже установленную и сконфигурированную NoName камеру HI3518E_50H10L_S39 привели лишь к полному фиаско и разочарованию. В попытках разобраться что к чему пришлось обратиться к документации. И, о ужас! Оказалось, что Motion работает только и исключительно с кодированием MJPEG если речь идет об IP-камерах. Дело в том, что протокол MJPEG прост для последующего анализа, в том числе и для анализа движения в кадре. Каждый кадр MJPEG — статическая картинка в формате родственном JPEG. В моей же камере, разработчик позабыл о MJPEG, сосредоточившись исключительно на современных стандартах кодирования. В H.264 берется статический кадр, который суть и есть картинка, а затем к нему добавляются только изменения в нем произошедшие. Такой подход позволяет значительно снизить поток данных с камеры и одновременно обеспечить приемлемое качество. Но за все нужно платить и для работы с видео в формате сжатия H.264 нужно использовать очень сложные алгоритмы и производительное железо. А поскольку моя камера способна выдавать поток только по H.264 (в старых прошивках для второго потока она все же выдавала MJPEG), то на работоспособность Motion без костылей по транскодированию на лету рассчитывать не стоило.

ZoneMinder

ZoneMinder разрабатывает уже какая-то Web2Wire LTD. И хотя сама программа бесплатна, но авторы настоятельно просят сделать хоть какой-то взнос, чтобы дальнейшая разработка не останавливалась. Внимательно изучив документацию на систему, релевантные статьи в сети и будучи наученным опытом с Motion, я решил установить ZoneMinder для начала на виртуальную машину. Спасибо проверенному временем VirtualBox от Oracle. Он спасает меня во множестве ситуаций, когда требуется проверить или обкатать то или иное программное обеспечение без риска угробить «операционку» на рабочем компьютере.

Итак, развернув Ubuntu на виртуальной машине, я приступил к тестированию. ZoneMinder установился без проблем, однако ему потребовалась установка Apache, MySQL и PHP. ZoneMinder работает на различных диалектах Linux, пакет доступен в различных форматах и даже в исходных кодах. Благодаря открытости его можно установить на подавляющем большинстве систем семейства Linux, в самых запущенных случаях просто компилируя пакет под нужную систему. Для Ubuntu существуют уже собранные пакеты, распространяемые как через «официальные» каналы, так и через частные источники (PPA). В официальных каналах, как правило, содержится немного устаревшая версия, а вот в PPA доступны самые последние творения программистов. Попробовав «официальную» версию и не добившись от нее толку, я установил и самую последнюю, стабильную версию из PPA репозитария.

Все настройки в ZoneMinder осуществляются через веб-интерфейс. Тут прописываются камеры, устанавливаются настройки детектирования движения, пути сохранения файлов и прочее. По обилию всевозможных настроек и плагинов, ZoneMinder — настоящий чемпион. Тут можно сделать почти все, что нужно и без особых проблем. Например, отключать запись видео, когда в зоне действия находится мобильный телефон (определение через Bluetooth и таймер). ZoneMinder располагает обширной библиотекой поддерживаемых устройств, начиная от фирменных и распространенных камер и заканчивая просто безродными ONVIF устройствами. С камерами типа моей, ZoneMinder обычно работает посредством FFMPEG или же VLC библиотек. При помощи FFMPEG происходит переконвертация потока с IP-камеры в нужный формат и последующий его анализ или запись в архив.

В некоторых статьях в сети, ZoneMinder ругают за излишнюю нагрузку на сервер и сравнивают его с практически не нагружающим железо Motion. Мое серверное оборудование хоть и относится к бюджетному классу, вовсе не хилое. А для виртуальной машины, в которой осуществлялся опыт по скрещиванию ZoneMinder и HI3518E_50H10L_S39, вообще выделен гигабайт ОЗУ и один логический процессор с частотой под 3 ГГц. Чего должно быть вполне достаточно для работы любого комплекта для наблюдения, тем более с одной камерой. Должны было, но по факту оказалось, что ZoneMinder выделенных ресурсов явно недостаточно. При попытке получения данных с камеры ZoneMinder, через некоторое время, впадает в настоящий ступор. Все его вызываемые функции начинают откликаться спустя несколько минут и это через веб-интерфейс!

На этом пришлось оставить попытки исследования возможности работы ZoneMinder и камеры HI3518E_50H10L_S39. Тем более что в те редкие минуты, когда система все же работала, в файлы записывался просто серый прямоугольник. В качестве альтернативы FFMPEG подключением ZoneMinder может работать также и через VLC библиотеки, но сразу же после установки в логах система ругалась на недоступность одного из компонентов VLC, а разбираться, если честно, с перманентно залипающей системой желания не было никакого. Более того, через обычное подключение по протоколу RTSP ZoneMinder работать с камерой отказался (мне не удалось победить форму ввода данных для подключения камеры).

AVReg

Творение отечественных разработчиков, унаследовавших проект LinuxDVR, лишь отчасти можно назвать бесплатным продуктом. В бесплатном режиме AVReg может обслуживать только 4 камеры. Четыре камеры для сферического домашнего пользователя может быть вполне достаточно, но хотя у меня по проекту предполагается использовать 5 камер для видеонаблюдения, попробовать AVReg стоило. С установкой на тестовую виртуальную машину проблем не возникло. Установка в Ubuntu производится через добавление репозитариев программы в конфиги Aptitide, а затем в обычном порядке происходит скачивание и установка AVReg.

В отличие от всех предыдущих рассмотренных систем, первое, что бросается в глаза при работе с системой — ее аляповатый интерфейс. Понятно, что программисты обычно далеки по способностям от дизайнеров, поэтому они не в состоянии спроектировать удобный для пользователя интерфейс, да и вообще сосредоточены совсем на другом. Поэтому даже неискушенный взгляд рядового потребителя заметит некую степень лубочности в доморощенном оформлении интерфейса. Но благодаря наличию русского языка в программе и врожденной способности въедливо добраться до самого распоследнего пункта меню настройки, программа была установлена, сконфигурирована и запущена.

Все настройки и вообще все взаимодействие с системой ведется через веб-интерфейс. Он не залипает как у ZoneMinder, а помощник по установке камер с легкостью нашел мою ONVIF камеру и подключил ее к системе. Вроде бы система работоспособна, но добиться от нее нормальной работы мне так и не удалось. Видимо, луна была не в том секторе небосвода. На выходе из системы и в окнах просмотра, меня ждали только серые квадраты вместо картинки с моей камеры. Аналогичная ситуация была и у ZoneMinder, видимо, даже несмотря на заявленную поддержку H.264 в камере, она реализована не полностью.

Чтобы не оставлять программу просто так, не попытавшись разобраться в первопричинах, пришлось воспользоваться очень простым тестом работоспособности камеры. Для этого я взял плеер VLC и передал ему пути RTSP потоков c камеры. И тут выяснилось, что первый поток при просмотре через VLC зависает через 2 секунды после начала просмотра, это хорошо заметно по замирающим часам в потоке видео. А второй поток, с низким разрешение, работает так, как и должен. Очевидно, что VLC, ZoneMinder и AVReg используют одни и те же библиотеки для транскодирования потока H.264 по RTSP. Возможно, что именно это и является причиной серых квадратов в ZoneMinder и AVReg. Единственное, что меня успокаивало, так это то, что в родной CMS все работает идеально. Нет никаких серых квадратов, нет никакого сверхвысокого потребления ресурсов ПК. Только вот родная CMS существует исключительно под Windows.

Pro Surveillance System

Отчаявшись найти годную систему среди бесплатных, пришлось обратить свой взор к коммерческим программам для видеонаблюдения. Пусть не вводит в заблуждение читателя наименование производителя Pro Surveillance System (PSS). Dahua Technology Co. далеко не немцы, даже совсем не немцы, а скорее китайцы. Dahua Tech выпускает серьезный ассортимент оборудования и программного обеспечения, среди прочего особо выделяется сегмент для систем видеонаблюдения. Компания выпускает камеры не только под своим брендом, но и под множеством других широко применяя схему OEM. Для поддержки своего оборудования Dahua разработала свою собственную CMS. Однако, даже несмотря на то, что система существует для разных платформ, в том числе и Linux, а кроме того она присутствует в виде пиратских копий, но работает она только с камерами Dahua, включая камеры OEM с начинкой Dahua.

Поэтому даже от тестирования PSS пришлось отказаться. Вероятность того, что PSS будет работать с безызвестной камерой стремилась к нулю.

Trassir

Еще один представить коммерческого видеонаблюдения, разрабатываемого отечественными спецами. ООО «ДССЛ-Центр» занимается дистрибуцией камер основных производителей, разрабатывает программное обеспечение Trassir, проводит семинары и выглядит вполне достойной внимания компанией. Программный комплекс Trassir существует как под операционные системы класса Windows, так и под Linux. Однако для Linux поставляется не отдельный программный продукт, а целиком операционная система вместе со встроенной CMS. Такой подход меня совсем не устраивает, но вполне оправдан, если речь идет о видеонаблюдении промышленного масштаба. Тем не менее для очистки совести я скачал демонстрационную версию Trassir для Windows (а доступна только она) и установил ее.

Первая попытка установки была прервана — инсталлятор в ультимативной форме потребовал, чтобы я дополнительно скачал еще и установщик базы данных PostgreSQL, а потом повторил попытку установки. Деваться было некуда, пришлось скачать и повторить. Но установка PostgreSQL провалилась, установщик что-то пролепетал про несовместимость в кодировках и отказался дальше работать. Скорее всего, он оказался не совсем совместим с Windows 8. Но несмотря на провал с PostgreSQL, установка демонстрационной версии не прервалась, она продолжилась просто предупредив, что без базы данных будут недоступны некоторые из функций. Пришлось согласиться и пойти на уступки инсталлятору Demo-Trassir.

Я не знаю, может быть это требования заказчиков такие, чтобы охранники не засыпали перед мониторами им нужно выводить информацию в веселеньком оформлении, но интерфейс программы именно таковым и является. Все тот же лубок, все те же доморощенные окошки, да картинки. Более того, при работе с демонстрационными камерами, без вывода какой-либо картинки на монитор вообще, система умудрилась загружать процессор виртуальной машины на немыслимые 40% — 60%. А как подключить мою камеру и возможно ли это вообще в демонстрационной версии, я так и не разобрался.

Xeoma

Когда в Челябинске упал метеорит, который запечатлели десятки видеорегистраторов, установленных в автомобилях суровых челябинских пацанов, импортные YouTube пользователи в сердцах щелкали языками и восторгались тем, что в России на каждой машине стоит по видеорегистратору. Но судя по тому, что из рассмотренных 6 программных продуктов для видеонаблюдения ровно половина российские, я нахожу, что мы не только впереди планеты всей по количеству авторегистраторов, но и по количеству стационарных видеорегистраторов тоже. И не удивительно, что именно у нас есть столько независимых разработчиков программ для видеонаблюдения. Да-да, Xeoma тоже плод деятельности российских разработчиков. ООО "ФеленаСофт" уже более десяти лет разрабатывает программное обеспечение, в том числе и для систем видеонаблюдений.

Возможно, кто-то уже сталкивался с программой WebCam Looker. За долгое время эксплуатации WebCam Looker заслужил доверие пользователей и на волне успеха разработчики запустили новый продукт Xeoma. На веб-сайте компании декламируется о том, что Xeoma — совершенно новый продукт, созданный с нуля, с учетом всех наработок и опыта, полученного при разработке WebCam Looker. По задумке, пользователей должна ожидать система с удобным интерфейсом и премиальной производительностью.

Xeoma работает на Linux, Windows, OS X (это для «маков») и даже Android. Разработчики заявляют о поддержке более сотни различных камер, включая универсальные виды (читай неопознанные NoName). Понимая те сложности и бардак, что царят на рынке в отношении стандартизации, разработчики предлагают скачать свой продукт бесплатно и проверить его в деле перед покупкой. Ход стратегически верный, ведь в таком случае можно, не покупая лицензии, проверить будет ли работать CMS с купленными камерами. Это особенно важно, ведь иногда получается так, что стоимость одной IP-камеры «с Китаю» меньше, чем стоимость одной лицензии ПО для этой камеры. Как раз мой случай. Помимо традиционного использования CMS для мониторинга и записи видеофрагментов в рамках одной локальной сети, в системе присутствует возможность объединения устройств с Xeoma в кластеры. Возможность любопытная, особенно с учетом того что, будучи запущенной на Android, Xeoma выступает не только в качестве клиентского приложения для мониторинга и настроек, а превращает ваш старенький смартфон в IP-камеру, нужно только добавить блок питания. В качестве дополнительной возможности, можно соединять несколько систем, установленных в изолированных сетях, в единую систему мониторинга использую обмен файлов по FTP. Вообще, проводить исследования в отношении корпоративных установок у меня в планы не входило, поэтому такой функционал оставим для будущих статей, а информацию о нем почерпнем с корпоративного сайта.

Xeoma может работать в трех вариантах: коммерческом, пробном и бесплатном. В коммерческом режиме, когда лицензии приобретаются на каждую камеру, доступен весь функционал системы. А для предварительного знакомства доступны пробный и бесплатный режимы. В пробном режиме Xeoma позволят использовать всю доступную функциональность, подключать сколь угодно камер, визуально выстраивать неимоверно сложные процедуры обработки сигнала и событий с камер. Но все настройки сохраняются в системе не более суток. А записи видеоархива ограничены временем жизни всего лишь одни часом. Ограничения существенные, но позволяют как следует протестировать и свои камеры, и весь функционал системы в целом не погружаясь все глубже в ненужные долги. И наконец, для ординарных пользователей доступен бесплатный режим, в котором все настройки сохраняются перманентно, а видеоархив живет столько сколько нужно. Но в этом режиме можно активировать всего лишь два канала для записи и присутствует ограничение только на три фильтра для обработки поступающего сигнала с событиями.

О фильтрах и прочих настройках я упомяну немного позже. А сейчас следует учитывать, что архитектура Xeoma двухзвенная, в ней присутствует клиентская и серверные части. И если клиентская часть может быть переведена в бесплатный режим работы, то серверная работоспособна либо в пробном, либо в коммерческом режиме. И никак иначе. В Xeoma есть еще одна особенность. Продукт поставляется в виде одного исполняемого файла, для каждой из операционных систем файл — свой собственный. И если просто его запускать, то будет запущена и клиентская часть, и серверная. В этом случае полный перевод в бесплатную версию возможен, а вот если у вас на одном компьютере установлена серверная часть, а на другом клиентская, то серверную часть уже нельзя перевести в бесплатный режим. При попытке переключения серверной части в бесплатный режим она просто перестает отвечать на удаленное подключение клиентских частей.

Но и это еще не все. Xeoma для не мобильных платформ может быть как установлена на компьютер, а может быть запущена в виде переносимого приложения. Другими словами, достаточно только скачать и запустить. А если не понравилось, то достаточно удалить только один файл, никаких прочих компонентов в системное окружение не инсталлируется. Решение интересное особенно с учетом того, что все внешние библиотеки, все требуемые компоненты находятся внутри самого файла и они всегда те, на которые рассчитывают разработчики. Тем самым повышается не только удобство, но и надежность работы Xeoma.

При первом запуске программы она инициирует поиск камер в локальной сети. Мою китайскую NoName система обнаружить не смогла, что и не удивительно — камеры на этом чипе появились всего несколько месяцев назад. Зато с успехом нашелся Wi-Fi экстендер TPLink, хотя никаких камер на нем нет и никогда не было. Добавить новую камеру можно различными способами, просто поиском по сети, поиском с учетом логина и пароля для входа на камеру, можно даже добавить случайную камеру доступную где-то в сети интернет. Последний вариант актуален, когда вам очень хочется протестировать систему, а установленных камер у вас в наличии нет или их слишком мало.

Вызов добавления камеры в Xeoma

Вызов добавления камеры в Xeoma

В моем случае пришлось вводить RTSP потоки в ручном режиме. И все заработало с первого раза! Удивительно, но система, несмотря на свой излишне простой и рассчитанный на неискушённого инженера интерфейс, начала принимать картинку с моей камеры, определять движения в кадре, записывать и показывать мне записанное видео. Просто и сразу! Погоняв еще в различных режимах Xeoma, я полностью удостоверился, что система на тестовой инсталляции работает если не идеально, то очень близко к тому. По этой причине, было принято решение о внедрении именно программного комплекса видеонаблюдения на базе Xeoma. Далее представлено более-менее подробное описание разворачивания Xeoma с использованием Oracle Virtual Box на прототипе рабочей системы и обзор некоторых функций программы.

Используем Xeoma

В качестве тестового стенда для прототипирования будущей установки Xeoma на рабочую систему были использованы виртуальные машины Oracle Virtual Box. В качестве host-системы выступила рабочая станция с 8 Гб ОЗУ и управлением Windows 8.1 x64. В качестве серверного варианта была использована Ubuntu x32 LTS 14.02 с 1 Гб ОЗУ. Для клиентов применялись виртуальные машины с 2 Гб ОЗУ и операционными системами Windows 8.1 x32, Linux Mint x32. Во всех виртуальных машинах было доступно одно ядро с физической частотой до 3 ГГц. В качестве дополнительной проверки работоспособности был задействован смартфон с Android 4.4.2.

Интерфейс гипервизора Oracle VirtualBox

Интерфейс гипервизора Oracle VirtualBox

Установка

Итак, в качестве сервера у меня работает самособранный микросервер под управлением Ubuntu LTS 14.02 x64. На него впоследствии планируется установить серверную часть Xeoma. Но, предварительно необходимо провести тестовую установку на виртуальную машину, дабы убедиться, что в процессе установки никаких неразрешимых сюрпризов не возникает. Для этого создаю новую виртуальную машину в среде VirtualBox и устанавливаю чистую копию Ubuntu. Поскольку виртуальная машина обладает меньшими ресурсами, нежели микросервер, то и операционная система устанавливается 32-разрядная. Конечно, ничто не помешает установить Ubuntu x64 на 1 Гб ОЗУ, но работать она будет не так шустро, как 32-битная система. Прошу обратить внимание на то, что и в виртуальной машине, и на микросервере установлена Ubuntu без графического интерфейса, т. е. осуществлена headless установка. Более того, микросервер уже установлен в свое рабочее окружение и доступ к нему возможен только удаленный. По этой причине после установки операционной системы в виртуальной машине, доступ к ней осуществляется только посредством SSH терминального подключения. Соответственно при установке Ubuntu желательно не забыть поставить «галочку» напротив компоненты SSH-Server. Для пущего удобства, дополнительно устанавливается и оконный файловый менеджер Midnight Commander (MC).

Выбор компонентов при установке Ubuntu

Выбор компонентов при установке Ubuntu

Порядок установки Xeoma на Ubuntu подробно и с картинками описан на сайте FelenaSoft. Тем не менее пробегусь по всем шагам. Прошу учесть, что для своего удобства, все шаги я выполняю в сессии суперпользователя. В Ubuntu в нее можно перейти при помощи следующей команды:

sudo su

Шаг 1. Скачиваем архив с программой в соответствии с разрядностью операционной системы:

wget http://felenasoft.com/xeoma/downloads/xeoma_linux.tgz

Шаг 2. Распаковываем скаченный архив:

tar -xvzf xeoma_linux.tgz

После распаковки можно удалить скаченный архив. В архиве у нас находится единственный файл xeoma.app, версия программы 15.2.25. Если данный файл не может быть запущен из-за настроек прав доступа, то нужно выполнить команду предоставляющие соответствующие права данному файлу:

chmod a+x xeoma.app

Шаг 3. На этом этапе система уже является рабочей и можно запускать Xeoma для работы. Однако, поскольку у нас headless система и доступен только терминал, необходимо установить еще один компонент в Ubuntu:

apt-get install xdg-user-dirs

Данный компонент создает необходимые каталоги, которые присутствуют при установке системы с графическим интерфейсом и отсутствуют, когда доступен только терминальный режим.

Шаг 4. Устанавливаем компонент для звука:

apt-get install libasound2

Этот компонент обычно уже присутствует в конфигурациях с установленным графическим интерфейсом, однако, за ненадобностью, он отсутствует в headless установках. Libasound2 может быть доступен в нескольких вариантах в зависимости от разрядности операционной системы. Поэтому стоит выбрать наиболее подходящий именно под вашу систему. В случае отсутствия компонента, может возникать следующая ошибка:

root@ubuntu-xeoma:/home/vlad/delme# ./xeoma.app -core
./xeoma.app: error while loading shared libraries: libasound.so.2: cannot open shared object file: No such file or directory

Шаг 5. Осуществляем пробный запуск Xeoma в серверном исполнении, в терминале запускаем Xeoma с параметром -core:

./xeoma.app -core

Xeoma запустится и выдаст список доступных опций командной строки.

При запуске Xeoma в терминальном режиме выводится подсказка по допустимым командам

При запуске Xeoma в терминальном режиме выводится подсказка по допустимым командам

Теперь для того чтобы подключиться к серверу нам нужно знать IP-адрес виртуальной машины и пароль для подключения. Поскольку у нас уже запущена Xeoma в режиме программы, то можно либо завершить ее исполнение нажав ctrl-c, либо просто открыть новую сессию SSH подключения к виртуальной машине. Я предпочту открыть новую сессию.

В новой сессии вызываем команду ifconfig, которая возвращает нам сетевые параметры, в том числе IP-адрес виртуальной машины. А затем выполняем команду ./xeoma.app -showpassword в директории где был распакован архив с Xeoma. Последняя команда выдает нам пароль, при помощи которого можно подключаться к данному серверу. Выглядит это примерно так:

Current password for network access: 4_5JR/qw68

Следует учитывать, что пароль меняется каждый раз как осуществляется установка серверной части, а по желанию его можно установить самостоятельно через вызов ./xeoma.app -setpassword MYPASS.

Шаг 6. Проверяем работоспособность серверной части на headless машине. Для этого на клиентской машине, под управлением Windows или Linux с графическим интерфейсом нужно запустить клиентскую часть и произвести подключение к установленной серверной части с использование полученного в шаге 5 IP-адреса и пароля. Для максимального охвата операционных систем, для подключения к серверной части, я воспользовался сначала Linux Mint, а затем и Windows 8.1 для запуска клиентской части приложения. В обоих случаях интерфейс клиентской части практически идентичный, как и поведение Xeoma.

Интерфейс подключения к удаленному серверу Xeoma в Linux Mint

Интерфейс подключения к удаленному серверу Xeoma в Linux Mint

Для большего удобства запуска клиентской части я рекомендую либо просто запускать программу с ключом -client, либо создать ярлык для запуска Xeoma с ключом -client самостоятельно, либо произвести установку клиентской части Xeoma запустив скаченное приложение с параметрами -install -client (например, xeoma.exe -install -client).

Пример параметров ярлыка в Linux

Пример параметров ярлыка в Linux

Впрочем, можно подключаться к серверной части и просто запуская Xeoma, но в этом случае необходимо каждый раз выбирать пункт «Удаленный доступ» из меню программы.

Вызов удаленного доступа из меню Xeoma в Linux Mint

Вызов удаленного доступа из меню Xeoma в Linux Mint

Шаг 7. На этом этапе можно предварительно настроить подключение к камере или камерам. Поскольку у нас осуществлена установка в клиент-серверном варианте, где сервер удален от клиента, то настройку необходимо производить через подключенное к серверу через «Удаленный доступ» клиентское приложение. В моем случае, подключение осуществляется в ручном режиме, так как автоматически поиск не в состоянии обнаружить и настроить мою камеру.

Параметры настройки камеры в ручном режиме в Xeoma под упралением Linux Mint

Параметры настройки камеры в ручном режиме в Xeoma под упралением Linux Mint

Изменить настройки камеры можно в любой момент, нажав на шестеренку и дважды щелкнув на пиктограмме камеры. Таким образом редактируется текущая камера.

Итак, я выбираю соответствующий тип камеры, ввожу Login, в данном случае Admin и хеш пароля. Они же указываются и в URL для доступа к трансляции с камеры. Прошу обратить внимание на то, что сама камера у меня установлена по IP-адресу 192.168.0.110 и именно этот адрес используется в URL моей IP-камеры. Более того, хеш пароля в явном виде указывается как в URL, так и в поле для пароля. В данном случае хеш выглядит как «tlJwpbo6», что означает пустой пароль. Если вам необходимо установить свой собственный пароль, то его, во-первых, необходимо установить через утилиту конфигурации камеры, а во-вторых, получить новый хеш пароля, сгенерированный камерой. А для этого потребуется зайти по Telnet на саму камеру. Что, однако, выходит за рамки настоящей статьи. В любом случае можно поэкспериментировать с указанием паролей как в URL камеры, так и в специально отведенном поле.

В настройках камеры есть два поля для указания потоков с камер. Верхнее поле используется для просмотра картинки при использовании «квадратора» и для определения движения в кадре. А нижнее поле используется для указания полноценного потока с максимальным качеством для записи в видеоархив. С целью уменьшения затрат ресурсов, я настоятельно рекомендую в верхнее поле направлять второй поток с камеры (второй URL, индекс потока 1), а во второе поле первый поток камеры (первый URL, индекс потока 0). Дополнительно включить «галки», отключающие перекодировку H.264 потока при записи в архив. Само качество потоков настраивается через CMS. При такой настройке, Xeoma будет потреблять минимум ресурсов на анализ движения в кадре и одновременно в архив будет записывать видеопоток с максимальным качеством. При просмотре потока только с одной камеры, Xeoma автоматически переключается на первый поток, а при использовании «квадратора», для сохранения ресурсов используется второй поток с низким разрешением. Плюс, поскольку моя камера не оснащена микрофоном, то настройки для звукового канала оставляю стандартными.

Интерфейс настройки камеры с дополнительными параметрами в Xeoma под управлением WIndows 8.1

Интерфейс настройки камеры с дополнительными параметрами в Xeoma под управлением WIndows 8.1

Убедившись, что картинка с камеры отображается, можно переходить к установке серверной части в автозапуск.

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

./xeoma.app -install -coreauto

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

     install server (auto start) and client (manual start) ...
     * Ok > installFiles
     * Ok > popClientFromAutorun
     * Ok > installCoreShortcut
     * Ok > installClientShortcut
     * Ok > registerInSystem
     * ERROR > stopCore
     * Ok > registerCoreAsService
     * Ok > exchangeOldExeFileToNew
     * Ok > removeOldXeomaExe
     * Ok > installCoreAutostartOnly
       Ok
    Current password for network access: 4_5JR/qw68

Последней строкой выводится пароль, он может поменяться, поэтому обратите на него внимание. Если вдруг с установкой произошло что-то не так, то ее всегда можно отменить, запустив Xeoma с параметром -install -removeall. Сама установка осуществляется в директорию /root/bin/Xeoma, конфигурация и вспомогательные файлы находятся в /usr/local/Xeoma. Скрипт инициализации init.d располагается в /etc/init.d/XeomaCoreService. Ну и сам сервис стартует с именем XeomaCoreService. Кстати, именно в Init.d можно настроить порт на котором работает сервер при автоматической загрузке сервера.

На тестовой виртуальной машине, при активной работе сервис Xeoma потребляет не более 10% процессорного ресурса, дополнительную нагрузку по 1% привносят еще и экземпляры FFMPEG, который идет в комплекте с Xeoma и активно последней используется. Данная загрузка характерна при просмотре видео в реальном времени через клиентское приложение и одновременной записью видео в архив. Результаты очень впечатляющие.

Потребление ресурсов на виртуальной машине для серверной части Xeoma

Потребление ресурсов на виртуальной машине для серверной части Xeoma

Теперь, после установки и проверки можно перейти к настройке самой программы.

Настройка

С серверной стороны особо настраивать нечего, если только параметры запуска серверной части в init.d (для Linux), но там все уже итак настроено оптимальным образом. Остается только настройка работы самой программы. Все необходимые настройки осуществляются через интерфейс клиентской части Xeoma. В случае клиент-серверной установки, для внесения изменений необходимо подключиться к серверной части клиентской. И тут открывается еще одно удобство программного продукта, способного работать практически под любой операционной системой и даже на смартфонах. Конечно, некоторые могут заметить, что зачем городить огород с приложениями, если можно просто сделать развитый веб-интерфейс и проводить настройку через него. Не буду спорить в этом есть свой резон, но у разработчиков Xeoma, видимо, были веские причины реализовывать все именно в виде программы, а не поддаться тренду последнего десятилетия и перевести все на web.

Пользовательский интерфейс Xeoma вызывает двойственные чувства. С одной стороны, он непривычен для обычного компьютерного пользователя, привыкшего к Windows, Mac OS или многочисленным вариациям рабочих столов на Linux. С другой, некая простота позволяет освоиться программой даже неопытным специалистам и без чтения многочисленных талмудов документации. Откровенно говоря, интерфейс в Xeoma мне не нравится, но пользоваться им можно.

В главном окне программы, в зависимости от контекста, могут появляться те или иные слайдеры и скрытые меню. Именно через них и осуществляется взаимодействие человека и машины. Дружественным такой подход не назовешь, но одновременно он вполне функционален. До нужного пункта не нужно пробираться через десятки меню и даже самые сложные настройки доступны в радиусе трех кликов. Близкий по устройству интерфейс имеет программа AVReg, однако в Xeoma взаимодействие с пользователем и расположение элементов реализовано намного удачнее.

Основной интерфейс Xeoma с выводом с двух камер

Основной интерфейс Xeoma с выводом с двух камер

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

Иерархия камер в Xeoma

Иерархия камер в Xeoma

Для того чтобы понимать, как настраивать Xeoma, нужно немного в ней разобраться. С первого взгляда система может показаться слабоуправляемой, но стоит с ней познакомиться немного поближе, как все становится на свои места. Идеология настройки алгоритмов обработки камер реализована в виде визуального конструктора. И настройка осуществляется путем добавления пиктограмм акторов, я буду применять именно эту терминологию, пришедшую из мира проектирования информационных систем, связей между ними и детальной настройкой каждого из акторов. Более того, доскональные настройки акторов могут применяться как в окружении только одного устройства, так и сразу к нескольким устройствам. Но никакой связи при этом не создается. Вроде бы удобно, но для частого изменения при большом количестве камер придется много поработать руками. Связи между акторами не редактируются. Их можно только удалить. Однако, в системе можно реализовывать весьма и весьма разветвленную сеть связей между акторами, только не стоит слишком усердствовать, ведь чем сложнее получится модель, тем сложнее настроить ее работоспособное состояние.

Чрезмерное количество акторов в настройке источника в Xeoma

Чрезмерное количество акторов в настройке источника в Xeoma

Устройства

Все акторы в системе делятся на три большие группы: устройства, фильтры и назначения. В качестве устройства может выступать любой поддерживаемый системой источник, начиная от веб-камер и заканчивая файлами, считываемыми с сетевого диска. Основным источником для получения данных будут, разумеется, камеры. В один сетап можно добавить больше, чем одну камеру, но нужно себе четко понимать, для чего это делается. Помимо видео, Xeoma может вполне равноценно работать и с аудиоданными. Если камера оборудована микрофоном, то он может служить источником звука, если нет, то звук может забираться с любого штатного микрофона на компьютере, где установлена Xeoma. И даже больше. В качестве источника может выступать другая установка Xeoma (на компьютере или смартфоне) и данные будут транслироваться с нее для дальнейшей обработки. Таким образом можно организовать не только видео, но и аудио наблюдение и фиксацию. Что втройне любопытно.

В качестве примера сценария, когда необходимо получать информацию не только с доступных камер, но и Xeoma, можно привести следующее. Во-первых, захват видео или аудио с web-камеры установленной на компьютере. Обычно такие камеры подключаются по USB и получить к ним доступ по сети невозможно. Для этих целей, на компьютере с камерой устанавливается Xeoma которая будет транслировать поток с web-камеры в сеть, останется его только захватить. Во-вторых, можно записывать все, что происходит на рабочем столе компьютера. Опять же, устанавливается в серверном режиме Xeoma, где в качестве источника выбирается рабочий стол, а затем он транслируется в сеть, где его и подхватывает основной сервер Xeoma.

Если покопаться в интернет, то можно найти множество историй, реализующих оба приведенных сценария. Предприниматели и ревнивые мужья организуют скрытое наблюдение за сотрудниками и своими половинками, а затем выводят их на чистую воду. Причем обычный, не продвинутый, пользователь и не поймет, что за ним наблюдают таким тайным и изящным способом. Достаточно же только ноутбука с web-камерой и все. Хотя первоначально, все же подразумевалось несколько иное использование этих функций, а именно — максимальное использование существующего оборудования и распределение нагрузки между отдельными компьютерами.

Для совсем сложных случаев, в Xeoma существует возможность обмена данными по FTP протоколу с использованием FTP сервера. При помощи этого механизма можно объединять в единую сеть наблюдения географически разнесенные или логически разделенные локации. Представьте, что у вас в руках видеоархив двадцати ваших обувных магазинов, раскиданных по стране. И все данные находятся в одном месте, их можно все просмотреть и проанализировать. А в случае возникновения конфликтных ситуаций или разногласий, продавцы на местах уже не смогут «уничтожить» улики. При таком-то «большом брате» и сам становишься как-то более подтянутым, меньше позволяешь себе вольностей.

Фильтры

С сигналом, будь то видео или аудио поток, нужно что-то делать. Но, прежде чем записать его на жесткий диск компьютера, стоит подумать над тем, что сигнал как-то предварительно можно обработать или проанализировать. И именно этим занимаются акторы из группы фильтров. Основным фильтром, разумеется, в системе является детектор движения. Не секрет, что многие современны камеры, могут проводить обработку сигнала самостоятельно и определять движение. Но, увы, пока мне не удалось заставить Xeoma понимать сигналы о движении с моей камеры. Вопрос с выносом определения движения на камеры или наоборот централизация обработки на едином сервере очень неоднозначный. Если выносить обработку на камеры, то снижается нагрузка на серверный компьютер, однако реализация алгоритмов определения движения на камерах может быть далекой от идеала, да и настроить движение у сотни камер — задача для сенсея. С другой стороны, функционал определения движения, один из самых ресурсоемких и при большом количестве камер может нещадно грузить систему.

Для чего вообще нужен функционал определения движения? Для видеофиксации в целом доступно два варианта записи видео. Первый — записывать все подряд. Такой вариант хорош в оживленных местах, торговых точках или там, где и мышь проскользнуть не должна. Но при этом «пустыми» данными, в огромном количестве, засоряются жесткие диски серверов. Долговременно хранить гигабайты и терабайты видеоданных никто не будет, поэтому и архив получается всего-то на несколько дней или даже часов. Второй вариант — записывать видео в архив только тогда, когда происходит какое-то событие. Обычно в качестве подобного события выступает движение в кадре, в Xeoma можно соединить акторов микрофона и детектора, но настроить детектирование звука необходимо при помощи использования фильтра «Детектор звука». Таким образом, появляется возможность вести видеозапись по звуку, например, при разбитии стекла или просто громком хлопке. Как только происходит событие и его порог превышает заданные параметры — начинается запись.

Для настроек детектора движения необходимо добавить его на поле настройки, просто перетащив из верхней ленты, связать с источником и назначением. Для удобства пользователей, в интерфейсе уже есть несколько шаблонов последовательностей акторов, включая и самый простой, состоящий из камеры (источника), детектора движения и архива. Для перехода в настройки детектора, достаточно щелкнуть по актору «Детектор движения». Здесь можно настроить практически все, вернее даже все, что относится к сфере определения движения. Можно настроить длительность предварительной записи движения и записи после события, выбрать пороги длительности и активности движения, и множество других параметров, включая маску и размер объектов. Для удобства настройки, а это справедливо для всех фильтров, в правом верхнем углу настроек располагается специальный сектор, в котором отображается текущее получаемое изображение и статус фильтра, пропускает он сигнал или нет. Иногда, в сложных условиях, пользователи испытывают трудности с настройкой детектирования движения. Оно то срабатывает, то не срабатывает. В этом случае, может помочь отображение зон срабатывания детектора при просмотре изображения с камеры в главном окне. Для этого необходимо включить настройку «Включить визуализацию движений» в окне квадратора (главном окне программы).

Настройка детектора движения для видеопотока в Xeoma

Настройка детектора движения для видеопотока в Xeoma

Кстати, в Xeoma есть еще один режим записи, в котором идет постоянная запись видео, однако в архив записывается не только видеопоток, но и метки срабатывания детектора движения. Впоследствии, вместо того чтобы залипать перед монитором на долгие часы в поисках событий, можно просто перескакивать по видеопотоку в места, где события как раз и происходят. Функционал полезный, но для его корректной работы необходимо все же произвести настройку детектора движения.

Помимо детектора движения в системе присутствуют и другие фильтры. Фильтр «Расписание» работает в качестве простого выключателя, позволяя жестко включать или отключать запись. Хотя, можно и распараллелить функционал записи по расписанию и по детектору движения. Например, ночью запись ведется в режиме детектора движения, а днем постоянно. Фильтр «Маркировка» вшивает в видеокадр дополнительную информацию, это может быть как произвольный текст, так и различные метки, например, дата и время. Если требуется добавить несколько надписей, то в рабочее поле добавляется несколько фильтров «Маркировка».

Фильтр «Детектор дня» не имеет настроек и его основное предназначение — отключать запись в условиях недостаточной освещенности. Логика тут простая — если камера ничего заснять путного не может, то и использовать ее смысла нет никакого.

Фильтр «HTTP переключатель» может использоваться для управления записью в Xeoma извне. Для того чтобы включить или отключить фильтр необходимо вызвать определенный http-запрос, который кастомизируется в настройках фильтра. В качестве наиболее вероятного сценария использования можно применить данный фильтр для временного включения или отключения записи, например, при присутствии на объекте. Представьте, что вы используете видеонаблюдение в своем загородном доме. Когда вы там, вести запись смысла нет никакого, поскольку архив будет наполняться бессмысленными записями вашего перемещения по своим угодьям. Определить же местоположение можно по факту подключения вашего смартфона к Bluetooth сервера или же местному Wi-Fi. Реализовать данный сценарий можно как со стороны сервера, на уровне скриптов, так и на стороне телефона. Для Android можно использовать программы малой автоматизации, например, Tasker или аналогичные. Не забудьте использовать расписание, включающее запись в ночное время, когда вы уже мирно почиваете в своей кровати.

«HTTP маркировщик» — фильтр сочетающий функционал HTTP переключателя и маркировщика. При необходимости, в видеопоток, по сигналу, полученному через HTTP-запрос, можно внедрять дополнительные тексты. Простор для фантазии обширный. В Xeoma присутствуют и другие фильтры, использование которых, позволит настроить логику записи именно так, как это требуется. Но все зависит от фантазии установщика.

Назначения

Собственно, группа акторов «Назначения» то, ради чего настраиваются обе предыдущие. Сюда будет попадать видео или аудиопотоки, а также сигналы для дополнительных действий. Основным актором из назначений можно смело считать «Просмотр и архив». Именно сюда записывается видеопоток, который впоследствии можно просмотреть через удобный интерфейс. У актора «Просмотр и архив» как и у многих других, есть настройки. При помощи настроек можно регулировать такие параметры, как время хранения записи или качество материала. И именно в этом акторе можно настроить путь, по которому будут записываться архивные данные. Обратите внимание на то, что для каждой отдельной камеры можно настроить свой собственный путь для записи. Если по каким-то причинам вас не устраивает встроенное средство архива, то можно сохранять видео или фотографии при помощи актора «Сохранение в файл». В настройках актора можно выбрать формат, частоту сохранения, время хранения файлов.

Просмотр архива в Xeoma - день (Windows 8.1)

Просмотр архива в Xeoma - день (Windows 8.1)

Для более сложных случаев, можно применить запись на FTP. В этом случае, при помощи актора «Загрузка на FTP-сервер» можно объединять Xeoma из разных географических положений. Функционал может пригодиться и в качестве средства для создания резервной копии видеоматериалов. Записывать данные можно на удаленный сервер и даже если объект где ведется видеонаблюдение будет полностью уничтожен пожаром, нашествием саранчи или случайно оброненной бомбой, то Xeoma будет пытаться сохранить видеоматериалы об этом событии до последнего, пытаясь выгрузить файлы на удаленный FTP-сервер.

Не обойдены вниманием и менее экстремальные варианты оповещения о событиях на охраняемом объекте. Пользователь может настроить оповещения на электронную почту или же на отправку SMS. Причем SMS могут отправляться как через интернет, так и посредством GSM-модема, установленного на сервере. Правда, в SMS нельзя вставить картинку или видео, иначе это будет уже MMS, поэтому оповещение по SMS может быть только текстовым и коротким. А вот при отправке сообщения по электронной почте, можно прикрепить не только фото, но и видео. Только особо усердствовать не стоит — электронная почта не предназначена для пересылки видео большого объема.

В текущей версии Xeoma присутствует 11 акторов назначений. При их помощи можно реализовать множество сценариев для видеонаблюдения. Но я хочу остановиться еще на одном из акторов. «Веб сервер» позволяет получить доступ к картинке, получаемой с камеры, через web-браузер. Xeoma, как истинный комплект «Все в одном», имеет на борту и свой web-сервер. Трансляция возможна как для пользователя, который может зайти на страничку своим любимым браузером, так и для других серверов — транслируя потоки видео или картинок. Таким образом, из Xeoma можно сделать своего рода ретранслятор, позволяющий подключить не самые совместимые камеры к другому ПО для видеонаблюдения, хотя зачем это нужно, если при помощи Xeoma можно реализовать нормальную систему?

Android

Программное обеспечение Xeoma работает на многих платформах, в том числе и на платформе Android. Приложение можно установить на планшет или смартфон, но не ищите его в магазине Google Play. Скачать приложение можно только с сайта ФеленаСофт. Удивительно, но разработчики не утрудили себя и сделали совершенно одинаковый интерфейс для всех платформ. Поэтому на Android Xeoma выглядит точно так же, как и на Linux Mint или Windows. Разве что размер экрана меньше и труднее попадать по элементам управления.

Для установки приложения я рекомендую использовать ES Проводник, который может не только скачать приложение, но и установить его. Предварительно, в настройках смартфона, нужно включить возможность установки приложений из непроверенных источников. Если вы не знаете где кроется эта настройка — не беда, ES Проводник услужливо найдет ее для вас.

Xeoma на Android

Xeoma на Android

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

Единственное, что напрягает при установке Xeoma на телефон, так это разрешения приложения для возможной отправки SMS на платные, короткие номера. Но хочется надеяться, что данное разрешение применяется исключительно для нужд отправки SMS в случае обнаружения движения и никак иначе.

Выводы

Современный мир видеонаблюдения, войдя в цифровую эпоху, ввергнулся сам собой в пучину хаоса. Разношерстные протоколы и несовместимые камеры, плохая документация и устаревшее программное обеспечение способны вывести из себя даже самого флегматичного технаря, хобби которого — ковыряться с железками и «софтом». Энтузиасты, особенно когда они работают сообща, способны выдавать общественности весьма неплохие продукты, примером чего может служить многочисленное семейство операционных систем Linux и программного обеспечения под него, но в плане видеонаблюдения, когда новые камеры и новые несовместимости плодятся как опята после дождя, одного энтузиазма мало. И бесплатным программам попросту не угнаться до коммерческих организаций способных тратить ресурсы не только на разработку, приобретение новых камер, но и на поддержку конечных пользователей своего продукта.

По своему печальному опыту могу сказать, что, потратив несколько теплых майских деньков, я пришел к выводу, что с моим оборудованием справится нормально только коммерческое программное обеспечение, да и то не всякое. Попробовав несколько систем, я пришел к выводу, что только Xeoma нормально работает с моей камерой и только она удовлетворяет моим требованиям к организации видеонаблюдения. Понятно, что Xeoma далеко не идеал, в ней есть небольшие недоработки, мелкие огрехи, особенно это касается пользовательского интерфейса. И я сильно подозреваю, что в корпоративном плане, когда речь идет об организации видеонаблюдения сотен, если не тысяч камер, с Xeoma будет работать не так удобно, как автоматизированным наблюдением только одного объекта с минимумом камер. И я полагаю, что ситуация в ближайшее время не изменится к лучшему, по крайней мере до тех пор, пока на рынке не появится очень серьезный игрок с большим опытом в разработке программного обеспечения и разумной лицензионной политикой. Хотя определенную угрозу тут составляют новомодные облачные сервисы по видеонаблюдению, когда требуется только камера и доступ в интернет. Но пока основные игроки делают только первые и весьма робкие шаги в этом направлении, и с большой оглядкой смотрят на успехи и провалы Ivideon.

Ссылки на другие части:

Домашний микросервер. Идея.
Домашний микросервер. Аппаратное обеспечение. Сервер.
Домашний микросервер. Программное обеспечение. Операционная система. Ubuntu.
Домашний микросервер. Программное обеспечение. Основные и системные программы под Ubuntu.
Домашний микросервер. Программное обеспечение. Скачиваем торренты.
Домашний микросервер. Программное обеспечение. Раздаем контент по DLNA.
Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39.

Домашний микросервер. Программное обеспечение. Видеонаблюдение на основе IP-камер и Xeoma.
Домашний микросервер. Программное обеспечение. Шифруем конфиденциальную информацию в Ubuntu при помощи eCryptfs и хранением ключей в TPM.
Домашний микросервер. Программное обеспечение. Умный дом.



Домашний микросервер. Программное обеспе́чение. Видеонаблюдение на основе IP-камер и Xeoma.: 10 комментариев

  1. Уведомление: Домашний микросервер. Идея. | Многобукфф

  2. Уведомление: Домашний микросервер. Аппаратное обеспе́чение. Сервер. | Многобукфф

  3. Уведомление: Домашний микросервер. Аппаратное обеспечение. Китайская NoName IP-видеокамера на основе чипа HI3518E_50H10L_S39. | Многобукфф

  4. zuluss

    доброй ночи
    устанавливал xeom по вашей инструкции но в конце при запуске ./xeoma.app -core
    No such file or directory
    где я мог накосячить?

    1. kvv Автор записи

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

    1. chanov

      Теперь они запретили удалённое подключение для бесплатной версии, так что в консоль не поставить ...

  5. Уведомление: Домашний микросервер. Программное обеспечение. Скачиваем торренты. | Многобукфф

  6. Инженер компании

    Видно что автор статьи абсолютно незнаком с современным рынком видеонаблюдения в России, но хорошо разбирается в операционной системе Linux. Выводы сделанные в статье - дилетантские(извините за прямоту). Всё уже давно разработано и великолепно работает в течении многих лет. Стоимость любого софтового сервера будет превышать в два раза стоимость аналогичного NVR с комплектом бесплатного обеспечения для просмотра на всех современных устройствах.
    Для консультации и выбора видеонаблюдения не надо лазить по форумам, а можно обратится в компанию занимающуюся монтажем видеонаблюдения, например мою - "БАСТИОН - профессиональное наблюдение". Здесь можно получить абсолютно бесплатно информацию:
    Какую камеру надо покупать, а какую нет.
    Как правильно организовать видеонаблюдение на даче.
    Как организовать удалённый доступ, без всяких Ivideon и тому подобных новомодных облачных серверов.
    Как провести бесплатный телефон на дачу с московским номером и многое другое....

  7. Уведомление: Система видеонаблюдения – supro's Blog

Добавить комментарий