Що таке Flussonic Watcher

Якщо у вас в голові вирують ідеї про те, як би зробити історію, в якій буде багато користувачів, багато IP камер і купа профіту з цього, то не проходьте мимо — ми розповімо про те, як ми допомагаємо запускати сервіси масового відеоспостереження на нашому Flussonic Watcher.

Flussonic Watcher це:
готовий програмний комплекс операторського класу, що забезпечує багатокористувацький доступ до відео і архівів з тисяч IP-камер через браузери і мобільні пристрої.

До складу Flussonic Watcher входить:

  1. видеостриминговое ядро — сервер Flussonic;
  2. веб-портал, що надає доступ адміністраторам і користувачам до камер і архівів відео без використання плагінів;
  3. мобільні додатки;
  4. агент на камеру для доступу до неї через NAT без прокидання портів, мирайя і смс;
  5. система інтеграції з зовнішніми биллингами, серверами авторизації;
  6. набір готових бізнес-процесів і тих-регламентів на підготовку і продаж камер для клієнтського відеоспостереження.

Навіщо потрібен Watcher?
Ми розробляли Watcher як відповідь на запити наших клієнтів, так що наш новий комплекс буде корисний в наступних випадках:

  1. створення абонентського сервісу відеоспостереження на базі інтернет-провайдера або OTT, тобто без бази;
  2. рішення для муніципальних камер: безпечний регіон, місто, село тощо;
  3. створення сервісу онлайн-доступу до камер для клієнтів виробника камер;
  4. внутрішньокорпоративний віддалений доступ до камер відеоспостереження з можливістю доступу широкого кола осіб;
  5. аудіо-відеофіксація технологічних процесів на виробництві.


Ми поетапно розповімо про цікаві історії впровадження, а поки розповімо про деталі організації Flussonic Watcher.

Flussonic всередині
Watcher не є новим інструментом для передачі відео: передачею відео займається видеостриминговый сервер Flussonic, на якому багато хто вже запустили свої сервіси, які працюють з IP-камерами.

Flussonic чудово справляється із завданням транспорту відео і вся структура Watcher вибудувана так, що важкий відеотрафік потрапляє тільки на сервери, де стоїть Flussonic. Жодних проксирований крізь балансировщики немає і не потрібно. Причому це працює так навіть для агента на камерах, але про це трохи нижче.

Із приємних особливостей для локальних мереж: ми додали в Flussonic пошук камер по Onvif (і ще шести спец-протоколами) і можна спробувати пошукати всі свої камери.

У Watcher є два режими роботи: «мені тільки спробувати» і «у мене тут все серйозно», тобто режим плагіна і режим сервісу.

У першому випадку весь комплекс з одного Watcher і Flussonic працюють тільки на одному сервері, сам вотчер не зберігає у себе в базі інформацію про потоках і повністю довіряє цю інформацію флюссонику з яким він працює. Особливість цього зручного, хоча й обмеженого варіанту в тому, що можна підправити налаштування потоку в інтерфейсі флюссоника і ці зміни відразу буде видно в вотчере.

У другому випадку на сервері, де працює вотчер, немає ніякого відеотрафіку, там є тільки примірник флюссоника (керуючий сервер), який забезпечує взаємодію з кластером стриминговых флюссоников. У цьому випадку вольності з самостійним редагуванням конфига на стримере не пройдуть: вотчер все це швидко перезапише. Зате можлива автоматична міграція камер з одного сервера на інший.

Користувачі Watcher
До того, як ми зробили Watcher, користувачам доводилося самостійно розробляти веб-сайт (поверх Flussonic'а або іншого відеоядра), на який заходять користувачі, логинятся і бачать камери. Розробка подібного фронтенду — це завжди дорого і пов'язано з великими проблемами з оптимізацією і коректної доставкою відео від медіасервера в браузер або мобільний додаток. Ми багаторазово полегшили завдання своїм клієнтам зробили готове рішення кінцевого користувача поверх Flussonic Media Server.

Watcher — це веб-додаток на пітоні, яке запускається самим флюссоником. Воно може зберігати свої дані в базі даних sqlite, або postgresql. SQLite для того, щоб простіше було спробувати, а postgresql для того, що б можна було повноцінно працювати, в т. ч. розгорнути кластер. Кластерний режим роботи з SQLite працювати не буде, це все таки прямо скажемо, невдала ідея.

Ми постаралися реалізувати необхідний набір функцій, які потрібні для сучасного сервісу онлайн відеоспостереження. Немає тільки відеоаналітікі, але плани почати з нею роботу стоять на початок року 17.

Групи користувачів
Моментально виникає необхідність групування користувачів і камер. У загальному випадку задача угруповання камер, користувачів і розмежування доступу може бути потужною і мати страшенно складне рішення.

Тобто в поганому варіанті можуть існувати деревоподібні групи користувачів, деревоподібні групи камер і якісь цікаві зв'язки між користувачами, камерами, групами користувачів і групами камер.

Все це ми продумали, намалювали маркером на стіні і зробили варіант попроще: камери, групи і користувачі. Велика страшна схема на стіні залишилася, тому що на білу дошку вона не влізла, а політ фантазії було не зупинити, так що буде потрібно — повернемося до монструозному варіанту.

Інтеграція
У дрібного оператора користувачів кілька тисяч. Руками їх вбивати з одного веб-інтерфейсу в інший дуже цікаво, але ми ж не банк, що б так знущатися над нашими клієнтами.

У нас є механізм інтеграції з білінгом, зовнішніми базами користувачів і т. п. і він виглядає дуже зручно: невигадливий IDL з якого можна згенерувати CORBA стаби для доступу через OLE.

Не переживайте, все набагато простіше: дві адреси в які можна курлом залити CSV зі списком користувачів і списком камер.

У деяких випадках камери можуть зберігатися в операторському біллінгу як одиниці складського обліку і там же може зберігатися прив'язка до користувачів. Частіше нам, правда, зустрічається ситуація, коли нам чітко дають зрозуміти: операторський біллінг настільки гнучкий і модифікується, що ми можемо лише за логіном забрати баланс і зробити списання.

Для цих випадків ми вже робимо власну систему тарифікації і скоро зможемо їй порадувати.

Брендування
Якщо ви збираєтеся запускати сервіс для людей з вулиці, то вам, звичайно, потрібно ваше лого у верхньому лівому кутку.

В Watcher можливо поміняти ряд елементів інтерфейсу, що б весь сайт виглядав як ваш.

Ми навіть можемо дати вам можливість додати логотип мобільні додатки. До речі, про мобільних додатках: ми їх теж зробили і виклали.

Мобільні додатки
Мобільні додатки для Android і iOS ми виклали під ім'ям peeklio (це кодова назва нашого хостингу для IP камер). Ними можна скористатися з вашої власної інсталяцією Watcher.

Вони зроблені з допомогою React Native (такий яваскрипт, але без веб-браузера), так що зможемо поділитися захоплюючим досвідом роботи з цією технологією.

Перегляд відео з камер, доступ до архіву, уподобань і т. п. — це вже є і можна користуватися.

Однак для повного щастя і закінченості OTT сервісу не вистачає вишеньки на торт: можливості повісити камеру на стінку, включити і відразу побачити відео на мобілці. Про це ми теж подумали і зробили агента для встановлення на камеру.

Агент на камері
І у нас є рішення для такого завдання. Ми написали і навчилися заливати агента на камеру. Цей агент виходить в інтернет, підключається до вашого Watcher і потім підключається безпосередньо до Flussonic.

Наш спосіб забирати відео з камери краще ніж OpenVPN, тому що не створює ніяких віртуальних інтерфейсів, не вимагає подвоєння парку заліза. Наш агент зовсім невеликий: 200 кілобайт, так що влізе на будь-яку камеру з лінуксом, вміє шифрувати відео, а заодно
чудово поліпшує якість доставки: там де OpenVPN картинка буде сипатися, з нашим агентом все буде краще.

Продовження банкету
У найближчих статтях ми постараємося розповісти вам про те, які ми придумали процеси підготовки камер, які можуть бути процедури продажу цих камер, їх обліку.

Так само поділимося планами на майбутнє і будемо раді будь зворотного зв'язку. Спробувати Flussonic Watcher можна вже сьогодні, взявши у нас тріал: http://erlyvideo.ru/watcher

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.