Axxon Next — продукт российской компании ITV, позволяющий строить легко масштабируемые системы видеонаблюдения любой сложности и поддерживающий более 6000 наименований IP-устройств.
«Сервис SureView очень популярен в Великобритании, и дабы укрепить свои позиции на рынке видеонаблюдения, разработчики Axxon Next (ITV) решили совершить хитрый стратегический ход и интегрироваться, отдав исполнение заказа на аутсорс компании Edison Software. На разработку и отладку плагина интеграции ушло 316 часов»
Immix — видео-ориентированная программная платформа для приема тревожных событий из систем видеонаблюдения и контроля доступа, принадлежащая американской компании SureView Systems.
Плагин позволяет осуществлять управление устройствами, подключенными к системе видеонаблюдения Axxon Next, из интерфейса программного комплекса Immix:
- просмотр живого видеопотока;
- проигрывание и управление проигрыванием архивных видеозаписей;
- управление поворотными устройствами PTZ;
- получение событий о возникших тревогах и срабатываниях датчиков.
Плагин интеграции — динамически подключаемая библиотека к системе SureView Immix. Состав и требования к интерфейсам описаны в составе SDK SureView. Взаимодействие с ПО Axxon Next осуществляется по HTTP-протоколу.
Тревожные события передаются из Axxon Next в SureView Immix посредством разработанного сервиса трансляции тревожных событий. Необходимость в разработке сервиса вызвана тем, что Axxon Next отдает тревожные события по схеме pull (запрос списка тревожных событий за определенный период), а SureView Immix ожидает получение событий по схеме push (отправка событий по протоколу SMTP).
- У программного комплекса SureView 5 уровней качества принимаемых видеопотоков: Highest, High, Medium, Low, Lowest. Axxon Next (как и большинство камер видеонаблюдения) способен отдавать только 2 потока с различным уровнем качества: High — высокий, Low — низкий. Совместно с заказчиком и специалистами SureView решено для уровней качества SureView Highest, High и Medium — сопоставить видеопоток высокого качества с сервера Axxon Next, а для Low и Lowest — низкого.
- Задача разработки плагина интеграции была несколько упрощена за счет того, что удалось использовать стандартные компоненты SureView (SureView.Media.UriDecoder_001, DevStreamGeneric) для воспроизведения видеопотоков, не заботясь о программном декодировании и визуализации видеопотока.
- Повышенные требования к разработке и внутреннему тестированию плагина интеграции, обусловленные тем, что каждый приемочный тест в SureView стоит 1000 USD. При обнаружении несоответствий в выполнении требований SureView к показателям функциональности и производительности плагин возвращается на доработку со списком замечаний.
Для проверки стабильности работы плагина в SDK SureView указаны наборы так называемых стресс-тестов, которые должен успешно пройти плагин перед отправкой на приемку в SureView (указание некорректных параметров соединения с Axxon; многократное, частое повторение одного или нескольких действий).
Возникшие сложности
- В SDK SureView прописаны жесткие требования к нагрузке на сервер, оказываемой плагином интеграции. Средняя нагрузка на процессор, в пересчете в мегагерцы: 200 МГц. Потребление оперативной памяти: не более 100 Мб. Замеры производительности должны были проводиться на одном просматриваемом видеопотоке с разрешением 2CIF и частотой кадров 4 FPS. Данные о нагрузке в соответствии с требованием SureView замерялись утилитой Average CPU Cycles. Это требование связано с тем, что код плагина выполняется на серверах SureView и не должен оказывать излишней нагрузки на систему.
- Отладка работоспособности плагина производилась с использованием территориально удаленных камер, что вызывало некоторую задержку в обработке команд управления поворотными устройствами и приеме видеопотоков.
- Для приема сообщений о тревожных событиях сервис SureView использует SMTP-сервер, но программа тестирования плагина интеграции, идущая в составе SDK SureView, такой функции не имеет. Поэтому для тестирования в разработанный сервис отправки тревожных уведомлений потребовалось добавить функционал сохранения тела email-сообщений на жесткий диск (вместо отправки по протоколу SMTP) и вручную копировать содержимое email-уведомлений в программу тестирования SureView для последующей проверки корректности декодирования поступившего сообщения.