5 апреля

Дневники Vmx Разработчика. Как оценить количество посетителей на катке

И снова здравствуйте, друзья! За окном понемногу теплеет, солнца становится всё больше. Скоро Москва сбросит последний снег, но кое-что с зимы у нас ещё осталось… Мы уже рассказывали вам о жестких испытаниях на прочность нашей системы подсчёта людей, основанной на продукте Vmx SILA. Зима, много людей, сложные метеоусловия — идеально. Но не сказали главного.

Панорамная трансляция Главного Катка Москвы — наших рук дело. И не зря мы упоминали трекинг людей — именно наша система собирала информацию, которая появлялась на сайте ВДНХ, о проценте детей среди посетителей, о падениях и столкновениях. Поздравляем всех гонщиков и обладателей ачивок “Упал-отжался”! Не переживайте, мы приглядывали за вашей безопасностью.

Что же — к делу: в сегодняшнем выпуску мы расскажем о том, как организовать уличный стрим панорамной картинки высокого разрешения напрямую в YouTube с применением нейросетевого анализа, используя лишь фонарный столб, камеру (и изоленту — зачеркнуто), как суметь отличить человека от елки (Елизавета Вальдемаровна, это просто шутка такая) и что нужно сделать, чтобы посетить каток, не посещая каток. Погнали!

Профессиональный уровень потоковой передачи

Каток на ВДНХ стал одним из немногих наших проектов непромышленного направления. Кроме того, мы впервые организовали коллаборацию наших инструментов с GStreamer, достаточно мощным фреймворком для разработки мультимедийных приложений, использующий идеи «video pipeline» от Oregon Graduate Institute.

Большого секрета в процессе обработки и передачи потока на видеохостинг нет. Но наш стрим несколько отличается от привычных многим потоков на известных хостингах. Мы стримили видео с разрешением 4К, подвергнутое нейросетевой обработке и пригодное для просмотра через VR-очки или шлем. Возможность почувствовать себя внутри высокотехнологичного костюма, контролирующего ситуацию вокруг — здорово, да?

Теперь немного об организации такого потока. Мы получаем кадры с камеры напрямую в программный декодер, который, обработав поток, размещает его в общей области памяти на сервере. VAnalizer забирает поток на обработку, в ходе которой отмечает и присваивает идентификаторы обнаруженным людям. После этого поток с помощью GStreamer кодируется и по протоколу RTMP направляется на видеохостинг.

Звучит просто, а если изображение панорамное? Ответ: наш VAnalizer, получив картинку с огромной дисперсией по краям, сам её разворачивал, обрабатывал, сворачивал и направлял в GStreamer. Возможность же просмотра видео в режиме 3D — часть функциональных возможностей самого YouTube.

К этому решению мы пришли не сразу. На ранних этапах работы мы пробовали использовать OBS, который захватывал окно VAnalizer и транслировал поток так, как стримят многие контентмейкеры. При этом OBS, работая с 4К-видео, отбирал львиную долю ресурсов наших систем. Тогда мы перешли к разработке и внедрению решения, основанного на GStreamer. Используя этот мультимедийный фреймворк с элементами собственного производства, мы значительно снизили нагрузку на наши системы и теперь можем использовать любой наш модуль обработки потока, накладывая любые слои на любой видеоряд в режиме реального времени. Количество модулей, как и слоев, также можно изменять on-air. Такими темпами скоро дойдём до профессиональных решений в медиасфере: не удивляйтесь, если однажды увидите наше лого в очередном видео на любимом канале.

Отлично, мы знаем, как получить картинку, как обработать и как передать ее на хостинг. В случае с загрузкой готового видео проблем бы не возникло, но у нас стрим 4К-видео с дополнительными слоями и высоким битрейтом. Нужно обеспечить не только высокую скорость сетевого соединения, но и достаточную пропускную способность, низкий ping и общую стабильность, чтобы не растерять кадры при передаче. Свое решение предложила компания МТС: сеть 5G обеспечила непрерывный real-time-поток без просадок по кадрам и качеству.

Высшее качество стрима. И мемов

Что имеем в итоге? Стрим в 4К в формате 360, без задержек, потери пакетов и с нейросетевой обработкой — звучит, как мечта любого стримера или популярный запрос в Google! Не обошлось и без генерации мемов: нейросеть иногда путала людей между собой. И с елками. И с котами.

— Это у Вас кот, да? — Да, это у нас кот, да (с)

 

Наверное, вы слышали про понятие “суперпозиция”. Трактовка этого термина зависит от области, где он применяется. Мы же обратимся к квантовой механике, где суперпозиция — это одновременное существование в нескольких состояниях. А как насчет нескольких мест, м?

Эта пара человек оказалась в двух местах одновременно. Мистика почище Филадельфийского эксперимента! Уже прорабатываем возможность открытия  вакансии Vmx-ghostbusters’а.  И съемок еще одного сезона “Supernatural”, материала хватит

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

Проверка на внимательность: на картинке на одного человека больше, чем отмечает Система. Подсказка: в нижней части изображения смутное пятно — это человек, силуэт которого смазан из-за дисторсии объектива

Вот так наша команда прошла путь от идеи до реализации. И это еще далеко не самый амбициозный проект, который выходил из-под пера наших специалистов. Со временем мы непременно расскажем вам о них, ну а пока подпишитесь на нас в Facebook и Instagram, и не забывайте заглядывать в новостной раздел официального сайта “ВидеоМатрикс”.

На связи!

* * *

Предыдущие выпуски Дневников Разработчика:

Выпуск 1. Итоги 2020 года

Выпуск 2. Трекинг людей, животных и экомониторинг выбросов

Выпуск 3. Что такое Vmx продукты и с чем их едят. Бургерная аналогия

Выпуск 4. Как контролировать качество продукта. Брикет каучука

 

Читайте также: