Viinex | функціональність
- отримання відео
- Відеоархів
- Потокове мовлення відео
- експорт відео
- Управління PTZ камерами
- Зовнішнє управління записом
- Отримання подій і правила для управління записом
Viinex 2.0 надає найбільш істотну функціональність для роботи з відео. Використовуючи Viinex, ви можете легко додати ці можливості в ваше програмне додаток.
отримання відео
Viinex 2.0 підтримує можливість отримання відео від IP-камер і IP-відеокодеров, які реалізують протоколи RTSP + RTP і відеокодек H.264. Для доступу до таких пристроїв Viinex підтримує методи аутентифікації "Basic" і "Digest", передбачені специфікацією RTSP. Для протоколу передачі даних - RTP - в Viinex доступні його реалізації поверх UDP unicast, UDP multicast, а також TCP (RTP over RTSP, interleaved mode). Viinex 2.0 можна налаштувати на роботу з RTSP-джерелом відео з відомим URL, - таким як, наприклад, синтетичний джерело відео на кшталт потокового сервера VLC. Для роботи з відеокамерами можна як поставити RTSP URL камери вручну, так і дозволити Viinex автоматично з'ясувати даний URL по протоколу ONVIF.
Відеоархів
Viinex 2.0 записує відеодані, отримані від камер, в папку на файлової системі, змонтованої на сервері, де Viinex працює. Це можеть бути або файлова система на локальному носії, або змонтована виділена файлова система на NAS, або локальна файлова система на віддаленому сховище iSCSI SAN.
Viinex 2.0 автоматично дотримується набір заданих йому обмежень на сховище відео. Ці обмеження можуть визначати максимальний розмір сховища - або в термінах дискового простору, або в термінах часу (тривалості) збережених записів. При заданому наборі обмежень, Viinex перезаписує найбільш старі відеозаписи найбільш новими, - точно так само як і будь-яка система відеоспостереження.
Відео дані зберігаються в контейнерах стандартного формату MP4, і можуть бути переглянуті загальнодоступними засобами, такими як Windows Media Player, iTunes, і т.п. Структура директорій, яка створюється для зберігання окремих записів, прозора й очевидна, тому при необхідності користувач може переглядати і навіть змінювати структуру даних, що зберігаються (робити з неї витримки, або об'єднувати фрагменти архіву), - простим копіюванням папок і директорій. Зрозуміло, якщо така активність небажана в конкретному оточенні, - її можна заборонити, обмеживши доступ користувачів до кореневої папці відеоархіву за рахунок установки ACL або POSIX-режиму доступу.
Потокове мовлення відео
Потокове мовлення живого або архівного відео клієнтам здійснюється по протоколу HLS. Абревіатура HLS означає HTTP Live Streaming, тобто транспортним протоколом для доставки відео є в цьому випадку HTTP. Як наслідок, така система доставки даних добре працює в Internet, навіть в присутності з боку клієнта NAT, брандмауерів, що обмежують трафік по портам, і т.п.
Використання HLS дозволяє програвати потокове відео від Viinex 2.0 в браузерах Apple Safari (в тому числі на iOS) і Microsoft Edge - нативної, без додаткових компонентів. У браузерах Google Chrome і Mozilla Firefox підтримується частина HTML5 специфікації, звана Media Streaming Extensions (MSE), що робить можливим відтворення в них HLS-відеопотоку також нативної, за рахунок виконання коду на Javascript, - наприклад, одним з готових плеєрів, таким як hls .js. Отже, для програвання відео потоку, роздається Viinex 2.0, потрібно лише ввести відповідний URL в адресному рядку браузера, або в javascript-коді направити на цей URL наявний на веб-сторінці тег <video>. Якщо стоїть завдання відтворення відео в нативному клієнтському додатку ( "rich client application"), - одним з рішень є впровадження в нього компонента з браузером, який буде направлений на потрібний URL.
У Viinex 2.0 також реалізований RTSP сервер для мовлення відео на традиційні RTSP-клієнти. Він підтримує RTP з транспортом UDP unicast, multicast і TCP, реалізує digest-аутентифікацію, що робить Viinex зручним RTSP проксі до джерел відео. Звичайно, RTSP-клієнт Viinex 2.0 сумісний з його ж RTSP-сервером. Це дозволяє передавати відеопотік від одного примірника Viinex 2.0 на інші екземпляри, які, в свою чергу, можуть роздавати отримані дані по протоколу RTSP або по HLS. Тим самим, з Viinex 2.0 стає можливим масштабування мовлення відеоданих від одного джерела до необмеженого числа віддалених клієнтів.
експорт відео
Процедура експорту відеофрагменту, здійснювана з Viinex 2.0, так само проста, як скачування файлу при наявності web-посилання. Клієнтський код вирішує, за який часовий інтервал потрібно запросити відео, і по якій камері, - і здійснює один HTTP запит. Експортовані дані клієнт отримує в тілі HTTP відповіді.
Як вихідних форматів для експорту відео Viinex 2.0 підтримує контейнери MP4 і MPEG TS. Таким чином, скачуваний файл відразу може бути переглянутий стандартними плеєрами, вбудованими в ОС, - навіть на Windows 7 більш ніж 10-річної давності. Для відтворення відео, експортованого з допомогою Viinex, не потрібно встановлювати сторонні плеєри, кодек-паки або що-небудь ще.
Управління PTZ камерами
Viinex дозволяє управляти поворотними камерами з використанням простої команди на управління одним рядком HTTP запиту. Viinex 2.0 включає запити для:
Viinex 2.0 не зберігає стану, пов'язаного з PTZ пристроєм, і не виконує додаткових перевірок аргументів при їх передачі пристрою. Найбільш складний виклик PTZ API в Viinex приймає всього три аргументи - значення для координат pan, tilt і zoom.
Зовнішнє управління записом
Для додатків, що використовують Viinex 2.0, доступний програмний інтерфейс, який дозволяє цим програмам вирішувати, коли слід починати і зупиняти запис відео в архів. Для зручності, один віддалений виклик (HTTP запит) може бути використаний для того щоб почати або зупинити запис для заздалегідь сформованої групи камер. У Viinex підтримується буфер предзапісі, так само як і таймаут для постзапісі.
Отримання подій і правила для управління записом
Viinex 2.0 містить базові відеодетектори . Крім цього Viinex 2.0 використовує описаний в специфікації ONVIF механізм передплати, який дозволяє отримувати події безпосередньо від IP камер. Це дозволяє вирішити два завдання: 1) отримання подій від камер в клієнтському додатку в реальному часі, через інтерфейс web sockets, і 2) завдання в Viinex правил для автоматичного включення і виключення запису відео, коли виникає "тривожне" подія. Як і в разі зовнішнього керування записом, ці правила керують групами камер, і це спрощує настройку Viinex в типових сценаріях.