Допустим есть компания «Taburetki inc.». Производит (кто бы мог подумать?!) табуретки. Есть у нее завод и склад в пригороде, офисное здание в центре и лесопилка глубоко в тайге. Компанию беспокоит своя безопасность, директору интересно, работают люди на лесопилке, или, пока его нет, шашлыки жарят. Очень хотелось бы контролить все объекты видеонаблюдением.
Поскольку компания распределенная, служба безопасности одна, а директор на островах под пальмой с планшетом лежит часто ездит в командировки, видео нужно передавать через интернет. Если на заводе выделенная линия, и 5-10 каналов по ней как-то стримить в интернет можно, то на лесопилке вообще 3g-модем стоит. Оттуда и один поток передать невозможно.
Давайте разберемся, как этой компании можно помочь…
1. Используем облачный cервер
Большинство IP-камер позволяют забирать видео по протоколу RTSP. Однако подключиться извне к камере на объекте довольно сложно, поскольку для этого нужно заводить объекту статический адрес и пробрасывать порты камеры через NAT. Мы используем локальный сервер, который забирает видео с камер и сам подключается к облаку. Такая схема работает в любой сети.
2. Передаем видео только по запросу
Устанавливаем на объектах локальные сервера, которые пишут все видео в архив. В интернет они выдают только то, что было запрошено.
3. Используем видеоаналитику
Если бы охранник сидел за пультом и смотрел видео со всех 40 камер, уже минут через 15 работы он бы устал, заскучал и потерял бдительность. В случае с «Taburetki inc.», мы технически не можем передать все видео даже для самого бдительного охранника.
Обрабатывать видео нужно локально с помощью видеоаналитики. На выходе видеоаналитика выдает события типа:
- Движение в зоне «Задний двор склада»
- Объект пересек синнальную линию «Забор завода»
- Пожар в поле зрения камеры «Лесопилка»
- Затемнена камера «Сейф в офисе»
Охраннику приходит сообщение и картинка на Web-интерфейс, директору — на планшет. И тот, и другой бросаются смотреть видео, если им интересно.
4. Уменьшаем битрейт видео до ширины канала
Многие камеры и решения позволяют передавать видео с камер в облако по RTSP. Однако, если канал – 4 Mbit, а видеопоток – 5 Mbit, по RTSP видео не будет. Ни хорошего, ни плохого. Можно настроить камеру, чтобы она выдавала не больше, чем 3.5 Мbit, однако обрывы связи все равно будут регулярно случаться, поскольку канал в большинстве случаев используется не только для видеонаблюдения и периодически проседает.
Мы передаем видео, динамически снижая битрейт с потерей качества при необходимости. При этом делаем это два раза: когда видео передается в облако – оно ужимается до битрейта канала объект->облако, а когда стримится клиетну – до битрейта облако->клиент.
При этом нужно помнить, что не все видео стоит сжимать. Если человек смотрит живое видео, то его нужно ужать, но показать вовремя, а если просматривает важное событие в архиве – то лучше заставить пользователя подождать, но показать видео в лучшем качестве.
5. Скачиваем видео заранее
Облачный сервер можно настроить так, чтобы он автоматически скачивал видео для тех отрезков времени, на которых обнаружено событие. Например, канал до лесопилки может в принципе не позволять передавать видео в реальном масштабе времени, однако если настроить видеоаналитику, чтобы она генерировала события при пересечении линии ворот, облачный сервер скачает эти отрезки автоматически. А вечером директор без задержек посмотрит, во сколько на самом деле заехала машина с лесом, и во сколько выехала машина с досками. А так же в каких интервалах было движение на курилке.
6. Ранжируем видео
Не все потоки одинаково приоритетны. Для человека, который смотрит живое видео мы выделим больше полосы, чем для того, кто смотрит архив. Автоматически скачивать видео по событиям от видеоаналитики будем только если линия простаивает.
А самый большой приоритет – у пользователей со статусом VIP. Если директор подключился, когда охранник смотрел видео, тормозить видео будет у охранника.
7. Интегрируемся в бизнес-процесс
У каждой компании – свои проблемы и свои потребности. Например, для одной крупной логистической компании мы «съинтегрировались» со сканерами штрихкодов в сортировочном центре. Если посылка до вас не доехала, можно быстро найти в видеоархиве тот момент, когда штрих-код был просканирован, выбрать камеры, под которыми было движение, и посмотреть, куда кладовщик Вася понес пакет с вашим iPhone.
Вот так Большой видеоаналитический брат следит за тем, чтобы ни одна табуретка не пропала и была изготовлена как надо.
Автор: hlamer