Видеонаблюдение/видеоконференции: IP/WEB камеры, видео-контроллеры, RTSP viewer, запись видео с экрана, BigBlueButton, dante, smpte 2110, teamspeak

  • Частый вопрос – организация доступа к камерам без внешнего IP у роутера, за которым находятся камеры, решения в порядке моего приоритета:
    • VPN на шлюз с внешним сервером IP и маршрутизация внутри VPN – безопасно и достаточно просто при наличии внешнего VPN сервера
    • Облачный или не совсем контроллер (DVR) – cloud access ivideon, unify или другой, зачастую за $
    • DYNDNS (при необходимости с пробросом портов для нескольких камер)
    • Все таки покупка внешнего IP. Белый IP – самый простой способ доступа из любого места, хоть далеко не всегда осуществим и безопасен.
    • TeamViewer/AmyAdmin/etc на комп в сети камеры
  • Teamspeak для аудио-конференций/подкастов до сих пор рабочий и зачастую стабильнее работает более современных решений (опыт linkmeup, пробовали zoom, вопрос пробовали ли discord)
  • Корректная ссылка MJPEG должна открывать видео в браузере Chrome, а ссылка RTSP (в том числе с аутентификацией) должна открываться в плеере VLC (http://videolan.org)
  • В уличных камерах подключение патч-корда идет внутри камеры (так же как в уличных Wi-Fi).

  • Магазины:
    • pleer.ru – тут есть IP камеры и проводные и беспроводные
    • NAG – разные камеры от 5 до 50к
  • Записать видео с экрана сейчас крайне просто и для этого сущетвует множество методов:
    • PowerPoint можно использовать для записи видео с экрана. Работает огонь. Можно даже осуществлять базовый монтаж видео (напр. обрезать начало/завершение встречи).
    • В win10 при поддержке видеокартой можно использовать функционал “захват/capture” из раздела xbox.
    • Множество сторонних утилит, хорошо себя зарекомендовала OBS studio (кросс-платформенная opensource), намного более гибкий софт в сравнении с PowerPoint записью с экрана – напр. в плане настройки разных источников (capture screen & capture audio in & capture audio out).

 

Аудио кодеки

high res (HD audio) считается 24 бит / 48 кГц


Важность частоты дискретизации и глубины кодирования для звука.

 

 

профессиональные аудио-видео-конференции / шоубизнес / свет-аудио-видео
  • Данный раздел в основном использует информацию из linkmeup подкаста о сетях в шоу-бизнесе (спикер – Виктор Шопин)
  • об этом же Network: устройства компании First mile technologies
  • Бренды
    • Оч Дорогой Crestron (аудио-видео конференции)
    • AMX
    • kramer
    • Aten
  • Примеры объектов: небольшая переговорная комната, большая/универсальная переговорка (инет/объединение экранов), небольшой активый зал, концертный зал, конференции, форумы, ситуационные центры, стадионы и крупные парки, добавление телематики с медиа-фасадами: в простом случае умный ТВ с запущенным плейлистом типа VLC, в сложном серьезные/дорогие интеграции разных систем типа тематического парка ВДНХ/рекламой и проч, могут использоваться игровые движки типо unreal напрямую или через систему типо сферы, которая позволяет замиксовать контент/тени из игрового движка с нужной тематикой! В таких случаях зачастую пишется код на c++/python.
  • Видео контент на большой диагонали обычно реализуется или проектарами или диодными экранами
  • В освещении/свете обычный диодовый прибор может стоить 300к, диодовый по спектру похожий на лампы накаливания 1-1.5кк, сами лампы накаливания видимо еще дороже
  • Пример переговорки: экраны 5-8 по периметру, экраны в столах, beam forming в микрофонах (подстройка микрофонов под ходящего человека, который вещает), простота включения «по одной кнопке». Обычно такие запросы закрываются набором решений одного вендора в связке между собой.
  • Заказчики разные, нужно отталкиваться всегда от их запросов/задач и согласовывать что делать/как делать – кому то нужен функционал, кому то стоимость, причем тем кому стоимость, может история быть не в наименьшей, а наоборот «самое лухари хочу». Если заказчик не знает что ему надо – надо помочь ему понять что требуется. При этом что-то может быть явно не прописано в требованиях, на уровне «подразумевается», что приводит к тому что совсем левых людей (чистых айтишн ков) на серьезное без присмотра не пускают – подразумевается что на конференциях/концертах и тем более стадионах будет реализовано резервирование сетевой инфраструктуры со временем переключения на резерв не более 1с, был кейс когда переключение сделали более 60с на очень крупном объекте – срочно переделывали.
  • Прослеживается в целом в этой индустрии последовательного/постепенного на решения на базе ethernet технологий – есть раньше видео/аудио/свет передавались в своих особых аналоговых интерфейсах, то сейчас зачастую все три передаются через ethernet, несмотря на возможные потери по качеству (при необходимости можно и без потерь даже в случае с видео 🙂 ). Во многих случаях происходит интеграция аналоговых систем с цифровыми и поэтому звуко/видео/свето инженерам сейчас приходится становиться своего рода системными администраторами. Это не говоря про скрипты интеграции (напр. сенсорные экраны/мультимедиа системы), которые может быть необходимо создать и это может стоить больше чем оборудование. Достаточно много движа на работе и результат на лицо – тоже плюс. В целом о автоматизации всего речи точно не идет в этой сфере, проекты часто крайне сложные/интеграционные, хотя и вендоры с решениями типо dante (адресация 169.254.**) стараются упростить реализацию конкретных решений. При этом творцы – звуко/видео/свето режисеры никуда не деваются, инженеры им доставляют сигнал, а они уже с ним «творят» – в создании контента им помогает ИИ (фон/увеличение разрешение/добавление-удаление фигур и проч), в звуке ИИ мало пока.
  • Спроектировать акустически правильно комнату – это тоже большой challenge, людей которые разбираются не так много, вуз всего один
  • С точки зрения тендеров сейчас зачастую заказчик выбирает какой то крупный ИТ интегратор (типа Крок и Ланит), который реализует и ИТ часть и мультимедиа (аудио/видео/свет – переговорка/концерт/стадион/конференция/проч); при этом интегратор может в суб подряд брать специализированную контору под мультимедиа, а может в штате иметь необходимых людей/оборудование в виде своего отдела/департамента. В мультимедиа проектах очень востребован менеджмент с обеих сторон – как со стороны исполнителей (что делать надо), так и со стороны заказчика (согласование  ребований/работ/проверка работ и проч).
  • Импортозамещение есть в шоу-бизнесе
    • Оно есть и началось достаточно давно
      • спроектировать усилитель/усилок для наших мозгов не супер челленж
      • микрофоны прекрасные
      • колонок много
      • физические преобразователи
    • Очень много своего софта, в том числе используемого в телевидении
    • На commodity hardware делается так же много всего
    • Конкурировать с Китаем или даже с условным Микротиком бессмысленно в отраслях, где огромные объемы (которые дистрибьютятся не только в Китае, но и уходят на экспорт; Микротик попросил заказ с предоплатой на партию из 10к девайсов чтобы добавить в свой роутер industrial ethernet разъем), а например конкурировать в узком сегменте с Американцами – без проблем (бронированные кабеля лучше в несколько раз и дешевле в несколько раз)
    • С чипами все плохо – ничего или почти ничего нет, поэтому плохо со сложными устройствами
      • микшерные пульты – классическая обработка звука/видео (используют FPGA)
    • Народ работает достаточно консервативный – зачастую даже цифровые решения ведущих вендоров не используются в пользу аналоговых решений (сумматоры сигналов, ламповые усилители например)
  • Общие совет по организации сети для аудио-видео-света
    • Выделить под них отдельный VLAN, свет например работает поверх multicast и только в одном broadcast домене, аналогично и ряд протоколов аудио/видео. Поэтому для удаленного управления зачастую нужен l2vpn/xconnect/etc.
    • Быть готовым к тому, что большинство протоколов сразу после настройки получателей будут сразу забирать всю им необходимую полосу для работы – аудио Dante 6 mbps на данте-поток, видео Dante AV 700 Mbps на поток. При этом фактически при отсутствии сигнала полоса будет занята передачей 000000.
    • Убрать все ограничения по QoS/Shaping для этого VLAN
    • Делают два пути для трафика (линки в агрегации/дублирование свичей и проч) – основной и резервный со временем переключения не более секунды
    • (Дублируется wifi, multimedia) А бывают и более экзотические, но тоже встречаемые каналы (wifi p2p мосты с направленными антеннами) на 60 ГГц с аргументацией что диапазоны 2,4 ГГц/ 5 ГГц более шумные, например их используют в мультимедиа задачах (использовали для Dante/ndi/проч Mikrotik на 60 ГГц/так же юзали ubi и прокачивали 860 mbps на 2 км в прямой видимости с учетом всех недостатков осадков/туманов и проч). Использовали 60 ГГц именно для какой то более менее серьезной полосы (более 20 mbps) по воздуху, меньше можно и на стандартных 2.4/5. При этом недостаток 60 ГГц это отсутсвие анализаторов спектра на этой частоте и можно получить глушилку ФСО 🙂
    • Полоса Аудио
      • Отдать на этот VLAN 1 Gbps
      • При расчете “на пальцах” удобно использовать калькуляцию 10 Mbps на одно устройство-получателя – для 20 устройств-получателей нужна полоса в 200 Mbps. При заказе у провайдера линка зачастую заказывают с запасом х5 (1 Gbps) т.к. на практики заказываешь 200 Mbps (необходимое), а дают 100 Mbps или меньше.
      • При расчете на калькуляторе нужно посчитать сколько источников + получателей и во сколько Dante потоков (6 mbps) будут упаковываться и перемножить их
    • Полоса Видео
      • Dante AV (кодек JPEG 2000, 4K, 60 GHz) на один девайс получатель нужна полоса 700 mbps (для простоты расчета 1 gbps)
      • Dante AV обычно в переговорке ставится свич с заведением на каждый снимающий видео-девайс по гигабитному линку, в контроллер/бошку судя по всему 10 Gbps
      • SDI по IP , SMPTE 2110 – потенциальное будущее, кто-то уже использует для телевиденья/телевещания (broadcast по IP) по отдельным полосам. За очень много денег осуществляется передача потоков видео с очень высоким качеством, 1 поток/stream 4k с одной камеры с использованием SMPTE 2110 занимает 10.4 Gbps!
      •       SMPTE 2110 может так же деплоится и в других очень крупных проектах – в парках/музеях
      •       Если SMPTE 2110 деплоится в студии/съемочной площадке все коммутаторы автоматически должны быть с аплинками 100 gbps и это огромные объемы – на одной площадке может работать до 32 камер одновременно (шоу) = 3.2 tbps! А если это еще умножить на десяток съемочных площадках в одной локации… сейчас на съемочных площадках от камеры до монтажки идет толстенный/дорогущий (лем/canare) кабель в каждую камеру по которому сразу идут и данные по оптике и питание для камеры (hybrid optic camera cable). Но новые студии ТВ каналов проектируются именно с 2110 – от чистого аналога идет планомерный отказ, и сейчас уже юзаетсч в основном не аналог (как понимаю SDI).

Dante (audinate.com)
  • Современные ВКС зачастую делаются с использованием протокола Dante
  • Dante Audio
    • Данте потоки передаются по unicast, в одном Данте потоке инкапсулированы до 4 аудио каналов (несжатые), один Данте поток = 6 mbps; при выделении полосы под все данте потоки (с инкапсулированными аудио-потоками) проблемы не ожидаются, расчет полосы правильно делать именно от dante потоков, а не от аудио-каналов/потоков. Если есть bottleneck в сети, возможно потребутся настройка QoS под этот трафик. Подробнее про расчет ниже.
    • (дублируется в видео-аудио и PTP 1588) Dante аудио синхросигналы по времени (ptp 1588) передаются мультикастом, поэтому мультикаст должен проходить (возможны проблемы с настройками igmp, прошивками, ACL, у каких то вендоров есть необходимость отключения *stp и проч), при этом передается немного – всего 4 пакета в секунду. Есть коммутаторы, которые генерируют Clock сигнал, но это достаточно нишевая история (объемы продаж глобально = тысячи).
How does Dante clocking work?
Dante devices each contain a very high quality VCXO clock, and are synchronized with one another over the network using the IEEE 1588 Precision Time Protocol (PTP). One device is elected as the Leader Clock to which other devices are synchronized. By default this selection takes place automatically, with no need to manually assign a Leader Clock.
  • Dante AV
    • новая, достаточно дорогая и дефицитная технология
    • в сравнении с аудио Dante используется значительно реже: звуковой Danta появился раньше и там есть софтовые решения (Linux в том числе)
    • используется особенно часто для корпоративного ВКС
    • применяется чаще всего внутри переговорки/конференции (т.е. локально) – от устройства камеры с захватом видео до некоторого контроллера/бошки, а уже от контроллера в интернет идут стандартные видео потоки ВКС, сжатые стандартными кодеками (есть и стандартные и вендорские типо Polycom, TrueConf); это применение будет увеличиваться (прогноз) т.к. заявляется задержка захвата сигнала с камеры + кодирование сигнала кодеком + отдача на интерфейс = 8 мс для лучшего чипа Dante AV, что в свою очередь позволяет обеспечить практически полную синхронизацию аудио и видео потоков

 

 

html5/webrtc/bigbluebutton

bigbluebutton – opensource решение для видеоконференций, достаточно легко можно интегрировать в свой код проекта (вместо написания «своей» конференции) и реализовать ВКС в Web. Поднимается обычно на отдельном сервере, используется даже крупными компаниями – использовал как клиент на практике в крупном универе в Сибире, из недостатка были глюки с видео/аудио пробросом, решилось подключением с телефона.

 

RTSP viewer (vlc, ffplay)

При просмотре потока в vlc может фиксироваться 1-3 секундная задержка, при том что со временем (через несколько минут) она может вырасти до 10 секунд. Решается настройкой rtsp network-caching в 0ms. В целом опция network-caching нужна при нестабильной связи между камерой и viewer/dvr и если источник и приемник находятся в одной локальной сети, считаю, бесполезна.

GUI

CLI

Так же добавляем опции:

  • –repeat – по рестарту потока в случае проблем со связностью между viewer и камерой, иначе нужно перезапускать руками.
  • –no-qt-error-dialogs – по silent ошибкам из-за проблем с подключении, иначе нужно их закрывать руками.
vlc --network-caching=0 --repeat --no-qt-error-dialogs rtsp://192.168.1.5:554/s2

В мобильном приложении vlc

Опция называется “Network caching level”. Вставляем “Lowest Latency”.

Так же можно использовать ffplay с отключенной буфферизацией, но он больше потребляет ресурсы CPU (~ до +10 градусов на rpi4). Запускается из командной строки (или можно сделать скрипт).

ffplay -fflags nobuffer rtsp://192.168.1.2:554/s2
контроллеры

В контроллерах обычно можно настроить когда писать поток:

    • всегда
    • никогда (только для online просмотре)
    • по движению (по умолчанию). Причем в грамотных DVR (например, Unifi video) в запись по движению попадает пара сек до движения и продолжается до конца движения + пара сек – т.е. пока какое-то время статической картинки не будет, запись продолжается. В результате один файл с движением может быть и 10 сек и 1 мин – круто. зачастую можно регурировать
      • чувствительность срабатывания – обычно по умолчанию ок, но иногда реагирует слишком чувствительно или наоборот (шелест листвы приводит к триггеру)
      • область – исключить, например, дорогу, попадающую в камеру, но ненужную
    • всегда в отдельную папку + движения в отдельную
    • по звуку (порог выставляется)

 

ivideon

Очень популярный и удобный контроллер. Функциональность зачастую менее широкая в сравнении с iSPY, но этот минус закрывают:

  • бесплатный online доступ из интернета (Cloud access + сохранение первых 10 сек. видео 24 часа)
  • Notifications (новое видео, отключение камеры, etc)
  • Mobile app

 

iSPY

Более функционален в сравнении с Ivideon, так же меньше нагружал камеру (при загрузке задержки/фризы) при получении одинакового rtsp потока (beward, genious) и пишет видео не в своем “особом” формате, как это делает Ivideon или Unify Ubi.

Cloud access + Notifications (mail, twitter, sms, etc) isyconnect есть только за платную подписку в 5-10$ в месяц и мобильного приложения нет (хуже в этом плане ivideon). По факту cloud access можно реализовать VPN и большой маской на камере.

cloud
http://www.ispyconnect.com/monitor/app/files
http://www.ispyconnect.com/monitor/app/livestills

Бесплатно можно им пользоваться если смотреть видео из одной сети. Но стоит поменять IP адрес мобильного устройства, т. е. войти в интернет не через тот роутер к которому привязана камера, как вас аккуратно посылают на страницу оплаты. Зато все настройки с записью и хранением видеофайлов на сервере работаю и в бесплатном режиме.

Добавление камеры с video/audio stream простейшая:

  1. ADD – MPEG URL – вводишь URL http://192.168.1.80:8080/video – выставляешь чуть больше чувствительность записи по движению (ставил 15) – выбираешь папку – done!
  2. Для записи audio-потока нажимаешь по созданному видеопотоку, выбираешь Edit, далее Microphone -> NEw -> WAV stream -> http://192.168.1.80:8080/audio.wav.
Beward

BEWARD IP Installer – программулина для настройки BEWARD камер. Что-то вроде Netility. Через промежуточное оборудование (свич) может не находить девайсы. Для настройки через тулзу нужно иметь IP из той же подсети, что и камера.

BEWARD Record Center – программулина для записи видео с BEWARD камер. При расчете места при настройках качества с камеры Beward N6601 by default под записи нужно примерно считать, что 1 час  ~ один 1гб (по факту чуть меньше – 5 часов 3,5 гб). Настройки DVR простейшие – создаешь группу, добавляешь в группу камеру по IP, создаешь папку для записей и добавляешь ее к группе – все!

 

Камеры
ubiquiti
AirCam

Комплект:

  • Камера
  • Крепление + шурупы
  • PoE инжектор + кабель питания
  • Диск + брошура
  • Нет ИК подсветки (покупал с блоком питания дополнительно за 1.5к рублей). С внешним ИК прожектором и без – ИК явно нужен если темно:

  • Камеры Ubiquiti AirCam часто идут с не настроенной линзой, что может сказаться на качестве изображения. После установки следует настроить резкость самостоятельно.
  • У ubi камеры измененный DHCP клиент. По умолчанию включен DHCP на интерфейсе, но если она не получает IP – назначается 192.168.1.20 (DHCP Fallback IP).
  • На камеру можно зайти по SSH (урезанный lunux в виде busybox v1.18.4).
BusyBox v1.18.4 (2013-06-09 00:59:08 EEST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
AirCam.v1.2# ?
  • После апдейта камеры пароль поменялся на WEB, хотя у меня был по умолчанию, но не сменился, как ни странно, на SSH. Подключился и командой passwd сменил пароль на дефолтный – косяк.
FIRMWARE UPDATE
Current Firmware Version:     AirCam.v1.2
Uploaded Firmware Version:     AirCam.v3.1.4.39.7e
  • При установке софтового контроллера для управления камерой AirCam выяснил, что старый контроллер AirVision уже не поддерживается, а новый Ubiquity Unified Video нужно ставить не самой последней версии (на момент проблемы 3.2.х), а предпоследней (3.1.x) т.к. из последней версии убрали поддержку старых моделей AirCam!
AV2 is going EOL. UFV3 is a replacement.
Controller test version differs - UFV 3.2.x does not support airCams. 3.1.x is the last version that does.
unifi video camera g3
аппаратно
  • отличные материалы – падала много раз с высоты 1-2 метра на твердое покрытие, все ок
  • все очень хорошо продумано – возможность юстировки на ходу, крепление как на стену/потолок, так и на трубу
  • хорошее качество видео (Full HD)
  • есть микрофон с хорошим звуком
  • встроенный ИК (в отличии от AirCam)
программно
  • контроллер unifi video очень удобный, но имеет недостаток – пишет файлы в своем формате
  • софт стабильным стал не быстро и даже до сих пор (более 3 лет с выхода продукта) имеет баги
    • в софте после года релиза был критичный баг с периодическим зависанием rtsp stream
    • в текущем софте (UVC.v4.22.13.67.669f3ee.200417.0748) есть баг с ntp – timezone не применяется в настройках (в итоге на видео время в UTC 0)
  • легкое использование сторонних контроллеров за счет поддержки RTSP, причем как напрямую, так и через unifi контроллер ubiquiti
https://help.ubnt.com/hc/en-us/articles/221314008-UniFi-Video-How-to-do-RTSP-Directly-from-the-Camera
Rtsp потоки. Ссылки на них можно найти в web интерфейсе управления камерой.
rtsp://192.168.100.37:554/s0 # high definition
rtsp://192.168.100.37:554/s1 # low
rtsp://192.168.100.37:554/s2 # medium
BEWARD

Работал с Beward N6601 и Beward N37210.

  • IP по умолчанию 192.168.0.99, по DHCP могут быть глюки. IP уже настроенной камеры можно узнать используя Wireshark.
  • Beward в WEB просмотре показывает видео через генерацию каждую секунду jpeg картинок).
  • Много потенциально полезных ссылок. Включение MJPEG производится “выключением” RTSP. Само RTSP при этом не выключается, но камера вместо video.3gp начинает отдавать video.mjpg.
http://admin:admin@10.1.1.2/jpg/image.jpg - рабочий в ispy (JPEG URL)
rtsp://admin:admin@10.1.1.2:554/video.3gp - рабочий в VLC
rtsp://admin:admin@10.1.1.2:554/video.mp4 - рабочий в VLC и  ispy (FFMPEG H264, ставишь auto RTSP mode, но со временем может начать сыпаться изображение - лучше юзать mjpg)
rtsp://admin:admin@10.1.1.2:554/video.mjpg - рабочий в VLC
http://admin:admin@10.1.1.2:80/video.mjpg - рабочий ivideon (после отключения RTSP на камере)
http://admin:admin@10.1.1.2:554/video.mjpg - рабочий ivideon (после отключения RTSP на камере)
Китайская IP камера с LAN + WI-FI
Обычно камеры с двумя интерфейсами Wi-Fi переходят на кабель как только получают кабельное подключение. IP и MAC на Wi-Fi/LAN интерфейсах при этом разные. Пример поведения на основе опыта работы с китайским noname.
WEB Genius iSlim 300X

Добавляется в ivideon, из глюков

  • не всегда загружается и может показывать битую (например, зеленую) картинку. Помогает в обоих случаях переподключение к usb.
  • DVR (было на Ivideon) может зависать при подключении камеры к USB 3.0, при этом на USB 2.0 все ок.

 

IP Webcam (android camera)

Делаем из Android телефона камеру с помощью специальной app IP Webcam (не единственная app). Можно захватить поток контроллером, таким как Ivideon.

Куча потенциально полезных URL:

http://www.mforum.ru/phones/tests/101999.htm - IP WEBCAM краткая инструкция.
http://192.168.1.80:8080/ - доступ по WEB на сайт камеры.
http://192.168.1.80:8080/video - адрес для потокового вещания в формате MJPEG.
http://192.168.1.80:8080/wav получает аудиопоток в формате Wav.

С сайта камеры
http://192.168.1.80:8080/shot.jpg получает последний кадр.
http://192.168.1.80:8080/audio.aac получает аудиопоток в формате AAC (если поддерживается телефоном).
http://192.168.1.80:8080/audio.opus получает аудиопоток в формате Opus.
http://192.168.1.80:8080/focus фокусирует камеру.
http://192.168.1.80:8080/nofocus сбрасывает фокус.

 

Cloud Storage

У производителей DVR хранение записей в cloud обычно платно или очень ужато по размеру. Проще всего в настройках –  выбираешь для DVR папку для сохранения dropbox/google drive/etc с максимальным размером который разрешен для сохранения и ротацией. Я так делал папку dropbox для iSpy.

Leave a Reply