Управление видео с помощью middleware Viinex при создании центра контроля безопасности распределенных объектов (Часть 1)

При внедрении систем управления безопасностью производители PSIM-систем сталкиваются с проблемой: заказчики PSIM-решений используют совершенно разные системы видеонаблюдения разных производителей. Нередко оказывается, что даже в единой системе безопасности видеоданные, которые нужно передавать в центр контроля, должны быть собраны от различных систем видеонаблюдения, установленных на территориально распределенных объектах заказчика, например, таких как сети заправок или банковских структурных подразделений.

В связи с этим на плечи разработчика PSIM-систем ложится непростая задача по интеграции целого парка видеосерверов различных производителей. Вдобавок все осложняется тем, что современные PSIM-системы, как правило, предоставляют данные в веб-интерфейсе, а далеко не все системы видеонаблюдения совместимы со стандартом HTML5 для видео стриминга.

В части управления видео требования обычно сводятся к простым пунктам:

    ● доступ к онлайн-видео различных видеосерверов, установленных на удаленных объектах, при необходимости контроля чрезвычайных ситуаций в реальном времени;
    ● возможность просмотра видеоархивов в центре мониторинга с удаленных объектов в случае, когда необходимо провести расследование инцидента;
    ● возможность добавления в будущем разных систем видеоаналитики;
    ● репликация видеоархивов для хранения и постобработки нужных данных уже непосредственно в центре мониторинга:
    - по запросу из центра по известному времени;
    - автоматически по событию (например, когда сработал охранный датчик на удаленном объекте и нужно тут же передать видеофрагмент для верификации тревоги и обеспечения хранения видеозаписи).

Под репликацией в данном случае мы подразумеваем перенос необходимой части видеоархива из одной системы в другую. Например, перенос нужных отрезков видеозаписей различных видеосистем непосредственно с периметра видеонаблюдения (где осуществляется запись по заданному временному периоду на объектах) на другой периметр – скажем, в центр контроля для долгосрочного хранения записей инициированных «по тревоге» и удобного представления этих записей различным внутрикорпоративным клиентам.

Решение с помощью Viinex

Viinex представляет собой встраиваемое программное обеспечение для решения всех вышеописанных задач по управлению видео, в том числе получаемого от различных VMS и видеоисточников. Кроме того, Viinex предлагает инструменты для самостоятельного добавления необходимых систем видеоаналитики, когда они понадобятся.

Используя Viinex, производители PSIM могут оперативно развертывать системы на крупных объектах даже с несколькими разными системами видеонаблюдения, используя Viinex в качестве «шлюза», имеющего систему репликации видеоархивов с возможностью раздачи видео по стандартам RTSP, HLS и WebRTC. Viinex полностью совместим с HTML5 спецификацией, а весь инструментарий управления видео доступен через HTTP RESTful API.

Интеграция сторонних VMS и ретрансляция видео в HTML5

Именно по просьбам наших партнеров-производителей PSIM мы интегрировали в Viinex различные VMS (подробнее об этом есть здесь), и теперь наш продукт предоставляет средства для получения живых видеопотоков и возможность трансляции сторонних видеоархивов и их репликации.

Использование видеопотоков сторонних видеосерверов по-прежнему возможно в режиме динамического получения видеопотоков (т.е. только тех, которые используются в данный момент – например, для отображения, аналитики, репликации или видеозаписи), без необходимости загружать сеть видеопотоками, которые фактически не используются. Этот принцип отражен в схеме лицензирования Viinex, когда подключение каждого канала интегрированной VMS осуществляется по отдельной лицензии, а схема лицензирования видеопотоков осталась прежней - лицензируются только реально используемые видеопотоки, как и при подключении к серверу Viinex видеопотоков от обычных IP-видеокамер.

Такая схема особенно выгодна при развертывании систем с большим количеством IP-видеокамер и видеосерверов, т.к. зачастую невозможно и не нужно отображать видеопотоки всех видеоисточников в центре контроля одновременно.

Помимо получения видеопотоков IP-видеокамер по стандартным протоколам и видеопотоков видеосерверов различных VMS, которые мы интегрировали по предоставляемым их производителями SDK, наш партнер также может выполнить интеграцию внешних источников видео (как онлайн-, так и из ранее записанных файлов видео) самостоятельно с использованием плагина, исходный код которого мы выложили в открытый доступ на Github под MIT-лицензией.

Подключение алгоритмов видеоаналитики

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

Такой механизм напоминает метод FastCGI для взаимодействия веб-серверов и различных связанных приложений. Веб-сервер может запускать внешний процесс, управлять его жизненным циклом и связываться с этим процессом через pipe или доменные сокеты UNIX. Соответственно, Viinex может запускать внешний процесс, управлять его жизненным циклом и взаимодействовать с этим процессом, используя соответствующие методы IPC.

Viinex предоставляет два ключевых механизма для взаимодействия с внешним процессом.

    • ● Обмен событиями с приложениями для аналитики
    Внешний процесс может получать события из Viinex, а также генерировать события и передавать их другим объектам в Viinex. Для этого используется простой механизм стандартного ввода/вывода. Все события, на которые подписан внешний процесс, сериализуются в формате JSON и отправляются Viinex на стандартный ввод этого процесса. И наоборот – все, что внешний процесс записывает в свой стандартный вывод, должно иметь синтаксис JSON, который принимается Viinex как событие этого процесса. Таким образом, все сводится к простому обмену JSON-командами через stdin/stdout.
    • ● Обработка видео и получение raw-видеопотока для аналитики
    Viinex предоставляет API для получения несжатого видео из исходных видеоисточников. Используя этот API, внешний процесс может получать видео для выполнения пользовательской аналитики. Методы IPC, используемые для реализации API для получения несжатого видеопотока в Viinex, представляют собой комбинацию из общей памяти (shared memory) и именованных каналов (named pipes) (в Windows) или доменные сокеты UNIX (в Linux), для того чтобы несжатый видеопоток между процессами на локальной машине обрабатывался без какого-либо копирования.

Эти два механизма позволяют подключать алгоритмы видеоналитики наиболее простым способом. Интеграция со сторонними системами на основе событий может быть относительно простой и написана практически в любом языке программирования, имеется в виду простой интерфейс для обмена событиями (то есть стандартный ввод/ вывод данных в формате JSON).

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

Репликация видеоархивов

Дополнительно к интеграции сторонних VMS мы добавили в Viinex функциональность репликации видеоархивов как собственных, так и сторонних VMS. Режим репликации может быть в Viinex управляемым или автоматическим.

Принципиальное различие между этими двумя режимами таково. Режим управляемой репликации означает, что весь процесс репликации полностью контролируется через API Viinex. Каждая задача репликации для управляемого приемника репликации представляет инструкции о том, откуда взять видеоданные, за какой интервал времени они должны быть и в какой канал в видеоархиве должны быть помещены эти данные для того, чтобы впоследствии «раздать» их средствами Viinex.

Режим управляемой репликации хорошо подходит для работы c видеоархивом по запросу, когда необходимо провести расследование инцидентов в центре контроля.

Репликация в автоматическом режиме выполняется, напротив, уже от имени источника репликации в некотором удаленном экземпляре Viinex. Это значит, что источники репликации, подключенные к приемнику репликации, будут отправлять новые видеоданные, как только они появятся в видеоархивах, назначенных источниками репликации, не ожидая явных заказов или запросов от приемника репликации, находящегося на центральном хосте.

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

Продолжение

Комментариев еще нет.

Leave a Reply

Вы должны войти Авторизованы чтобы оставить комментарий.