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

Для Web

Web-приложения имеют огромное преимущество перед нативными приложениями (rich client applications) в том, что первые значительно проще в развертывании. При запуске веб-приложения обычно нет строгих требований к окружению на клиентских рабочих местах, таких как конкретная версия Windows или .NET, наличие расширений OpenGL, и т.д. Сказанное относится и к обновлениям веб-приложений: после обновления сервера, все клиенты автоматически получают новую версию пользовательского интерфейса. Наконец, с веб-приложением вы автоматически получаете возможность использовать его через Интернет, чаще всего не беспокоясь о маршрутизации, перенаправлении портов и прочих хрупких обстоятельствах, зависящих от окружения, за которыми нужно отдельно следить в случае нативных приложений.

Стоит упомянуть также половинчатые решения для Web, задействющие для передачи мультимедийной информации протоколы RTMP, RTSP или другие (кроме HTTP), которые для работы в браузере полагаются на Flash или ActiveX-плагины. Такие решения, по опыту, в эксплуатации создают проблемы на всевозможных краевых случаях (вспомнить только брандмауэры, ограничивающие порты, совместимость с браузерами, надежность решения при неустойчивой связи), а в развертывании требуют дополнительных настроек окружения (перенаправление портов, трансляция адресов). Если же, вдобавок, – из-за бизнес-требований - видеоданные понадобились не только в браузере, но и в нативном приложении, - используемые сетевые протоколы придется поддержать также в этом приложении, в дополнение к HTTP.

Viinex 2.0 разработан с учетом следующего критерия: вся функциональность, реализуемая Viinex, должна быть доступна для использования веб-клиентом, написанном на Javascript и работающем в современном браузере, - без другого дополнительного ПО. Мы предполагаем, что если веб-клиент может использовать некую функциональность, то и нативный клиент также сможет ее использовать. Этот критерий выполнен: получение данных, статистики, передача команд и событий, а также видеопотоков, доступно в Viinex 2.0 через программный интерфейс, основанный на обмене между клиентом и сервером по протоколу HTTP документами в формате JSON, - удаленными вызовами в REST-стиле, без поддержки сервером клиентского состояния. Тем самым, веб-клиент, как и мобильные приложения для Viinex 2.0, могут быть разработаны в «естественной» идиоматике используемого frontend-разработчиками окружения, без необходимости в дополнительных приемах, таких как вспомогательные плагины, Flash, ActiveX и т.п. Для взаимодействия с Viinex 2.0 клиентскому ПО не требуется использовать никаких сетевых протоколов кроме HTTP.

Поддержка разнородного оборудования для IP видеонаблюдения

Viinex 2.0 позволяет использовать практически любые IP камеры и видеокодеры с вашим ПО. Это обеспечивается реализацией в Viinex стандартов ONVIF и RTSP, а также тем, что в настоящий момент почти невозможно найти оборудование, которое игнорировало бы эти стандарты. Более того, компания Viinex заинтересована в обеспечении совместимости с разнородным оборудованием для видеонаблюдения, и предоставляет поддержку при использовании новых или ранее не испытанных моделей камер, если это требуется в вашем проекте.

Несколько видеоархивов

Видеозаписи хранятся Viinex 2.0 в контейнерах, формат которых описан в стандарте ISO 14469-12, и известен также как формат MP4. Эти записи могут быть просмотрены посредством традиционных общедоступных программ, таких как Windows Media Player, QuickTime, и т.д. Структура папок, в которой хранятся видеоданные, тривиальна (названия подпапок привязаны к времени получения видео), так что пользователь может проверить наличие данных и даже манипулировать ими вручную (делать выдержки из данных или объединять части архивов) – путем простого копирования файлов и директорий.

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

Поддержка встроенных в IP-камеры видеодетекторов

Спецификация ONVIF унифицирует протокол для получения пользовательскими приложениями событий от оборудования для IP-видеонаблюдения, в частности, от встроенных видеодетекторов, таких как детектор движения. Использование встроенных в камеры видеодетекторов является предпочтительным по сравнению с реализацией соответствующей аналитики на PC по ряду причин, из которых самой значимой является производительность. К примеру, детектор движения сам по себе не требует существенных вычислительных ресурсов (он может эффективно работать на чрезмерно уменьшенных кадрах, вплоть до 80х60, и частоту кадров для него можно ограничить до 1 кадра в секунду), однако когда речь идет о видео, полученного от IP-камеры, - для его обработки требуется декодировать поток H.264, - а это невозможно сделать лишь частично, ни в пространственном, ни во временном измерении (если только при кодировании не был использован SVC профиль). Поэтому если камера выдает 4-мегапиксельное видео с частотой 25 кадров в секунду, - весь этот несжатый поток придется в конечном итоге пропустить через центральный процессор только для того чтобы на PC обнаружить движение в кадре. Такой подход значительно снижает предельное число видеоканалов, которые могут быть обработаны на одном компьютере.

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

Безопасность

Безопасности уделяется существенное внимание в Viinex 2.0. Это ПО имеет минимальный возможный «периметр» - единственный открытый HTTP порт на каждый работающий экземпляр, - на котором работает описанный лаконичный программный интерфейс. Все вызовы программного интерфейса требуют аутентификации вызывающей стороны. Viinex 2.0 не реализует TLS самостоятельно, но его трафик может быть проведен через обратный прокси, реализующий TLS на входе серверной части всего приложения.