Русский
Русский
English
Статистика
Реклама

Видеоконференцсвязь

Перевод Mitsubishi VisiTel общение в Zoom в стиле 1980-х

06.10.2020 12:23:44 | Автор: admin
За окном 2020 год. Удалённая работа это уже совершенно нормально. Десятилетия рекламы ведущих телекоммуникационных компаний наконец сделали своё дело научили мою маму совершать видеозвонки. Правда, события последних месяцев, вызвавшие неожиданный интерес общественности к видеосвязи, привели к небывалому дефициту веб-камер. Но мы не можем допустить того, чтобы это помешало бы нам вести нормальную жизнь. Ведь каждому из нас надо много кому позвонить. У меня есть решение проблемы нехватки веб-камер. Это Mitsubishi VisiTel!


Mitsubishi VisiTel

В 1988 году, когда появилось это устройство, оно, определённо, олицетворяло собой будущее. А при его низкой цене всего $399 как могло оно мгновенно не стать популярным? В журнале Популярная механика, вышедшем в феврале 1988, Mitsubishi VisiTel была посвящена целая страница. Там устройство было описано с упоминанием неожиданно большого объёма технических деталей. А ведущие передачи Gadget Guru на телеканале WSMV, сразу после того, как завели разговор о VisiTel, задались невероятно важным вопросом: Можно ли продолжить пользоваться обычным телефоном в то время, когда эта штука подключена к линии?.

Для того чтобы мы наконец приняли тот неизбежный факт, что перед звонком коллегам надо принять душ и привести себя в порядок, понадобились 30 лет и глобальная пандемия. Сейчас, как ни крути, от видеотелефонии уже никуда не деться.

Я не первый, кто полагает, что в VisiTel есть что-то особенно китчевое. Люди уже давно возятся с этим устройством. Несмотря на то, что оно не передаёт видеосигнал, а лишь позволяет обмениваться фотографиями, это один из тех продуктов, которые относятся к выдающимся достижениями инженерной мысли. Это разработка, которая серьёзно опередила своё время.

Мой интерес к VisiTel появился после этого видео. Его автор показал, как, замедляя или ускоряя захват изображения, отправляемого VisiTel, можно сделать так, чтобы изображение на экране исказилось бы. Узнав это, я тут же понял, что устройство использует простую схему амплитудной модуляции. Зная об этом, я отправился на eBay и нашёл там подходящий мне экземпляр VisiTel. Моей целью было сделать так, чтобы эта удивительная капсула времени с техническими достижениями конца 1980-х заработала бы в связке с выбранными мной современными технологиями. В частности, мне хотелось организовать общение с коллегами в Zoom. Более того, мне хотелось достичь этого без необходимости модификации аппаратной части VisiTel. Есть в этом устройстве что-то особенное, такое, что хочется оставить в его первозданном виде.

Шаг 1. Подключение



Начало экспериментов с VisiTel

VisiTel до смешного легко привести в рабочее состояние. Из задней части устройства выходит длинный кабель с Y-образным разветвителем, находящимся ближе к концу (подробнее об этом ниже), и с парой разъёмов. Один из них это разъём питания диаметром 2,1 мм. Устройству нужно 15 вольт. Несколько странно то, что разработчики устройства решили написать число 15 таким шрифтом, что надпись читается как IS Volts. Второй разъём это обычный RJ-11, в котором задействованы два контакта. Это стандартный разъём для подключения телефонов. Если вы помните обычные проводные телефоны, то вы можете вспомнить ещё и о том, что трубка подключается к аппарату с помощью разъёма RJ-9, а телефон подключается к линии с помощью разъёма RJ-11. Смысл этого в том, чтобы к телефону можно было бы подключить не только трубку, но и что-то ещё, а так же в том, чтобы можно было бы заменить кабель или трубку в том случае, если с ними что-то случится. Правда, нельзя сказать, что с кабелями, идущими от телефонов к трубкам, часто что-то случалось, так как при их изготовлении использовались особые, очень гибкие провода.


Сведения о VisiTel


Кабель, выходящий из задней части VisiTel

Если вернуться к задней части VisiTel, то там, помимо кабеля, есть разъём RJ-11. После того, как я некоторое время размышлял о том, зачем он там нужен, меня осенило. Устройство играет роль посредника между обычным телефонным аппаратом и телефонной линией. Это позволяет VisiTel прослушивать линию или передавать изображения во время обычных телефонных звонков. Это ведёт к очевидной проблеме. А именно, речь идёт о том, что, так как VisiTel пользуется телефонной линией одновременно с телефоном, абонент будет слышать звуки, сопутствующие приёму и отправке изображений. Но инженеры Mitsubishi об этом позаботились. Перед отправкой или получением изображения можно услышать громкий щелчок, указывающий на то, что какое-то реле отключает на некоторое время телефон. Мы собираемся применять VisiTel так, что получаемый с устройства аудиосигнал нам не интересен, поэтому мы не будем ничего подключать к разъёму RJ-11, который находится на задней стенке устройства. Это делает соответствующее реле ненужным, а значит, его можно убрать ради избавления от щелчков, сопутствующих отправке изображения.

Как организовать обмен данными с этим устройством? На моём компьютере, например, нет разъёма RJ-11. Правда, это не страшно, так как в продаже имеются переходники для подключения телефонных трубок с разъёмами RJ-9 к смартфонам. Один из вариантов подключения заключается в том, что можно отрезать разъём RJ-11 и припаять к проводу 3,5-мм штекер, организовав монофонический режим передачи звука. Обратите внимание на то, что я изначально полагал, что у VisiTel имеется разъём RJ-9, а не RJ-11.

При использовании 3,5-мм штекера подключить VisiTel к компьютеру до крайности просто. А именно, надо раздобыть USB-адаптер с отдельными выходами для подключения микрофона и наушника (не TRSS) и подключить VisiTel к подходящему разъёму.

Выше я говорил о том, что ещё вернусь к Y-образному разветвителю. У моего VisiTel была какая-то проблема с проводами около этого разветвителя. Причём, провод был не разорван, когда всё просто отказывается работать, и когда проблема совершенно очевидна. Это была одна из тех неприятных неисправностей, когда вечером всё работает, а на следующее утро уже нет. Хорошо было бы, если бы создатели VisiTel использовали в своём изделии особые гибкие провода. Эта проблема, которая то появлялась, то исчезала, стоила мне многих дней, проведённых в бессмысленном поиске её решения. Я, без особого успеха, искал проблемы с перегревом устройства, трижды проверял настройки аудиокарты. В итоге я обнаружил проблему, когда, в ходе испытаний, приподнял устройство. После этого я нашёл в записи характерные признаки повреждения соединения. Из этой истории я вынес один урок, касающийся работы со старым аппаратным обеспечением. Он заключается в том, что, во время работы устройства, его надо немного подвигать и посмотреть, всё ли в это время функционирует так же, как прежде.


Место повреждения проводов отмечено кружком

Шаг 2. Исследование механизма передачи изображений


После того, как мы решили проблему с хитрыми проводами и соединили устройство с компьютером, пришло время разобраться с тем, какой протокол используется для кодирования передаваемых изображений. Видеоматериалы и статьи о VisiTel позволяют сделать вывод о том, что изображения кодируются с использованием амплитудной модуляции звукового сигнала. Амплитудная модуляция это кодирование данных, выполняемое путём изменения амплитуды несущего сигнала. Обычно амплитудную модуляцию используют для кодирования звука, передаваемого с помощью радиоволн, но такой же подход можно использовать для передачи изображений с использованием радиоволн или даже звуковых волн. Тут можно найти прекрасное подробное описание этого процесса с примерами кода на Python, предназначенное для тех, кто привык учиться новому через практику.

Зная о том, что данные закодированы с использованием механизма амплитудной модуляции звукового сигнала, мы можем сделать первый шаг к раскодированию этих данных. Этот шаг заключается в записи модулированного сигнала, передающего изображение-образец с заранее известными свойствами. Для захвата аудиосигнала я воспользовался Audacity моей привычной программой для работы со звуком.


Графическое представление аудиосигнала

Выше показано, как я, стремясь лучше понять то, как именно кодируются данные, отправил с VisiTel очень простое, специально подготовленное изображение. Это изображение, показанное ниже, представляло собой пару карточек, чёрную и белую, которые я держал перед камерой устройства. Сигнал, соответствующий ему, отмечен в программе как blackWhiteV.


Изображение, используемое в эксперименте

Присмотримся к полученному аудиосигналу поближе.


Более пристальное исследование аудиосигнала

Послушать этот сигнал можно здесь.

Как видите, в начале каждого блока имеется некий заголовок, или последовательность, указывающая на инициализацию (с 17,55 до 17,80 в данном примере). Это позволяет принимающему устройству узнать о том, что другое устройство собирается передать изображение и определить максимальную амплитуду сигнала. Этот показатель потом, при декодировании изображения, используется как коэффициент масштабирования. В результате недостатки телефонной линии не приведут к потере изображением контраста или яркости. Сигнал, передаваемый по некоторым линиям, может оказаться зашумлённым или ослабленным. Обратите внимание на то, что сигнал до 17,55 это просто шум, он неважен для протокола передачи данных, используемым VisiTel.

Для того чтобы убедиться в том, что обнаруженная мной заголовочная последовательность действительно указывает VisiTel на то, что другое устройство собирается отправить ему изображение, я дал устройству послушать лишь этот небольшой фрагмент записи и был вознаграждён щелчком реле. Очевидно было то, что эта последовательность приводит в действие некие механизмы. Но, отправив устройству лишь 30 миллисекунд заголовка, я понял, что устройство обнаруживает то, что изображение после заголовка не передаётся. Реле выключается через несколько миллисекунд после окончания передачи заголовка. Если же проиграть заголовок и первые несколько миллисекунд звука, идущего за ним, то VisiTel начинает выводить изображение на экране. Если выключить звук в то время, когда устройство выводит изображение на экран, то работа продолжается, VisiTel продолжает получать какие-то данные до заполнения буфера, используемого для хранения изображения. Это в очередной раз доказывает то, что после того, как VisiTel начинает обрабатывать графические данные, устройство не полагается на внешний осциллятор для того чтобы узнать о том, где именно в сигнале закодированы нужные ему данные. У него имеется собственный генератор тактовых импульсов, который указывает ему на то, где именно находится то, что ему нужно.

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

А теперь пришло время переходить к самому сложному к выяснению того, как именно закодирована графическая информация, как звучат пиксели. Для начала мне нужно было разобраться с тем, как пиксельные данные представлены в звуковом сигнале. Моя первая догадка заключалась в том, что каждая полная волна представляет один пиксель. Я проверил эту идею, подсчитав количество волн между повторами тестового паттерна. То, что у меня получилось, соответствовало характеристикам VisiTel из старой рекламы. А именно это 96x96 пикселей, при этом несколько строк выводятся до начала вывода самого изображения.

Всё это значит, что устройство анализирует амплитуду каждой волны и записывает данные в виде пикселя буфера, представляющего в VisiTel цифровое изображение. Из маркетинговых материалов по VisiTel мы знаем о том, что каждый пиксель выводимого им изображения имеет 16 градаций серого. Но я, анализируя пиксели из аналогового сигнала, не ощутил необходимости применять эффект постеризации их при декодировании или кодировании.

Интересно то, что яркость пикселей перед модуляцией инвертируется. В итоге самые большие волны соответствуют самым тёмным пикселям. Кроме того, изображение отражается слева направо, то есть формируется зеркальное изображение. Мне хотелось бы узнать о том, что читатели этого материала думают о причине инвертирования яркости пикселей перед передачей сигнала. Я подозреваю, что дело тут в том, что человеческое зрение спокойнее воспринимает случайным образом разбросанные чёрные пиксели, чем такие же белые. Ведь шум в телефонных линиях это проблема, с которой, VisiTel, определённо приходилось бороться в 1988 году.


Исследование сигнала

Правда, в вышеописанной схеме кодирования изображений было одно исключение, которое ускользало от меня несколько недель. При использовании такой вот инвертированной схемы кодирования совершенно белые пиксели должны быть представлены тишиной. Сигнал, представляющий такие пиксели, должен попросту отсутствовать. Но у меня возникло такое ощущение, что создателям VisiTel эта идея не понравилась. Вместо этого для кодирования полностью белых пикселей выполнялось смещение несущего сигнала на 1/4 длины волны, в результате такие волны не совпадали по фазе с обычными. Сигнал при этом, как и прежде, можно было отправить другому устройству. Устройство-приёмник, получая такой сигнал, сохраняло синхронизацию с обычным сигналом и брало сведения об амплитуде сигнала там же, где обычно, но теперь в эти моменты волна проходила через 0, что давало белый цвет пикселей. Как я уже говорил, если отключить звук в процессе передачи изображения, то VisiTel продолжает выводить изображение до заполнения буфера. Это белые пиксели. В результате оказывается, что тишина, и без присутствия в линии полезного сигнала, воспринимается устройством как белый цвет. Не знаю, для чего создатели устройства решили усложнить схему модуляции, введя в неё такой вот режим смещения по фазе. Как по мне, так усилий на это было потрачено много, а пользы от такого шага или вовсе нет, или она весьма несущественна.

Я, не зная о модуляции со сдвигом фазы, изначально пытался найти максимум каждой из волн и представить полученное значение в виде пикселя. Переходы на новую строку выполнялись с шагом, вычисляемым по формуле 96*(число семплов на волну). Это вело к тому, что в некоторых строках оказывалось или немного больше, или немного меньше пикселей. Кроме того, такой вот грубый подход к анализу сигнала был весьма чувствительным к шуму, так как даже маленькие пики на волнах могли приводить к появлению лишних пикселей. Правда, такой механизм декодирования изображений было очень просто реализовать. Реализация этой простой идеи могла бы декодировать изображения без необходимости синхронизации приёмника и источника сигнала. Но у меня, после применения такой системы декодирования сигнала, ничего пристойного не получилось.

Для того чтобы более точно декодировать изображения, нам нужно поступать так же, как поступает VisiTel. А именно, нужно синхронизироваться с сигналом в момент обработки заголовка, а затем семплировать сигнал через равные промежутки времени. Неудивительно то, что для такой обработки сигнала нужно очень точно подбирать время. В моём случае, при записи звука с частотой 44100 Гц, имеется 25,23158 семплов на волну (это значит, что частота несущей волны 1747,80968929 Гц). В результате каждый раз, когда мы считываем информацию о пикселе, мы будем искать в аудиобуфере данные по следующему пикселю на расстоянии 25,23158 семплов от предыдущего. Так как позиции семплов описываются целочисленными значениями, мы просто округляем соответствующее число до ближайшего целого и используем его. Самое главное здесь не позволить ошибкам округления накапливаться, так как это приведёт к тому, что позиция семплинга быстро сместится по фазе относительно звуковой волны. А если при декодировании изображения произойдёт подобное смещение, пусть и небольшое, готовое изображение окажется наполненным артефактами.


Изображение, полное артефактов

К моему счастью, число семплов на волну оказалось весьма стабильным. Оно не менялось после прогрева устройства, хотя меня беспокоило то, что это может стать проблемой. Такая стабильность позволила мне попросту жёстко задать соответствующее значение в коде декодирования изображений. В идеале количество семплов на волну нужно узнавать из заголовка, но я обнаружил, что тут недостаточно семплов для достижения точности в 5 знаков после запятой. А значение, жёстко заданное в коде, позволило добиваться стабильных результатов. Благодаря такой, более точной реализации системы декодирования сигнала, переходы на новую строку просто выполнялись после того, как функция, формирующая 1 пиксель, вызывалась 96 раз.

До сих пор я работал с заранее записанными фрагментами звука, декодированными из WAV-файлов. Для того чтобы работать в интерактивном режиме и декодировать изображения, поступающие на аудиоинтерфейс компьютера, декодер нужно было оснастить возможностью обнаружения заголовка и нахождения начала данных изображения. Если взглянуть на заголовок, то окажется, что в нём имеется три чётко различимых фрагмента.


Анализ заголовка: несущая волна тишина несущая волна

Для того чтобы это обнаружить, я реализовал простой детектор, основанный на FFT, и конечный автомат. Сначала осуществляется обработка исходного материала, а затем детектор исследует каждый блок аудиосигнала до тех пор, пока не найдёт сильный сигнал частоты 1747 Гц. Затем блоки исследуются до нахождения места, где сигнал исчезает, а потом снова появляется. Это означает нахождение момента начала передачи. После этого для нахождения момента начала передачи данных изображения используется простое статическое смещение, а для декодирования изображения применяются вышеописанные механизмы. После завершения декодирования изображение выводится, а конечный автомат сбрасывается к исходному состоянию и ожидает начала следующей передачи.

Шаг 3. Представление VisiTel в виде веб-камеры


Теперь, когда мы смогли декодировать изображение, принимаемое с VisiTel, осталось поставить на место последний кусок нашего паззла. Нам надо представить декодированные изображения в форме видеокадров и передать видеопоток программе для видеоконференций. В Linux это делается на удивление просто. Видео-вход абстрагируется с помощью интерфейса V4L2, но это, к сожалению, происходит в пространстве ядра. Для того чтобы не связываться со сложностями, сопутствующими созданию модуля ядра, можно воспользоваться готовым решением v4l2loopback. Этот модуль представляет собой и устройство ввода, и устройство вывода. Входные графические данные, которые ему передают, становятся выходными, которые могут принять другие программы, вроде Zoom. Есть даже Python-пакеты, которые абстрагируют всё это ещё сильнее, позволяя работать с подобными данными с помощью OpenCV и NumPy. Я воспользовался одним из таких пакетов pyfakewebcam. Он отличается чрезвычайно простым интерфейсом. Для создания виртуальной веб-камеры достаточно сделать следующее:

importpyfakewebcamself.camera=pyfakewebcam.FakeWebcam(self.v4l2_device, 640, 480)

А при получении нового кадра надо сделать так:

self.camera.schedule_frame(output)

Теперь, после этого небольшого дополнения к декодеру, всё заработало как надо. Zoom может получать изображения с VisiTel, а мы можем организовать видеочат в стиле 1980-х.


Видеочат в духе 1980-х

Мне ещё хотелось бы установить Linux-драйвер Direct Rendering Manager, что позволит не только получать изображения с VisiTel, но и выводить их на него. Но пока, чтобы признать этот проект успешным, мне достаточно того, что я могу общаться в Zoom, пользуясь устройством из 1988 года. Вот, если интересно, код проекта на GitHub.

А вы пытались дать вторую жизнь каким-нибудь устройствам из далёкого прошлого?



Подробнее..

Разработать видеоплатформу за 90 дней

27.08.2020 16:05:58 | Автор: admin

Этой весной мы оказались в очень весёлых условиях. Из-за пандемии стало ясно, что наши летние конференции необходимо переносить в онлайн. А чтобы провести их в онлайне качественно, нам не подходили готовые софтовые решения, требовалось написать собственное. И на это у нас было три месяца.


Понятно, что это были увлекательные три месяца. Но со стороны не вполне очевидно: что вообще представляет собой платформа для онлайн-конференций? Из каких частей она состоит? Поэтому на последней из летних конференций DevOops я расспросил тех, кто отвечал за эту задачу:


  • Николай Молчанов технический директор JUG Ru Group;
  • Владимир Красильщик прагматичный Java-программист, занимающийся бэкендом (вы также могли видеть его доклады на наших Java-конференциях);
  • Артём Никонов отвечает за весь наш видеостриминг.

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



Общая картина


Каким был состав команды?


Николай Молчанов: У нас есть аналитик, дизайнер, тестировщик, три фронтендера, бэкендер. И, конечно, T-shaped специалист!


Как в целом выглядел процесс?


Николай: До середины марта у нас к онлайну не было готово вообще ничего. А 15 марта завертелась вся карусель с онлайном. Мы завели несколько репозиториев, спланировали, обсудили базовую архитектуру и сделали всё за три месяца.


Это, конечно, прошло классические этапы планирования, архитектуры, выбора фич, голосование за эти фичи, политики этих фич, их дизайна, разработки, тестирования. В итоге 6 июня мы выкатили всё в прод на TechTrain. На всё про всё было 90 дней.


Получилось ли успеть то, на что мы коммитились?


Николай: Раз мы сейчас участвуем в конференции DevOops в онлайне значит, получилось. Я лично закоммитился на главную вещь: принесу заказчикам инструмент, при помощи которого можно будет сделать конференцию в онлайне.


Задача стояла так: дайте нам инструмент, с помощью которого мы сможем транслировать наши конференции обладателям билетов.


Все планирование было разбито на несколько этапов, и все фичи (около 30 глобальных), были поделены на 4 категории:


  • которые мы сделаем обязательно (без них жить не можем),
  • которые мы сделаем во вторую очередь,
  • которые мы никогда не сделаем,
  • и которые никогда-никогда не сделаем.

Все фичи из первых двух категорий мы сделали.


Я знаю, что всего было заведено 600 JIRA-задач. За три месяца вы сделали 13 микросервисов, и подозреваю, что они написаны не только на Java. Вы использовали разные технологии, у вас поднято два Kubernetes-кластера в трех зонах доступности и 5 RTMP-стримов в Amazon.


Давайте теперь разберёмся с каждой составляющей системы по отдельности.


Стриминг


Начнём с того, когда у нас уже есть видео-картинка, и она передаётся на какие-то сервисы. Артём, расскажи, как происходит этот стриминг?


Артём Никонов: Общая схема у нас выглядит так: изображение с камеры -> наша пультовая -> локальный RTMP-сервер -> Amazon -> видеоплеер. Подробнее писали об этом на Хабре в июне.


Вообще есть два глобальных пути, как это можно делать: либо на железе, либо на базе софтверных решений. Мы выбрали путь софта, потому что это проще в случае с удалёнными спикерами. Не всегда есть возможность привезти спикеру в другой стране железку, а поставить ПО спикеру кажется проще и надёжнее.


С точки зрения железа у нас есть некоторое количество камер (в наших студиях и у удалённых спикеров), некоторое количество пультов в студии, которые иногда приходится чинить прямо во время эфира под столом.


Сигналы от этих устройств попадают в компьютеры с платами захвата, ввода/вывода, звуковыми карточками. Там сигналы микшируются, собираются в лейауты:



Пример лейаута на 4-х спикеров



Пример лейаута на 4-х спикеров


Дальше беспрерывный эфир обеспечивается с помощью трёх компьютеров: есть одна главная машина и пара работающих по очереди. Первый компьютер собирает первый доклад, второй перерыв, первый следующий доклад, вторый следующий перерыв и так далее. А главная машина микширует первую со второй.


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


Далее потоки из компьютеров попадают на локальный сервер, у которого две задачи: роутить RTMP-потоки и записывать бэкап. Таким образом, у нас есть несколько точек записи. Затем потоки видео отправляются в часть нашей системы, построенную на амазоновских SaaS-сервисах. Используем MediaLive, S3, CloudFront.


Николай: А что там происходит до того, как видео попадёт к зрителям? Вы же должны его нарезать как-то?


Артём: Мы сжимаем со своей стороны видео, отправляем его в MediaLive. Там запускаем транскодеры. Они перекодируют видео в режиме реального времени в несколько разрешений для того, чтобы люди могли смотреть их на телефонах, через плохой интернет на даче и так далее. Потом эти стримы режутся на чанки, так работает протокол HLS. На фронтенд мы отдаем плейлист, в котором есть указатели на эти чанки.


Мы используем разрешение 1080р?


Артём: По ширине у нас как 1080p видео 1920 пикселей, а по высоте чуть меньше, картинка более вытянутая на это есть свои причины.


Плеер


Артём описал, как видео попадает в стримы, как распределяется на разные плейлисты для разных разрешений экранов, режется на чанки и попадает в плеер. Коля, расскажи теперь, что это за плеер, как он потребляет стрим, почему HLS?


Николай: У нас есть плеер, который наблюдают все зрители конференции.



По сути, это обёртка над библиотекой hls.js, на которой написано много других плееров. Но нам была необходима очень специфическая функциональность: перемотка назад и отметка на месте, в котором находится человек, какой доклад он сейчас смотрит. Также нужны были собственные лейауты, всякие логотипы и все прочее, что встроилось у нас. Поэтому мы решили написать собственную библиотеку (обёртку над HLS) и встроить это на сайт.


Это корневая функциональность, так что её реализовали практически первой. А потом вокруг этого всё уже обрастало.


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



Пример таймлайна


Прямо в плеер встроена кнопка для выведения таймлайна всех докладов


Николай: Да, мы сразу решали проблему навигации пользователя. В середине апреля решили, что не будем транслировать каждую из наших конференций на отдельном сайте, а объединим все на одном. Чтобы пользователи билетов Full Pass могли свободно переключаться между разными конференциями: и прямым эфиром, и записями прошедших.


А чтобы пользователям было проще передвигаться по текущему стриму и переключаться между треками, решили сделать кнопку Весь эфир и горизонтальные карточки докладов для переключения между треками и докладами. Там есть управление с клавиатуры.


Были какие-то технические сложности с этим?


Николай: Были с полоской прокрутки, на которой отмечаются точки начала разных докладов.


В итоге вы реализовали эти отметки на полосе прокрутки раньше, чем похожее сделал YouTube?


Артём: У них это тогда было в бете. Кажется, что это довольно сложная фича, потому что они частично тестировали ее на пользователях в течение последнего года. И вот теперь она дошла до прода.


Николай: Но мы действительно до прода донесли быстрее. Честно сказать, что за этой простой фичей стоит огромное количество и бэкенда, и фронтенда, и расчетов и матана внутри плеера.


Фронтенд


Давайте разберемся, как этот контент, который мы показываем (карточку доклада, спикеры, сайт, расписание), выходит на фронтенд?


Владимир Красильщик: У нас есть несколько внутренних айтишных систем. Есть система, в которой заведены все доклады и все спикеры. Есть процесс, по которому докладчик принимает участие в конференции. Спикер подает заявку, система её захватывает, дальше есть некий пайплайн, по которому создаётся доклад.



Так спикер видит пайплайн


Эта система наша внутренняя разработка.


Дальше из отдельных докладов нужно построить расписание. Как известно, это NP-сложная задача, но мы её как-то решаем. Для этого запускаем другой компонент, который формирует расписание и засовывает его в сторонний облачный сервис Contentful. Там всё выглядит уже как таблица, в которой есть дни конференции, в днях временные слоты, а в слотах доклады, перерывы или спонсорские активности. Так что контент, который мы видим, располагается в стороннем сервисе. И стоит задача донести его до сайта.


Казалось бы, сайт это просто страница с плеером, и ничего сложного тут нет. За исключением того, что это не так. Бэкенд, стоящий за этой страницей, идёт в Contentful, достает оттуда расписание, формирует некоторые объекты и отсылает на фронтенд. При помощи вебсокет-соединения, которое делает каждый клиент нашей платформы, мы с бэкенда на фронтенд закидываем ему обновление в расписании.


Реальный случай: спикер прямо во время конференции сменил работу. Надо поменять ему плашку компании-работодателя. Как это происходит с бэкенда? По вебсокету всем клиентам летит обновление, и дальше фронтенд уже сам перерисовывает таймлайн. Все это проходит бесшовно. Совокупность облачного сервиса и нескольких наших компонентов дают нам возможность сформировать весь этот контент и предоставить его фронту.


Николай: Здесь важно уточнить, что наш сайт не является классическим SPA-приложением. Это и свёрстанный, отрендеренный сайт, и SPA. На самом деле Google видит этот сайт как отрендеренный HTML. Это хорошо для SEO и для доставки пользователю контента. Он не ждет загрузки 1,5 мегабайт JavaScript, чтобы потом увидеть страницу, он сразу видит уже отрендеренную страницу, а вы это чувствуете каждый раз, когда переключаете доклад. Всё получается за полсекунды, так как контент уже готов и выложен в правильное место.


Подведём черту под всем вышесказанным, перечислив технологии. Тёма рассказал, что у нас есть 5 Amazon-стримов, туда доставляем видео и звук. Там у нас bash-скрипты, с их помощью запускаем, конфигурим


Артём: Это происходит через API AWS, там есть еще много побочных технических сервисов. Мы разделили свои обязанности так, что я доставляю на CloudFront, а фронтенд- и бэкенд-разработчики оттуда забирают. У нас некоторое количество своих обвязок для упрощения выкладки контента, который мы делаем потом в 4К и т.д. Поскольку сроки были очень сжатые, мы практически целиком сделали это на базе AWS.


Дальше все это попадает в плеер, используя бэкенд системы. У нас в плеере TypeScript, React, Next.JS. И на бэкенде у нас есть несколько сервисов на С#, Java, Spring Boot и Node.js. Это все разворачивается с помощью Kubernetes, используя инфраструктуру Яндекс.Облака.


Ещё хочу заметить, что когда мне понадобилось познакомиться с платформой, это оказалось несложно: все репозитории находятся на GitLab, всё хорошо названо, написаны тесты, есть документация. То есть даже в авральном режиме заботились о таких вещах.


Бизнес-ограничения и аналитика


Мы таргетировались по бизнес-требованиям на 10 000 пользователей. Самое время рассказать про бизнес-ограничения, которые у нас были. Мы должны были обеспечивать высокую нагрузку, обеспечивать выполнение закона о сохранении персональных данных. А что ещё?


Николай: Изначально мы отталкивались от требований к видео. Самое главное распределённое хранение видео по миру для быстрой доставки клиенту. Из других разрешение 1080р, а также перемотка назад, что у многих других в лайв-режиме не реализовано. Позже мы добавили возможность включить скорость 2x, с её помощью можно догнать лайв и дальше смотреть конференцию в реальном времени. И ещё по ходу появилась функциональность разметки таймлайна. Плюс к этому мы должны были быть отказоустойчивыми и выдерживать нагрузку 10 000 соединений. С точки зрения бэкенда это примерно 10 000 соединений умножить на 8 запросов на каждый рефреш страницы. А это уже 80 000 RPS/сек. Довольно много.


Ещё были требования к виртуальной выставке с онлайн-стендами партнёров?


Николай: Да, это нужно было сделать довольно быстро и универсально. У нас было до 10 компаний-партнёров на каждую конференцию, и страницы их всех нужно было заверстать за неделю-две. При этом контент у них немного различается по формату. Но был сделан определённый шаблонизатор, собирающий эти страницы на лету, практически без дальнейшего участия по разработке.


Было еще требования по аналитике просмотров в реал-тайме и статистике. Знаю, что мы используем для этого Prometheus, а расскажите подробнее: какие требования мы выполняем по аналитике, и как это реализуется?


Николай: Изначально у нас есть маркетологические требования по сбору для А/В-тестирования и по сбору информации для того, чтобы понять, как правильно клиенту доставлять лучший контент в дальнейшем. Еще есть требования по некой аналитике по партнерским активностям и аналитика, которую вы видите (счетчик посещений). Вся информация собирается в реал-тайме.


Эту информацию мы можем выдавать в агрегированном виде даже спикерам: сколько людей тебя смотрели в определенный момент времени. При этом для соблюдения 152 ФЗ личный кабинет и персональные данные не трекаются никак.


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


Фрод


У нас есть механизмы антифрода?


Николай: В связи с жёсткими временными рамками с точки зрения бизнеса изначально не ставилась задача сразу же блокировать лишние соединения. Если два пользователя заходили под одним и тем же аккаунтом, они могли посмотреть контент. Но мы знаем, сколько одновременных просмотров было с одного аккаунта. И нескольких особо злостных нарушителей мы забанили.


Владимир: Надо отдать должное, один из забаненных пользователей понял, почему это случилось. Пришёл, извинился и обещал купить билет.


Чтобы это все происходило, вы должны полностью трассировать всех пользователей от входа до выхода, всегда знать что они делают. Как устроена эта система?


Владимир: Я бы хотел рассказать про аналитику и статистику, которую мы потом анализируем для успешности доклада или можем предоставить потом партнерам. Все клиенты присоединены по вебсокет-соединению к определенному кластеру бэкенда. Там стоит Hazelcast. Каждый клиент в каждый период времени отсылает, что он делает и какой трек он смотрит. Дальше эта информация быстрыми Hazelcast-джобами агрегируется и отсылается в обратку всем, кто смотрит эти треки. Мы видим в углу, сколько людей сейчас находятся вместе с нами.



Эта же информация складируется в Mongo и уезжает в наше озеро данных, по которому мы имеем возможность строить более интересный график. Приходит вопрос: сколько уникальных пользователей посмотрели данный доклад? Мы идем в Postgres, там пинги всех людей, которые пришли по id этого доклада. Собрали, агрегировали уникальных, и теперь можем понять.


Николай: Но при этом мы получаем ещё реалтайм-данные с Prometheus. Он натравлен на все Kubernetes-сервисы, на сам Kubernetes. Собирает абсолютно всё, и с Grafana мы можем строить любые графики в реальном времени.


Владимир: С одной стороны, мы это сгружаем для дальнейшей обработки типа OLAP. А для OLTP приложение сгружает все это дело в Prometheus, Grafana и графики даже сходятся!


Тот самый случай, когда графики сходятся.


Динамические изменения


Расскажите, как выкатываются динамические изменения: если доклад отменился за 6 минут до начала, какая цепочка действий? Какой пайплайн срабатывает?


Владимир: Пайплайн очень условный. Есть несколько возможностей. Первая программа формирования расписания сработала и изменила это расписание. Изменённое расписание выгружается в Contentful. После чего бэкенд понимает, что есть изменения по данной конференции в Contentful, берёт и пересобирает. Всё собирается и отсылается по websocket.


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


Николай: Все происходит без рефреша страницы. Все изменения происходят абсолютно бесшовно для клиента. Также и с переключением докладов. Когда подходит время, меняется доклад и интерфейс.


Владимир: Также и временные отсечки начала докладов в таймлайне. В самом начале ничего нет. А если навести мышку на красную полоску, то в какой-то момент, благодаря режиссеру трансляции, появятся отсечки. Режиссер ставит правильное начало трансляции, бэкенд это изменение схватывает, рассчитывает соответственно расписанию конференции время начала и окончания докладов всего трека, отправляет нашим клиентам, плеер рисует отсечки. Теперь пользователь может спокойно навигироваться в начало и конец доклада. Это было жесткое бизнес-требование, очень удобное и полезное. Ты не тратишь время, чтобы найти настоящее время начала доклада. А когда мы сделаем превью, будет вообще замечательно.


Деплоймент


Я бы хотел спросить про деплоймент. Коля и команда в начале убили много времени, чтобы настроить всю инфраструктуру, в которой у нас всё разворачивается. Расскажи, из чего это всё?


Николай: У нас изначально было требование с технической точки зрения к продукту максимально абстрагироваться от какого-либо вендора. Прийти в AWS делать Terraform-скрипты конкретно AWS-овские, или конкретно яндексовские, или Azure-овские и т.д. не очень подходило. Мы должны были в своё время куда-то съехать.


Первые недели три мы постоянно искали путь, как это лучше сделать. В итоге пришли к тому, что Kubernetes в данном случае это наше всё, потому что позволяет делать автоматически-масштабируемые сервисы, автовыкатку и получить из коробки практически все сервисы. Естественно, надо было обучить все сервисы работе с Kubernetes, Docker, и команде тоже научиться.


У нас два кластера. Тестовый и продовский. Они абсолютно одинаковые с точки зрения железа, настроек. Имплементируем инфраструктуру как код. Все сервисы автоматическим пайплайном раскатываются в три среды из фичи-веток, из мастер-веток, из тестовых, из GitLab. Это максимально интегрировано в GitLab, максимально интегрировано с Elastic, Prometheus.


Мы получаем возможность быстро (для бэкенда в течение 10 минут, для фронтенда в течение 5 минут) выкатить изменения в любую среду со всеми тестами, интеграциями, запуском функциональных тестов, интеграционных тестов на среде, и еще и протестировать нагрузочными тестами на тестовой среде примерно то же самое, что мы хотим получить в продакшене.


Про тесты


Вы почти всё тестируете, тяжело поверить, как вы всё написали. Можете рассказать как по бэкенду по тестам: насколько все покрыто, какие тесты?


Владимир: Написано два типа тестов. Первые компонентные тесты. Тесты уровня подъема всего спрингового приложения и базы в Testcontainers. Это проверка самых высокоуровневых бизнес-сценариев. Я не тестирую функции. Мы тестируем только какие-то крупные штуки. Например, прямо в тесте эмулируется процесс логина пользователя, запрос этим пользователем билетов, куда он может сходить, запрос доступа на просмотр стрима. Очень понятные пользовательские сценарии.


Примерно то же самое реализовано в так называемых интеграционных тестах, которые реально бегут на среде. Фактически, когда очередной деплоймент в прод раскатывается, на проде также бегут настоящие базовые сценарии. Тот же самый логин, запрос билетов, запрос доступа до CloudFront, проверка того, что стрим действительно цепляется с моими разрешениями, проверка режиссерского интерфейса.


На данный момент у меня на борту примерно 70 компонентных тестов и около 40 интеграционных. Покрытие очень близко к 95%. Это по компонентным, по интеграционным поменьше, там столько просто не надо. Учитывая то, что в проекте всякие кодогенерации, это очень хороший показатель. Никакого другого способа сделать то, что мы сделали за три месяца, не было. Потому что если бы мы тестировали ручным образом, отдавая фичи нашей тестировщице, а она бы находила баги и возвращала нам на фиксы, то этот round trip по отлаживанию кода был бы очень долгий, и мы бы не влезли ни в какие сроки.


Николай: Условно, чтобы провести регресс на всей платформе при изменении какой-то функции, нужно два дня сидеть и тыкать везде.


Владимир: Поэтому большой успех, что, когда я эстимирую фичу, говорю, что мне нужно 4 дня на две простые ручки и 1 websocket, Коля разрешает. Он уже привык, что в эти 4 дня заложены 2 типа тестов, и потом, скорее всего, это будет работать.


Николай: У меня тоже написано 140 тестов: компонентных + функциональных, которые делают то же самое. Все те же самые сценарии тестируются и на продакшене, на тесте и на деве. Также недавно у нас появились функциональные базовые UI-ные тесты. Так мы покрываем самые базовые функциональности, которые могут развалиться.


Владимир: Конечно же, стоит рассказать про нагрузочные тесты. Нужно было проверить платформу под нагрузкой, приближенной к реальной, чтобы понять, как оно все, что происходит с Rabbit, что происходит с JVM-ками, сколько реально надо памяти.


Я не знаю точно, тестируем ли мы что-нибудь на стороне стримов, но я помню, что были проблемы с транскодерами, когда мы делали митапы. Тестировали ли мы стримы?


Артём: Тестили итеративно. Организовывая митапы. В процессе организации митапов было примерно 2300 JIRA-тикетов. Это просто шаблонные вещи, которые люди делали, чтобы сделать митапы. Мы брали части платформы на отдельную страницу для митапов, которой занимался Кирилл Толкачев (tolkkv).


Честно говоря, больших проблем не было. Буквально пару раз ловили баги по кэшированию на CloudFront, решили довольно быстро просто перенастроили политики. Багов было значительно больше в людях, в системах стриминга на площадке.


Во время конференций пришлось писать еще несколько экспортёров для того чтобы покрыть больше оборудования и сервисов. Местами приходилось делать свои велосипеды только ради метрик. Мир AV (аудио-видео) железа не очень радужный у тебя есть какое-то API оборудования, на которое ты просто не можешь повлиять. И далеко не факт, что получится забрать ту информацию, которая тебе нужна. Вендоры железа реально медленные, и от них почти невозможно добиться желаемого. Итого более 100 железок, отдают они не то, что нужно, а ты пишешь странные и избыточные экспортёры, благодаря которым можно хоть как-то дебажить систему.


Оборудование


Я помню, как до начала конференций мы частично дозакупали оборудование.


Артём: Закупали компьютеры, ноутбуки, батарейные блоки. На данный момент мы можем жить без электричества 40 минут. В июне в Питере были сильные грозы так что такое отключение у нас было. При этом к нам приходят несколько провайдеров оптическими линками из разных точек. Это действительно 40 минут даунтайма здания, при которых у нас будет гореть свет, работать звук, камеры и т.д.


С интернетом у нас похожая история. В офисе, где находятся наши студии, мы между этажами протащили лютую сеть.


Артём: У нас 20 ГБит оптики между этажами. Дальше по этажам где-то оптика, где-то нет, но все-таки меньше, чем гигабитных, каналов нет мы гоняем по ним между треками конференции видео. Вообще очень удобно работать на своей инфраструктуре, на офлайн-конференциях на площадках так редко получается делать.


Еще не работая в JUG Ru Group, я видел, как за ночь разворачиваются аппаратные на офлайн-конференциях, где стоит большой монитор со всеми метриками, которые вы строите в Grafana. Сейчас также есть помещение-штаб, в котором сидит команда разработки, которая во время конференции чинит какие-то баги и разрабатывает фичи. При этом есть система мониторинга, которая выводится на большой экран. Артём, Коля и другие ребята сидят и смотрят, чтобы это все не падало и красиво работало.


Курьёзы и проблемы


Вы хорошо рассказали о том, что у нас есть стриминг с Амазоном, есть плеер с вебом, все написано на разных языках программирования, обеспечивается отказоустойчивость и другие бизнес-требования, в том числе есть личный кабинет, который поддерживается для юридических и физических лиц, и мы можем интегрироваться с кем-то по OAuth 2.0, есть антифрод, блокировка пользователя. Мы можем динамически выкатывать изменения, потому что сделали это хорошо, и при этом это все тестируется.


Мне интересно узнать, какие были курьёзы с тем, чтобы что-то запустилось. Были ли странные ситуации, когда вы разрабатывали бэкенд, фронтенд, получалась какая-то дичь и вы не понимали, что с этим делать?


Владимир: Мне кажется, такое было только последние три месяца. Каждый день. Как вы можете увидеть, все мои волосы вырваны.



Владимир Красильщик после 3 месяцев, когда получалась какая-то дичь и никто не понимал, что с этим делать


Каждый день что-то такое было, когда был такой момент, когда ты берешь и рвёшь на себе волосы, либо понимаешь, что больше никого нет, и только ты можешь это сделать. Первым большим мероприятием у нас был TechTrain. 6 июня в 2 часа ночи у нас еще не было раскатано продакшен-окружение, его раскатывал Коля. И не работал личный кабинет, как сервер авторизации по OAuth2.0. Мы превратили его в провайдера OAuth2.0, чтобы к нему подключить платформу. Я работал, наверное, уже 18 час подряд, смотрел в компьютер и ничего не видел, не понимал, почему он не работает, и удалённо Коля смотрел в мой код, искал баг в конфигурации Spring, нашел, и ЛК заработал, и в продакшене тоже.


Николай: И за час до TechTrain релиз состоялся.


Здесь сложились очень многие звёзды. Нам крайне повезло, потому что у нас сложилась просто супер-команда, и все задрайвились идеей сделать онлайн. Все эти три месяца нас драйвило то, что мы делали YouTube. Я не позволял себе рвать волосы, а говорил всем, что всё получится, потому что на самом деле всё давно просчитано.


Про производительность


Можете ли рассказать, сколько было максимально людей на сайте на одном треке? Были ли проблемы с производительностью?


Николай: Проблем с производительностью, как мы уже говорили, не было. Максимальное количество людей, которые были на одном докладе, 1300 человек, это на Heisenbug.


Были ли проблемы с локальным просмотром? И возможно ли техническое описание со схемами того, как это все устроено?


Николай: Сделаем об этом позже статью.


Локально можно отдебажить даже стримы. Как только начались конференции, это стало даже проще, потому что появились продакшен-стримы, которые мы можем смотреть постоянно.


Владимир: Как я понимаю, фронтенд-девелоперы локально работали с моками, а потом, поскольку время выкатки на дев во фронте тоже небольшое (5 минут), посмотреть, что там с сертификатами, проблем никаких нет.


Все тестируется, дебажится, даже локально. Значит, напишем статью со всеми техническими особенностями, покажем, расскажем все со схемами, как было.


Владимир: Сможете взять и повторить.


За 3 месяца.


Итог


Всё описанное вместе звучит круто с учётом того, что это сделано маленькой командой за три месяца.


Николай: Большая команда этого бы не сделала. А вот маленькая группа людей, которые довольно плотно и хорошо друг с другом общаются и могут договориться, могла бы. У них нет каких-то противоречий, архитектура была придумана за два дня, была финализирована и фактически не поменялась. Есть очень жесткая фасилитация поступающих бизнес-требований с точки зрения наваливания фич-реквестов и изменений.


Что оказалось в вашем списке дальнейших задач, когда летние конференции уже состоялись?


Николай: Например, титры. Бегущие строки на видео, всплывашки в некоторых местах видео в зависимости от показа контента. Например, спикер хочет задать вопрос в аудиторию, и на экране всплывает голосовалка, которая обратно в бэк по результатам голосования уходит самому спикеру. Какая-то социальная активность в виде лайков, сердечек, оценок доклада во время самой презентации, чтобы можно было, не отвлекаясь потом на формы обратной связи, заполнить фидбэк в нужную секунду. Первоначально вот так.


А ещё добавление всей платформе, кроме стримингового и конференционного, также постконференционное состояние. Это плейлисты (в том числе составленные пользователями), возможно, контент с других прошедших конференций, интегрированные, промаркированные, доступные для пользователя, ну и доступные для просмотра на нашем сайте (live.jugru.org).


Ребята, спасибо большое за ответы!




Если среди читателей есть те, кто был на наших летних конференциях поделитесь вашими впечатлениями от плеера и трансляции. Что было удобно, что раздражало, что хочется увидеть в будущем?


Если платформа заинтересовала и захотелось увидеть её в бою мы снова используем её на наших осенне-зимних конференциях. Их целый ряд, так что почти наверняка есть подходящая для вас.

Подробнее..

Перевод История развития видеоконференций

08.10.2020 12:16:26 | Автор: admin

Скриншот CU-SeeMe одной из первых Интернет-систем для видеоконференций, появившейся ещё в 1992 году. В бизнес-среде и оборонке примеры использования технологий видеоконференций возникли ещё 1980-х.

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

В мире, напуганном распространением смертельно опасного заболевания, работодатели рано или поздно неизбежно бы попросили сотрудников оставаться дома и работать оттуда. Этим преимуществом чаще всего не обладали работники прошлого, оно стало возможным благодаря Интернету. Но для такого способа применения Интернет далеко не идеален, и он доказывает это почти каждый раз, когда вы начинаете видеоконференцию. Небольшие задержки заставляют людей перебивать друг друга. Время тратится впустую, потому что собеседникам приходится повторять сказанное. И всегда найдётся один коллега, решивший поработать в кафе со всем окружающим его шумом. Лично я уже почти четыре года работаю удалённо, поэтому мне часто предоставлялась возможность совершения конференц-звонков; я осознал, что с ними связаны проблемы технические, культурные и практические. И многие трудности, вызываемые этой технологией, сводятся к множеству мелких особенностей Интернета. Сегодня мы поговорим о сложности системы видеоконференций.

Многие видеоконференции ужасная трата денег; они не обеспечивают никаких преимуществ перед голосовыми конференциями, потому что пользователи не знаю, как использовать потенциал визуального компонента. Это цитата из авторской колонки 1992 года в Network World Джеймса Кобелуса, заметившего, что многие компании инвестировали большие средства в технологию межофисных видеоконференций, но не смогли сделать их более эффективными, чем простое общение по телефону. В то время у них не было буквально никаких преимуществ современных технологий. Вот как, согласно статье, выглядела в ту эпоху стандартная система для видеоконференций: Обычно для видеоконференций могут использоваться параллельная дистанционная передача звука, стационарные и мобильные внутренние микрофоны, несколько поворачиваемых настенных камер, стенды для неподвижной и анимированной графики (на которых камера находится в руке докладчика, пока он рисует), проекторы 35-миллиметровых слайдов, видеомагнитофоны, факсимильные аппараты, электронные интерактивные доски и персональные компьютеры.

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


Да, технология конференц-звонков даже в 2020 году немного расстраивает, но стоит сказать, что за эти годы мы совершили довольно долгий путь. Даже несмотря на то, что технология видеоконференций остаётся раздражающе несовершенной, она всё равно отражает наши попытки устранения проблем, совершавшиеся в течение четырёх десятков лет.

С момента появления на рабочих местах в 1980-х оборудование для видеоконференций проделало долгий путь. Для многих компаний его приобретение оборачивалось затратой сумм с пятью нулями, а почасовая стоимость каждого вызова была гораздо выше (вплоть до 1 000 долларов/ч) по сравнению с зарплатами того времени.

(Возможно, это отразилось в том, что во многих первых системах трансляции видео применялся подход один передатчик, несколько приёмников, при котором использовались те же технологии, что и в кабельном или спутниковом телевидении. Они не были интерактивными, зато работали.)

С другой стороны, всего за несколько лет технологии видеоконференций значительно усовершенствовались, а их цена снизилась в десятки раз. В 1982 году, когда Compression Labs выпустила свою первую систему для видеоконференций, она стоила 250 тысяч долларов, однако цены быстро падали к 1990 году можно уже было купить готовую систему всего за 30 тысяч, а к 1993 году меньше чем за 8 тысяч.

Но для реализации видеоконференций приходилось идти на множество компромиссов. Линии T1 могли передавать примерно 1,5 мегабита потоковых данных в секунду. Такой полосы пропускания примерно хватило бы для просмотра одного видео на YouTube с разрешением 480p, а 1980-х для её приобретения нужно было потратить тысячи долларов. (Из-за свой многоканальной структуры, которая должна была стать эквивалентом 24 отдельных телефонных линий, линии T1 и сегодня остаются очень дорогими, несмотря на то, что их сильно обогнало по скорости оптоволокно.)


Чертёж из заявки на патент 1987 года, выданный Compression Labs. В нём описывается одна из первых технологий двусторонних видеоконференций. (Google Patents)

Со временем это привело к созданию вариантов систем, использующих для видеоконференций менее мощные сети, например, Compression Labs Rembrandt 56, которая использовала линии ISDN, в то время достигавшие максимальной скорости 56 килобит/с. Эти системы стоимостью 68 тысяч долларов, в которых использовались инновации Compression Labs в области сжатия видео, позволили потребителям снизить затраты примерно до 50 долларов/ч. (Примечание: в 1980-х и 1990-х удалённые работники чаще всего использовали ISDN.)

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

Сжатие видео связано с неизбежным компромиссом между разрешением картинки и возможностью обработки движения, говорится в диссертации 1990 года студента Школы повышения квалификации офицерских кадров ВМС США, в которой излагаются рекомендации по организации видеоконференций для ВМС Китайской Республики (Тайваня). Качество изображения зависит от ширины полосы пропускания. При снижении полосы пропускания требуется больше кодирования, что приводит к ухудшению изображения.

Стоит также отметить, что видеоконференции стали важным элементом совершенствования технологий сжатия изображений на протяжении 1980-х. На самом деле, Compression Labs, ответственная за множество этих инноваций стала в 2000-х источником споров её приобрёл новый владелец, который попытался воспользоваться патентом на алгоритм сжатия, применяемый в формате JPEG, чтобы подать в суд на крупные корпорации. Патентный тролль уладил спор со многими крупными технологическими компаниями в 2006 году, после того, как суд выяснил, что патент распространяется на применение только в видеосигнале.

Технология видеоконференций потребительского уровня (то есть веб-камеры) появилась в 1994 году благодаря выпуску Connectix Quickcam устройства, с которым я тесно знаком. Это устройство стоимостью около 100 долларов плохо работало на старых PC из-за ограниченной полосы пропускания, обеспечиваемой параллельными портами и другими старыми гаджетами; тем не менее, оно привело к дальнейшим инновациям, продолжавшимся несколько десятилетий. (Порты USB и Firewire последний использовался в камере iSight, которую Apple продавала в начале 2000-х обеспечивали полосу пропускания, достаточную для записи видео, а то и передачи его через Интернет.)

В корпоративном секторе тоже возникали важнейшие инновации. В 1992 году компания Polycom выпустила свой первый конференц-телефон устройство, позволявшее разговаривать в одном кабинете нескольким людям; в таком формате конференции продолжали проводиться ещё следующие три десятка лет. А спустя несколько лет компания WebEx, которую позже приобрела Cisco, разработала одну из первых технологий видеоконференций для Интернета, основные принципы которой мы используем и сегодня.

Программные технологии передачи видео были значительно усовершенствованы в начале 2000-х приложением Skype, способность которого обеспечивать высококачественные видео- и голосовые разговоры по сети из узлов peer-to-peer стала важнейшей инновацией в технологиях конференций. Однако после приобретения компанией Microsoft Skype перешёл от схемы peer-to-peer к системе супернодов.

К середине 2000-х веб-камеры стали стандартными компонентами ноутбуков и настольных компьютеров. Сама идея была предложена ещё в 2001 году в Hewlett Packard Concept PC, а первыми компьютерами со встроенными веб-камерами стали iMac G5 и первое поколение MacBook Pro с процессорами Intel.

Итак, у нас есть весь этот набор гаджетов, позволяющий связываться друг с другом почти без малейших проблем. Но почему же мы этим недовольны? На то есть несколько причин.

1,5 Мбит/с такова рекомендуемая полоса пропускания, необходимая для совершения видеозвонка в Skype с высоким разрешением. (Эта величина равна максимальной полосе пропускания линии T1.) Для эффективного выполнения телефонных звонков в этом VoIP-сервисе компании Microsoft необходимо около 100 кбит/с, но этому часто мешают другие аспекты в вашей машине или сети. Если у вас загружаются торренты, то может возникнуть проблема.


Конференц-телефон Polycom совершил переворот в области офисных конференц-вызовов.

В чём проблема конференц-вызовов в офисе


Чтобы ответить на вопрос о том, почему офисные видеоконференции по-прежнему, несмотря на все инновации, сталкиваются со множеством проблем, нам нужно сделать шаг назад и учесть, что мы стремимся выполнить множество задач на очень ненадёжном фундаменте.

У нас есть все эти инновации, но они конкурируют с гораздо большим количеством ресурсов.

Если вы сидите дома перед ноутбуком, к которому подключён оптоволоконный канал на 100 мегабит, то есть вероятность того, что вы стримите в соседнюю комнату видеоигру, одновременно скачивая 15 торрентов, но всё равно не испытаете особых проблем.

Но если вы находитесь в офисе ещё с сотней людей и этот офис ежедневно проводит несколько видеоконференций, то это очень оказывает очень высокую нагрузку на офисный Интернет.

Вот пример ситуации, которая может возникнуть сегодня: допустим, после обеда проводится общее совещание, но у вас близится дедлайн, поэтому вместо того, чтобы пройти пятнадцать метров до конференц-зала, вы решаете подключиться к совещанию онлайн. Допустим, десятеро ваших коллег тоже решили поступить так же. Несмотря на то, что все вы находитесь в одном большом помещении, ни одно из этих соединений не выполняется локально. Вы подключаетесь к совещанию в локальной сети через Интернет, то есть эта локальная сеть не просто должна закачивать кучу дополнительных данных в Интернет, но и скачивать их обратно.

Если вы, допустим, работаете в Google, где построена масштабная сетевая инфраструктура, то это может и не быть серьёзной проблемой. Но в компаниях поменьше корпоративная сеть может быть чрезвычайно дорогой и стоить сотни или тысячи долларов в месяц, не считая затрат на монтаж. В результате вы на каком-то этапе можете упереться в потолок своих возможностей.

Внезапно видеоконференция, которая должна обслуживать удалённых пользователей, начинает тормозить и заикаться. (Это может быть одной из причин, по которым ребята из ИТ-отдела рекомендуют вам не загружать Dropbox на рабочий PC.)

Но даже небольшие моменты задержек могут создавать серьёзные проблемы. У вас когда-нибудь было так, что ваши слова накладываются на речь другого человека? Такое происходит, когда в сигнал вкрадывается небольшая задержка. А поскольку видео и звук часто передаются разными способами (иногда даже разными устройствами), эти задержки могут вызывать проблемы синхронизации допустим, ситуации, при которых звук движется быстрее, чем собеседник. Как утверждает компания 8x8, занимающаяся видеоконференциями, для видеозвонка приемлемой задержкой является 300 миллисекунд, но такой задержки вполне достаточно для того, чтобы два человека начинали говорить одновременно. (Возможно, нужна система как в рациях?)


Многие современные веб-камеры просто не очень хороши, особенно если они встроены в экран ноутбука.

Почему конференц-звонки плохо работают вне офиса


Но даже если вы дома или в дороге, скорее всего, всё равно возникнут проблемы, не позволяющие обеспечить качественные звук и видео; и не всегда они связаны с шириной Интернет-канала.

Часть проблем будет связана с шумом, другая с качеством камеры, а некоторые с настройками звука.

Что касается качества камер, то в последние годы возник интересный феномен: по сути, мы заинтересованы в улучшении качества камер, но в то же время стремимся к уменьшению размеров объектива, а это оставляет не так много возможностей для совершенствования. По сути, камерам некуда деваться нужно или миниатюризировать технологии, или пытаться реализовать элементы, которые оказываются скорее спорными, чем полезными. Самым печально известным примером стал Huawei Matebook Pro дизайнеры решили разместить камеру под поднимаемую клавишу, и это оказалось самым спорным аспектом в остальном хорошего ноутбука.

Всё это происходит в то время, когда важность чёткости камеры постоянно повышается, а значит, веб-камеры ноутбуков оказываются значительно хуже своих мобильных аналогов например, в 16-дюймовом MacBook Pro используется веб-камера на 720p. И это сегодня, когда многие современные смартфоны способны снимать видео с фронтальных камер в разрешении 4K. Даже если потоковое воспроизведение не справится с полным разрешением, есть вероятность того, что при снижении уровня сжатия повысится качество.

Кстати об уровне сжатия: новая мода на избавление от разъёмов для наушников создала довольно серьёзную проблему для конференц-вызовов. Если говорить просто, то большинство версий Bluetooth традиционно имеет достаточно посредственное качество звука при использовании микрофона. Это вызвано особой проблемой спецификации Bluetooth, преследующей технологию на протяжении почти всей её истории: по спецификации невозможно получить высококачественный звук микрофона из-за нехватки пропускной способности; ситуация усугубляется, если устройство подключено к 2,4-гигагерцовой сети WiFi, имеющей ту же частоту, что и Bluetooth.

На самом деле, при использовании Bluetooth-гарнитуры качество звука микрофона значительно падает. И хотя Bluetooth 5.0 потенциально может обеспечить полосу пропускания для улучшения звука микрофона гарнитуры, этот стандарт в основном поддерживается только самыми современными PC и смартфонами. Факт заключается в том, что если вы хотите подключиться к видеоконференции, то нужно просто подключить проводные наушники, пусть даже через USB. Я выяснил, что даже навороченные беспроводные наушники с подавлением шума, например, Sennheiser PXC 550, проблемно использовать в качестве микрофона в видеоконференциях. (Сегодня я пользуюсь гораздо более раскрученными Sony WH-1000XM3, но несмотря на все усилия, вложенные в разработку их микрофона, когда мне нужно сделать звонок, я подключаю кабель наушников со встроенным микрофоном.)

Стоит также заметить, что подобное влияние на качество вызова могут оказывать и обычные телефонные звонки на номер, потому что голосовые линии обычно подвергаются сильному сжатию. (Именно по этой причине музыка при удержании вызова звучит особенно ужасно.) Если у вас есть выбор между набором номера и звонком через приложение, то лучше выберите приложение.

Что касается звука, то стоит учитывать и окружение. Комнаты с сильным эхом не особо подходят для конференц-вызовов. И хотя работа в кофейне может подстегнуть вашу креативность, вам не удастся найти в ней тихое пространство для беседы (как и достаточно быстрого Интернет-соединения).

Но на фронте борьбы с фоновым шумом есть и хорошие новости существует технология, позволяющая микрофону справляться со звуками блендеров для фраппучино. Приложение Krisp для MacOS, Windows и iOS при помощи искусственного интеллекта позволяет избавиться от многих фоновых шумов. Хоть оно и не бесплатно, зато позволяет улучшить качество звука. Для пользователей Linux тоже существует довольно эффективный вариант в приложении pulseaudio можно включить опцию, в реальном времени удаляющую из записей фоновый шум. (Оно не такое качественное, как Krisp, зато бесплатное!)

Похожая инновация на фронте видеосигнала размытие фона появилась и в главных инструментах для видеочатов Microsoft, Teams и Skype.

Скоро мы сможем принимать участие в видеоконференциях из Starbucks с тем же качеством, что и дома.

Но даже если вы выбрали подходящие наушники, избавились от всего окружающего шума, нашли идеальную комнату и сделали всё правильно, вам не удастся избавиться от того, что всем остальным участникам конференции нужно самим создать комфортную среду. И если один из собеседников решит участвовать в конференции с открытым на шумящую автостраду окном или подключившись через худшую в мире беспроводную сеть, не знает о существовании кнопки отключения звука или решит общаться в пижаме (а может и хуже того), то весь процесс общения непременно пойдёт под откос. А в наше время, когда люди вынуждены работать из дома, у них может и не быть плана Б.

Во многих смыслах это больше культурная, чем техническая проблема, но её можно объяснить при помощи понятия, более тесно связанного с кибербезопасностью, чем с видеосовещаниями: поверхность атаки. Чем больше людей участвует в конференции, тем больше поверхность атаки и тем выше вероятность того, что одно слабое звено испортит всю беседу.

Давайте будем честны: хоть ПО для видеоконференции неидеально, оно проделало долгий путь и теперь, в принципе, достаточно хорошо для того, чтобы позволить регулярно работать из дома, почти не влияя на качество этой работы.

Отличным примером этого может служить электронное обучение образовательная версия видеоконференций, которая считается настолько эффективной, что по сути стала распространённой практикой на случай снегопадов в некоторых районах.

Учитывая всё то, что мы способны делать с Интернетом, и огромный объём передаваемых данных, можно только подивиться тому, насколько хорошо видеоконференции выполняют свою задачу. А чтобы она была выполнена, часто требуется сильное сжатие и снижение качества. Именно из-за этого нам слишком часто приходится повторять свои слова. Возможно, нам стоит наоборот удивляться тому, что наши коллеги почти всегда нас слышат.
Подробнее..

Перевод Размытие фона в Google Meet с расчётом ML в браузере

09.11.2020 18:08:51 | Автор: admin
Видеоконференции занимают всё большее место в работе и личной жизни людей. Чем лучше организован процесс с точки обработки видео и приватности, тем меньше отвлекается внимание человека от самой конференции. В рамках этой задачи мы недавно разработали фильтры размытия и замены фона в Google Meet. Они задействуют машинное обучение (ML) для лучшего выделения участников независимо от их окружения. В то время как другие решения требуют установки дополнительного программного обеспечения, функции Meet основаны на передовых технологиях Web ML, построенных с помощью MediaPipe, и работают непосредственно в вашем браузере никаких дополнительных шагов не требуется. Одной из ключевых целей при разработке этих функций было обеспечение производительности в реальном времени в браузере почти на всех современных устройствах, чего мы достигли, объединив эффективные модели ML на устройстве, рендеринг на основе WebGL и вывод ML на веб-стеке с помощью XNNPACK и TFLite.


Размытие и замена фона на основе MediaPipe

Обзор нашего решения Web ML


Новые функции Meet разработаны с помощью MediaPipe, опенсорсной платформы Google для потоковых трансляций. На этом фреймворке основаны другие ML-решения, такие как отслеживание руки, радужной оболочки глаза и положения тела в реальном времени.

Главным требованием любой мобильной технологии является достижение высокой производительности. Для этого веб-конвейер MediaPipe применяет низкоуровневый бинарный формат WebAssembly, разработанный специально для веб-браузеров и повышающий скорость выполнения сложных вычислительных задач. Во время выполнения браузер преобразует инструкции WebAssembly в машинный код, который выполняется намного быстрее, чем традиционный код JavaScript. Кроме того, в Chrome84 недавно реализовали поддержку WebAssembly SIMD, где каждая инструкция обрабатывает несколько точек данных, что увеличивает производительность более чем в два раза.

Наше решение сначала обрабатывает каждый видеокадр, отделяя пользователя от фона (подробнее о модели сегментации см. ниже), используя вывод ML для вычисления маски низкого разрешения. При необходимости мы дополнительно уточняем маску, чтобы выровнять её с границами изображения. Затем маска используется для рендеринга видеовыхода через WebGL2, а фон размывается или заменяется.


Конвейер WebML: все вычислительные операции реализованы на C++/OpenGL и выполняются в браузере через WebAssembly

В текущей версии расчёт выполняется на CPU клиента с низким энергопотреблением и самым широким охватом устройств. Для достижения высокой производительности в реальном времени мы разработали эффективные модели ML с использованием библиотеки XNNPACK для ускорения расчёта. Это первый механизм видеовывода, специально разработанный для новой спецификации WebAssembly SIMD. За счёт ускорения XNNPACK и SIMD модель сегментации работает в режиме реального времени в интернете.

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

Модель сегментации


Модели ML на устройстве должны быть сверхлёгкими для быстрого расчёта, низкого энергопотребления и небольшого размера. Для моделей в браузере входное разрешение сильно влияет на количество операций с плавающей запятой (FLOPS), необходимых для обработки каждого кадра, и поэтому оно также должно быть небольшим. Прежде чем подавать изображение в модель, мы его уменьшаем. Восстановление максимально точной маски из картинки с низким разрешением усложняет проектирование модели.

Общая сеть сегментации имеет симметричную структуру кодирования/декодирования. Слои декодера (светло-зелёный) симметричны слоям кодера (светло-синий). В частности, канальное внимание (channel-wise attention) с пулингом по средней величине (global average) применяется как в блоках кодера, так и в блоках декодера, что снижает нагрузку на CPU.


Архитектура модели с кодером MobileNetV3 (светло-синий) и симметричным декодером (светло-зелёный)

Для кодера мы модифицировали нейросеть MobileNetV3-small, дизайн которой спроектирован автоматически методом поиска сетевой архитектуры для достижения наилучшей производительности на слабом железе. Чтобы вдвое уменьшить размер модели, мы экспортировали её в TFLite с квантованием float16, что привело к небольшой потере точности, но без заметного влияния на качество. В полученной модели 193тыс. параметров и размер всего 400КБ.

Эффекты рендеринга


После сегментации мы используем шейдеры OpenGL для обработки видео и рендеринга эффектов. Задача состоит в эффективной визуализации без артефактов. На этапе уточнения совместный билатеральный фильтр сглаживает маску низкого разрешения.


Подавление артефактов при рендеринге. Слева: совместный двусторонний фильтр сглаживает маску сегментации. Посредине: отдельные фильтры удаляют артефакты с ореолами. Справа: замена фона методом световой обёртки

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


Примеры размытия фона

При замене фона используется техника, известная как световая обёртка (light wrapping) для наложения сегментированных лиц на индивидуальный фон. Световая обёртка помогает смягчить края сегментации, позволяя фоновому свету проливаться на элементы переднего плана, увеличива реалистичность композиции. Это также помогает минимизировать артефакты ореола, когда возникает большой контраст между передним планом и фоном.


Примеры замены фона

Производительность


Чтобы оптимизировать работу на различных устройствах, мы предоставляем варианты моделей с несколькими размерами входного изображения (например, 256x144 и 160x96 в текущей версии), автоматически выбирая лучший вариант в соответствии с доступными аппаратными ресурсами.

Мы оценили скорость вывода модели и сквозной конвейер на двух популярных устройствах: MacBook Pro 2018 с 6-ядерным процессором Intel Core i7 2,2 ГГц и Acer Chromebook 11 с процессором Intel Celeron N3060. Для ввода 720p MacBook Pro может запускать более качественную модель со скоростью 120 кадров в секунду и сквозной конвейер со скоростью 70 кадров в секунду, в то время как на Chromebook модель работает со скоростью 62 кадра в секунду с моделью более низкого качества, а сквозной конвейер выдаёт 33FPS.

Модель
FLOPS
Устройство
Вывод модели
Конвейер
256x144
64млн
MacBook Pro 18
8,3мс (120FPS)
14,3мс (70FPS)
160x96
27млн
Acer Chromebook 11
16,1мс (62FPS)
30мс (33FPS)
Скорость вывода модели и сквозной конвейер на ноутбуках высокого (MacBook Pro) и низкого класса (Chromebook)

Для количественной оценки точности модели используются популярные метрики: коэффициент Жакара (intersection-over-union, IOU) и граничная F-мера (boundary F-score). Обе модели демонстрируют высокое качество работы, особенно на такой легковесной сети:

Модель
IOU
Граничная
F-мера

256x144
93,58%
0,9024
160x96
90,79%
0,8542

Мы также выложили в открытый доступ карту модели для сегментации, где подробно указаны спецификации для оценки. В оценочные данные входят изображения из 17 географических субрегионов земного шара с аннотациями для тона кожи и пола. Анализ показал, что модель демонстрирует устойчиво высокий результат на различных регионах, оттенках кожи и полах, с небольшими отклонениями в показателях IOU.

Вывод


Таким образом, мы представили новое браузерное решение ML для размытия и замены фона в Google Meet. Благодаря этому решению модели ML и шейдеры OpenGL показывают эффективную работу в интернете. Разработанные функции обеспечивают производительность в реальном времени при низком энергопотреблении даже на маломощных устройствах.
Подробнее..

Бесполезное видеонаблюдение или принцип Чабудо китайских производителей

03.12.2020 20:22:40 | Автор: admin

Легендарная пыль

Однажды я спросил у своего знакомого: Что это у тебя за устройство все в пыли? Это видеорегистратор - ответил мой приятель. Пробовал настроить запись с камер по детекции движения, но в нужный момент ничего не писалось. А если и происходила запись, то, в основном, когда было не нужно - из-за изменений освещения, погодных условий, комаров и насекомых возле камеры. В общем, включил этот видеорегистратор в режим непрерывной видеозаписи и забыл про него. Надо проверить пишет ли он до сих пор ? Знакомая ситуация?

Если посмотреть на большинство крупных брендов, то на деле все они использует OEM поставки от одних и тех же китайских производителей почти с одним и тем же софтом внутри (Dahua и Hikivision).

Объединяет их всех одно крайне неудобный и пыльный интерфейс программного обеспечения в стиле 90-х. Тем не менее, рынок таких систем огромен, а спецы-слаботочники крайне непритязательны. Если монтажник системы сказал, что для видеонаблюдения нужен белый IP адрес и танец с бубном вокруг роутера, то без них никак. Результат хорошо известен большое количество взломанных IP камер и замечательные пранки над их владельцами.

Итак, приготовьте лупу. Выглядит китайский софт на современном компьютере с хорошим разрешением примерно так:

Скриншот программы SmartPSSСкриншот программы SmartPSSСкриншот программы SmartPSSСкриншот программы SmartPSSСкриншот программы CMSСкриншот программы CMS

Большие системы

На рынке существует множество тяжеловесных дорогостоящих систем для корпоративных пользователей. Чтобы удовлетворить запросы клиентов, такие продукты постепенно превращаются в монстров, для которых нужны выделенные дорогостоящие сервера и лицензии, внедрение, подробная документация и обучение. Все это делает систему тяжеловесной и недоступной для SOHO пользователей.

Видеоаналитика

Современное программное обеспечение позволяет использовать компьютерное зрение в онлайн-режиме. Появление видеоаналитики положительно повлияло на ситуацию. Однако, она тоже имеет ряд недостатков, обусловленных высокой стоимостью обслуживания, сложными настройками и необходимостью содержания серверов с GPU картами.

Многие компании предлагают облачную видеоаналитику. Но этот подход имеет существенный недостаток - высокую стоимость трафика и самих сервисов.

Представленный на рынке софт для видео наблюдения можно разделить на следующие категории:

  1. Небольшие программы, open source и подручные самописные средства.

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

  3. Используемые по наследству морально устаревшие hardware-решения, неудобные в использовании и обладающие ограниченными возможностями. Они функционируют на основе старых алгоритмов видео-кодирования.

  4. VSaaS (video surveillance as a service) - Облачные решения для записи и хранения видеозаписей с облачными сервисами. Такие сервисы часто предлагают уже преднастроенные ip камеры, привязанные к собственным облачным сервисам.

Cиний туман похож на ...

VSaaS значительно упрощает подключение устройств, но в этом случае приходится ежемесячно оплачивать услуги для каждой из ip камер. Эти услуги не дешевы и стоимость сильно зависит от желаемого срока хранения видеозаписей на сервере. Если вы хотите использовать, например, 10 камер, то стоимость выльется в существенную сумму - от 1000 до 30000 долларов в год в зависимости от срока хранения архива без учета стоимости оборудования. Т.е. каждый ежемесячный платеж может быть больше, чем стоимость самого оборудования. Стоимость облачных камер, как правило, существенно выше рыночных аналогов, несмотря на одинаковое железо внутри. Узким местом VSaaS является пропускная способность канала передачи данных.

При круглосуточной трансляции видео 1920х1080 (HD) в течение одного месяца каждая ip камера может съесть до 648 Гб интернет-трафика. При большой нагрузке провайдер может понижать скорость вашего соединения. Одна камера с высокой четкостью изображения, использующая продвинутые алгоритмы сжатия, например, H.264, генерирует поток данных со скоростью 2 - 10 Мбит/с. С другой стороны, средняя скорость исходящего канала в мире сейчас составляет только 5 Мбит/с.

Получается разрыв между текущими запросами пользователей VSaaS и возможностями каналов интернет провайдеров. Использование нескольких камер становится проблематичным, особенно для камер высокого разрешения. Суммарный поток данных при использовании 150 видеокамер разрешением 2 Мп (30 fps) для охраны периметра, имеет нагрузку на канал связи более 1 Гб/с. Удаленный просмотр, запись видео становятся ненадежными и невозможными. В итоге, облачное видеонаблюдение может превратиться в туманное с потерей важных данных. Многие пользователи уже успели разочароваться в таких сервисах из-за потери важных кадров.

Нейронные сети или из тумана снова в облако

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

Нейросетевые технологии позволяют производить детекцию объектов, обнаружение людей и распознавание лиц, определение номеров автомобилей. Таким образом, в сравнении с обычным детектором движения, видеоаналитика может сократить нагрузку на канал связи и облачное хранилище в десятки раз. Очевидно, что облачная инфраструктура оказывается неэффективной для первичной обработки сырого видеоматериала. Чем лучше видеоаналитика, тем меньше нагрузка на каналы передачи данных.

С другой стороны, облачная инфраструктура может быть эффективно использована для горизонтального масштабирования системы видеонаблюдения - для хранение видео и данных видеоаналитики, для подключения новых объектов наблюдения, для обслуживания большого числа пользователей. Локальное хранилище NVR позволяет буферизовать данные. Оно увеличивает отказоустойчивость системы видеонаблюдения. Срабатывание по событию активирует запись и данные передаются в облачное хранилище в зависимости от загруженности канала.

Необходимо учитывать ограничения по скорости передачи, а также наличие сложных топологий с трансляцией адресов (NAT) и сетевыми экранами. Как правило, большинство технологий, которые для этого используются, требуют присвоения камере или видеорегистратору дорогостоящего белого IP адреса, сложной процедуры настройки с использованием сервисов VPN, UPnPct или DDNS.

Боль пользователей

Интернет провайдеры предоставляют услуги подключения к сети интернет на основании динамически изменяющихся IP адресов из определенного массива. При каждом входе в сеть этот адрес для пользователя изменяется, что требует систематической перенастройки камер системы видеонаблюдения. Провайдер может предоставлять внутренний IP адрес подсети, который будет отличаться от внешнего адреса. Белый статический IP адрес провайдер выделяет на платной основе и стоит эта услуга недешево. Как известно, общее количество IPv4 - адресов в мире ограничено и все они были розданы уже много лет назад. IPv6 - адреса многие камеры до сих пор не поддерживают. Но главная проблема использование внешнего IP адреса для IP камеры крайне небезопасно. IP камера - это простенький и малозащищенный микрокомпьютер, что приводит к большому количеству взломов и утечек информации.

Децентрализация без политики

В последнее время благодаря новым решениям и технологии P2P (peer to peer) можно установить и настроить удаленное видеонаблюдение самостоятельно и очень легко.

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

Основная часть затрат в содержании сервисов облачных решений складывается из расходов на оплату трафика, а также содержание серверов кодировки и декодирования потоков видеосигнала. P2P технологии исключают подобные расходы для поставщика сервиса. Для соединения используются сигнальные сервера, которые всего лишь соединяют между собой камеры и удаленные устройства.

В итоге, Р2Р отличается более эффективным использованием полосы пропускания канала. В этом случае не требуется дополнительная облачная ретрансляция и обработка видеопотока (кодирование/декодирование) и пользователь не зависит от бутылочного горлышка возможностей облачного провайдера. Сервер в данном случае выступает только в качестве посредника, пробивающего NAT, связывающего вашу IP-камеру и устройство пользователя напрямую. Видеопоток передается напрямую от одного вашего устройства к другому вашему компьютеру или мобильному устройству.

Простота настроек сетевого оборудования - основное преимущество Р2Р технологии перед другими способами передачи сигнала. Возможность работы с серыми и динамическим IP позволяет установить видеонаблюдения в местах, где нет доступа к проводному интернету. Достаточно будет приобрести 3G/4G модем с поддержкой Wi-Fi и настроить программное обеспечение.

Зачем платить облаку, если можно наблюдать бесплатно?

P2P видеонаблюдение совмещает в себе систему удаленного доступа к компьютеру и программу получения изображений с видеокамер. Введя определенный код и пароль (аналогично тому, как это делается в приложениях для удаленного доступа к компьютеру), вы можете вести видеонаблюдение и управление системой.

Подробнее можно посмотреть на видео.

Для осуществления мониторинга системы видеонаблюдения вы можете использовать как стационарный ПК или ноутбук, так и мобильные устройства: планшеты, смартфоны. Качество изображения зависит только от ширины канала и стабильной работы связи.

Почему китайские производители камер создают программы с интерфейсом в стиле Чабудо?

У некоторых китайских производителей камер сейчас есть свои облачные и P2P сервисы. Однако, такие сервисы имеют очень специфический интерфейс, нестабильны и медленны, рассчитаны на крайне непритязательных китайских пользователей. Как правило, требуется установка ActiveX расширений и использование определенных версий браузеров и flash-плагинов, а сервера могут располагаться за великой китайской стеной.

Облачный сервис для камер HikivisionОблачный сервис для камер Hikivision

Для китайцев характерен принцип Чабудо. В переводе с китайского в буквальном смысле это означает - да вроде же ничего, и так сойдет, совсем небольшая разница. Он может проявляться в том, что вам, например, скажут, что onvif протокол на ip камере не нужен, так как он уже устарел, или вам поставят розетку неправильного размера, унитаз установят на балконе и т.д..

Чабудо полная противоположность позыву сделать свое дело качественно и с полной отдачей. Дверь не подходит к раме? Чабудо, можно привыкнуть закрывать ее пинком. Алиэкспресс прислал ip камеру, которая глючит? Чабудо же, она хоть и криво, но работает, на что ты жалуешься? Интерфейс неудобный, не рассчитан на крупные шрифты и высокое разрешения монитора? не проблема, китайские пользователи вполне cмогут использовать, поменяв разрешение экрана.

Мнимая свобода выбора

Удивительно, но до сих пор обычный пользователь или небольшая компания практически не имеют возможности купить недорогой и качественный продукт с искусственным интеллектом. Если вы попробуете найти решение, которое можно установить на домашний компьютер для видеонаблюдения на основе искусственного интеллекта, вы обязательно столкнетесь с так называемыми лэндингами или дорвеями. Они представляют собой небольшие сайты, красиво описывающие преимущества какой-либо системы. Однако, на сайте в реальности отсутствует возможность протестировать рекламируемый продукт, и даже нет конкретной цены владения. Вам будет предложено заполнить стандартную форму со своими данными для дальнейшей связи. Вероятнее всего их система еще не готова, либо компания проводит предварительное исследование потребительского спроса для очередного стартапа.

Куда мы идём? Что будет дальше?

Сочетание искусственного интеллекта и Р2Р технологией дает возможность быстрого построения эффективной системы видеонаблюдения без привлечения дорогостоящих специалистов. Простота настройки и эксплуатации не требуется знаний протоколов связи и каких-либо особых требований. В этом случае не нужна дополнительная облачная ретрансляция и обработка видеопотока (кодирование/декодирование) и вы не зависите от бутылочного горлышка возможностей облачного провайдера. Сервер в данном случае выступает только в качестве посредника, связывающего вашу IP-камеру и устройство пользователя напрямую. Видеопоток передается напрямую от одного вашего устройства к другому вашему компьютеру или мобильному устройству.

Для осуществления детекции объекта применяются оптимизированные алгоритмы нейронных сетей на стороне клиента. Они способны работать на относительно дешевых чипах и процессорах микрокомпьютеров. Данные передаются посредством пиринговых соединений в обход облачных сервисов без излишнего кодирования и декодирования. Р2Р отличается более эффективным использованием полосы пропускания канала для передачи видео потока.

Новая бесплатная программа

Web Camera Pro - бесплатная программа, которая написана на Qt, С++ как мультиплатформенное решение. Вы можете использовать любую ip или usb камеру для полноценной системы видеонаблюдения с удаленным доступом из любой точки мира и с минимальными затратами.

Интерфейс Web Camera Pro:

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

Видеоинструкция:

https://www.youtube.com/watch?v=OvSQ1C5Lsd8

https://www.youtube.com/watch?v=CreFNidJqZI

https://www.youtube.com/watch?v=fRJdZATpixg

Скачать бесплатную версию Web Camera Pro можно здесь:

http://free-video-surveillance.com/home-security-camera

Подробнее..

Скорая Психологическая Помощь Product Weekend

15.11.2020 04:14:07 | Автор: admin

Здравствуй, Хабровчанин!
Эта публикация - продолжение статьи "Экстренная психологическая помощь | Prototyping Weekend". Статья повествует о создании Онлайн службы Скорой Психологической Помощи в рамках хакатона, который был организован пражским хакерспейсом Brmlab. Этот мой первый опыт в качестве product owner и full stack developer.

<< ВВЕДЕНИЕ >>

- Что такоеGoto Help?
- Служба экстренной психологической помощи или горячая видео-линия с психологом, доступная на любых устройствах без установки.

Платформа соединяет психолога и нуждающегося в экстренной психологической помощи "здесь и сейчас".

Это добровольная инициатива граждан стран СНГ и Евросоюза с психологическим образованием и опытом оказания экстренной психологической помощи в чрезвычайных ситуациях.

От других проектов мы отличаемся тем, что предоставляем именно ЭКСТРЕННУЮ помощь, консультацию в момент обращения через видео-чат.

Вот примерный круг запросов:
- человек стал свидетелем насилия
- пережил насилие
- получил физическую травму
- вышел из СИЗО

- Как получить психологическую помощь?
- Следуйте инструкции на сайте!

  • Шаг 1:Определите, что с вами произошло.

  • Шаг 2:Нажмите на соответствующую кнопку в секции "Получить помощь", ожидайте запуска видео-конференции

  • Шаг 3:Разрешите видео-конференции использовать микрофон и видео-камеру, после этого ожидайте специалиста.

<< ЧТО НОВОГО? >>

Хочу поделиться прогрессом, который произошёл за эти несколько месяцев с проектом Скорой Психологической Помощи.

1) Переосмысление процесса обработки заявок на получение экстренной психологической помощию.

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

Version 1.0Version 1.0

Стало: на сайте отображается инструкция, как получить помощь и форма для первичного анализа заявки.

Version 2.0Version 2.0

На бекэнеде происходит определения типа заявки и нотификация специалистов, которые выбрали для обработки конкретный тип заявки: паническая атака, пережил/а насилия и т.д.

Version 2.0Version 2.0

После нажатия одной из кнопок, человек перенаправляется в только что созданную видео-конференцию, ссылка на которую отправляется телеграм ботом в чат [живые заявки] с психологами, где заявку обработает один из свободных в данный момент волонтёров.

Version 2.0Version 2.0

2) Переработка архитектуры и технологического стэка платформы.

Было: Google Meet, Google SpreadSheet, Google AppsScript, ChromeExtension, Boostrap 4.
Читать тут "Экстренная психологическая помощь | Prototyping Weekend".

Стало: Python, Nodejs, Jitsi Meet, AWS, GCP, Boostrap 5, Telegram Bot API.
Две облачные гугл функции составляют основу логики. Одна функция рисует веб страничку.

Google Cloud FunctionsGoogle Cloud Functions

Вторая функция обрабатывает заявки от людей: создаёт новые конференции на платформе Jitsi, посылает их ссылки в Телеграм чат [живые заявки], в публикации отмечает специалистов, которые согласились обрабатывать конкретный тип заявки.


2) Формирования сообщества "психологов - волонтёров".

В инстаграме я нашел публикацию с контактами психологов, которые готовы оказывать бесплатную психологическую помощь.

После этого, я контактировал этих специалистов и объяснял принцип работы платформы с предложением принять участие в проекте.

Более 10% специалистов откликнулись. Далее была собрана команда специалистов для организации процесса отбора новых волонтёров.

Это необходимо для выяснения наличия релевантного опыта работы по оказанию психологической помощи в экстренных ситуациях у волонтёра.

В Телеграме было создано два чата:

[штаб] - чат для общей коммуникации участников проекта, баг-репортов и апдейтов.

[живые заявки] - чат, в который бот скидывает ссылки на видео-конференцию, где психолога ожидает обратившийся за экстренной психологической помощью человек.


3) Интеграция платформы Goto Help в существующие инициативы.

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

Ссылка на GotoHelp, присылается обратившемуся за помощью человеку вместе с другими инструкциями. Если человек находится в критическом состоянии, он может воспользоваться экстренной помощью психолога.

4) Обработка первых живых заявок на экстренную психологическую помощь.

От идеи до оказания первой психологической помощи через платформу прошло три месяца.

Feedback и BugsFeedback и Bugs

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

Хочу поблагодарить Всех, кто присоединился к проекту и только собирается это сделать.

5) Что дальше?

Cреди участников проекта с опытом работы в МЧС, разрабатывается программа по дополнительному обучению клинических психологов для оказания психологической помощи в экстренных ситуациях.

Я же займусь поиском маркетинговых агенств, которые будут готовы оказать спонсорскую поддержку в организации рекламной компании по рекрутенгу специалистов. А также запуском open source видео-конференций Jitsi на собственном сервере, чтобы улучшить качество связи.

Подробнее..

Из песочницы Как провести нескучный корпоратив в онлайне и собрать аудиторию в 10 500 сотрудников

25.10.2020 20:05:49 | Автор: admin
На основе 5 корпоративных онлайн-проектов на 2 платформах

За полгода мы все привыкли к онлайн-конференциям, концертам и даже корпоративам. Большая часть этих мероприятий по картинке представляют собой совокупность говорящих голов. Создать ощущение общения, обратной связи, потоков энергии с экрана в экран (что, собственно, и является целью подобных событий) пока удается с трудом даже с бюджетами VK Fest. Рассказываем историю онлайн-корпоративов с обратной связью.

Привет, меня зовут Анна Нетесова, я руководитель event-проектов в КБ Энгиро, Новосибирск. КБ крупнейшее агентство за Уралом по объему бизнеса. Федеральные заказчики из Москвы и Санкт-Петербурга знают нас, в основном, по проектам BoogelWoogel (Роза Хутор) и GrelkaFest (Шерегеш). Эти фестивали собирают по 30 000 человек на горнолыжных курортах, так что мы привыкли к массовым мероприятиям. Из-за пандемии оба эти проекта были отменены за месяц до старта, и мы, мягко говоря, заскучали.

Сперва мы придумали домашний фестиваль. Раз оффлайн отменен, решили мы, можно веселиться в онлайн. Идея заключалась в том, чтобы созвать аудиторию весенних фестов принять участие в фестивальных активностях вместе с Главной студией. Важнейшие условие такого проекта постоянная визуальная и голосовая обратная связь с участниками, которых должна была быть не одна сотня. Мы хотели взять пример со старших товарищей, однако, посмотрев все весенние онлайн-фестивали, снова заскучали. По сути, все они представляли собой красивую сцену, поющих в пустоту артистов, говорящие головы и розыгрыши в чатах. Нам такой вариант не подходил, сибирская душа требовала душевности, общения и зрелищ.

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

Танцы на удаленке


Для целей проекта нужно было решить не очень тривиальные для мая 2020 технические задачи:

  1. Обеспечить бесперебойный выход в прямой эфир порядка 150- человек в течение 6 часов и устойчивую трансляцию на страницу сайта проекта. Это означает, что 150 человек без специальных навыков нужно очень быстро научить обращаться с системой удаленной конференции, а также понять, почему одни устройства в таких условиях работают адекватно, а другие не очень. Как следствие, мы научились писать понятные многостраничные инструкции.
  2. Создать систему, внутри которой, внимание, будут параллельно работать 9 конференций, каждая из которых может в режиме онлайн (реального времени) общаться голосом и визуально с главной студией с минимальными задержками. В каждой из 9 конференций участвуют 6 человек (количество определялось удобством отображения, технически можно делать гораздо больше), каждого из которых мы имеем возможность вывести в эфир как визуально, так и в диалоге.
  3. Обеспечить качество трансляции, годное для просмотра как на компьютерах, так и на смартфонах. При условии, что одновременно в окне плеера находятся (мы помним) 6х9 = 54 человеческие головы.
  4. Сделать это в Новосибирске, с местным, хоть и относительно неплохим, но имеющем некоторые ограничения оборудованием

В итоге сетап проекта выглядел так.

Система конференцсвязи: TrueConf (производитель TrueConf). Остановились на нем, потому что:

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

Видеотрансляция: Webcaster. Важна была заинтересованность провайдера в нетиповом проекте (я снова про разницу во времени), устойчивость и отсутствие прохибита за использование звуковых дорожек. У нас же корпоратив, но YouTube это не доказать.

Техника: стандартный набор камер, микрофонов, 3 видеопульта, 3 видеосервера для роутинга видео, 18 (!!!) ПК для модераторов (один для модерации в режиме онлайн, один для конференции) и змеиное гнездо из примерно километра коммутации.

Важная особенность TrueConf Server это очень ощутимое потребление трафика, примерно по 2-4мб/c на пользователя. Если верить встроенной диагностике, один компьютер потреблял примерно 30-40мб/c трафика, на TrueConf-сервере средняя скорость потока была в районе 250-300 мб/c, в пиках до 400. Обеспечить такой канал за приемлемые деньги можно далеко не везде, но внутренние ресурсы корпорации позволяли.

Коротко о сути эфира.

  1. На фестивале на удаленке сотрудники имеют уникальную возможность сходить друг к другу, фактически, в гости. Поэтому мы придумали форматы, в рамках которых можно было показать свои спортивные достижения, питомцев, детей, похвастать умением готовить и пр.
  2. Максимальное использование всех преимуществ онлайна. Мы могли видеть всех участников онлайн-конкурсов одновременно и комментировать их действия. Жюри конкурсов находилось в 9 сибирских городах. На экране все лица, фактически, становятся большими пикселами ок, мы использовали составные картинки. Апогеем программы стал одновременный выход в прямой эфир 9 команд по 6 человек, которые в процессе эфира визуально взаимодействовали между собой: рисовали мемы (составные), представляли визитку и даже танцевали друг с другом.

В итоге мы оттестировали фестивальную платформу и провели свой первый онлайн корпоратив для 9 сибирских филиалов, который посмотрело 10 500 человек со всей страны. За 7 часов эфира фактически не случалось технических факапов. Технический директор очень удивился и предупредил, что это временно.



Не забудьте включить авиарежим!

Корпоратив это вам не конференция, здесь нет технической и финансовой возможности установить свет и камеры у всех 100+ участников эфира. Вся надежда на инструкции и ласковых и настойчивых технических модераторов. Их задача подготовить спикеров с точки зрения бесперебойного подключения, микрофонов, камеры и фона и убедить их в том, что во время эфира спикер работает только на эфир. Невовремя позвонивший босс или незакрытое окно браузера может вынести участника в самый интересный для него и для зрителей момент.
Обязательное условие технически сложных проектов, в которых участвует несколько десятков непрофессионалов - генеральная репетиция. На которой все действующие лица выходят в эфир в том порядке, в котором будут делать это на самом мероприятии, а трансляция ведется именно в той конфигурации, в какой она будет проходить в реале со звуком, светом и ведущими.

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

Как бы ни было жалко времени и денег, технический и генеральный прогоны с полной имитацией звука, света, подключений, трансляции необходимость, и мы тратим на нее 2 дня
Цитаты рабочего чата:

С наушниками неудобно прыгать!
Томск беспокоится, что его не видно
Объясните, как убрать отзеркаливание
Между завтра и сейчас 40 минут!

Сеанс одновременной игры в YouTube


Воодушевившись, мы взялись за следующий проект, онлайн церемонию награждения. Задача была амбициозная: за 3 часа наградить 300 человек в 9 филиалах, причем каждый должен был почувствовать себя на условном пьедестале то есть показан крупным планом, поздравлен лично руководителем и имеет возможность сказать ответное слово. Мы повторили предыдущую конфигурацию с модераторами и конференциями, но решили сделать награждения в филиалах параллельными, с эпизодическими включениями Главной студии в эфир каждой конференции. При этом на основной сайт транслировалась сборная картинка из Главной студии, а 9 конференций-награждений филиалов можно было посмотреть в YouTube.

По-прежнему, все конференции должны были видеть и слышать главную студию в realtime для живого общения. И мы усложнили задачу: каждая церемония награждения внутри конференции должна была стать маленьким корпоративом с показом видео и ведущим.

Оказалось, что для обеспечения вот этого всего и более-менее красивой картинки в условиях новосибирских запасов оборудования, все 9 модераторов конференций должны освоить как минимум работу с OSB Studio, а также научиться переключать источники звукового сигнала. Так как обычный формат Демонстрация экрана не полностью решал проблему трансляции видеоконтента со звуком в эфир конференции.



Почему? Потому что мы хотели выводить чистый контент, без системных значков, уведомлений и т.д, а также дать возможность модератором иметь относительно простой (кликни-и-запустишь) способ манипуляции контентом.

На этот раз технические боги нас ненадолго покинули. Самой большой ловушкой параллельной трансляции и всеобщего онлайна стал звук Главной студии, который глушил все конференции в трансляциях на YouTube. Вообще история с распределением звуковых и видеопотоков во всей этой истории самая трудоемкая и, скажем так, требующая фантазии технического директора. Каждая конфигурация требует новой схемы коммутации оборудования, а главный ограничивающий фактор количество нужных выходов у устройства. Но мы уже втянулись. Технические неполадки не помешали примерно в 10 раз увеличить аудиторию награждения сотрудников на 300 номинантов мы получили почти 3000 просмотров.

Гибридное будущее


Сейчас у нас за плечами уже 5 онлайн корпоративов, на подходе шестой и седьмой. Почти все они построены на той же, самой первой, технологической платформе, которую мы называем LiveDigital. И, честно, лучшего решения для вовлечения людей в процесс мы пока не нашли. Попытки реализовать подобные решения на частных мероприятиях внутри Zoom или Instagram были в Москве и, как ни странно, в Иркутске, но серийными они не стали. Хотя, как нам кажется, здесь есть огромный потенциал.

Спустя полгода вынужденного онлайна понятно, что будущее за гибридными проектами. В свадьбах хотят принимать активное участие сестры из Канзаса и дедушки из Железногорска-Илимского Иркутской области. Корпоратив для современной распределенной компании это инструмент сплочения персонала, поэтому сотрудники, счастливо живущие и работающие на Лимассоле, тоже должны участвовать.

Чего остро не хватает событийному бизнесу для адекватного перехода в онлайн? Правильно, личного общения и всего, что с ним связано, а также адекватного ценового решения. Строить студию, устанавливать машину железа, нанимать монтажеров масс-маркету не по карману. Даже простое сравнение стоимости организации обычного мероприятия с говорящей головой против LiveDigital пока говорит не в пользу последнего.

Если не сосредотачиваться на VR и американских приложениях для конференций, имитирующих игру SIMS (это дорого, мы смотрели), то мы бы выделили следующие тренды, которые, как нам кажется, не стоит недооценивать разработчикам ПО для конференц-связи.

  1. Максимальная возможность виртуально-живого присутствия, причем с обоих сторон. Спикер должен видеть и, возможно, слышать зрительный зал, зрительный зал должен видеть спикера или артиста. В удобном и красивом интерфейсе. Только тогда при просмотре онлайн-концертов исчезнет ощущение, будто артист половину времени убеждает себя в том, что вокруг него тысячи поклонников.
  2. Упрощение монтажа финальной картинки, управления окнами и звуком. В самом деле, для массмаркета не нужны камеры, видеопультовая, 16-канальный звуковой микшер и узкие специалисты. Масс-маркету нужно выбрать режим для внешнего вида трансляции, запустить конференц-связь в удобном формате и наслаждаться общением.
  3. И самое важное. Зритель должен иметь возможность самовыразиться внутри конференции. Самый простой способ сделать это есть в Zoom и называется она сменить фон. Сейчас больше возможностей нет, но если перенести в онлайн все опции развлекательных приложений типа Reface, работать и развлекаться было бы гораздо веселее. Тогда каждый участник рабочего совещания может пошутить, пустив по экрану прыгающих единорогов, взорвать конфетти, надеть корону или проголосовать так, чтобы это увидели (а не просто поднять руку). А еще хочется петь караоке хором или рисовать mindmap одновременно с нескольких устройств. Продолжать можно до бесконечности.

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

Zoom сейчас сделал шаг в этом направлении, анонсировав Zapps, так что надежда на оптимизацию рабочих процессов есть. Параллельно развиваются онлайн аналоги оффлайн игр, которые стремительно набирают популярность, см. Among Us, Kahoot и аналоги. Вполне возможно, что совсем скоро мы сможем играть в мафию в образах Джека Воробья или Илона Маска.
Подробнее..

Перевод Советы по организации идеальных видеозвонков

29.09.2020 16:20:30 | Автор: admin
Я трачу много времени на видеозвонки. Компания Wave, где я работаю, распределена географически, поэтому в основном мы с коллегами общаемся именно так. Однако общение по видео кажется не таким естественным, как личное, поскольку:

  • Большинство людей используют низкокачественные микрофоны и веб-камеры, из-за чего плохо выглядят и звучат.
  • Между вашим высказыванием и тем моментом, когда его слышит ваш собеседник, существует задержка из-за этого тяжело говорить по очереди.
  • Если использовать наушники, свой голос будет плохо слышно.
  • Эхоподавление не даёт вам говорить в тот момент, когда говорит кто-то другой. В итоге разговор идёт не так гладко.

Я задумался о том, насколько видеозвонки были бы приятнее, если бы мне удалось исправить все эти проблемы. Поэтому я потратил неоправданно много времени на возню с гаджетами и программами. В данной статье я подытожу всё, чему я научился. По-моему, эти рекомендации не пропали даром: беседуя с друзьями, оборудование у которых не хуже моего, я не уставал даже после четырёх часов.

Бен, не заставляй меня читать свой талмуд на 4500 слов, просто поясни, что надо делать


Вот в каком порядке я расставил бы свои советы для меня прошлого (естественно, ваш личный рейтинг может быть другим всё зависит от конкретной ситуации):

  1. Не работайте в помещении, где ваш шум может мешать другим людям, и наоборот.
  2. ($10-30) При проблемах с сетью подключайтесь к роутеру по кабелю. Вам, возможно, потребуется адаптер. Обычно считается, что проблемы со связью это вина провайдера, хотя чаще всего виною служит плохой WiFi.
  3. ($100) Купите открытые наушники они очень удобные, и позволяют вам слышать собственный голос.
  4. ($30) Перейдите от встроенного в ноутбук микрофона на наголовныйпоп-фильтром). Он будет звучать гораздо лучше, а сума собирать меньше. Требует наушников с отключаемым проводом. Теперь, если ваш собеседник тоже сидит в наушниках, вы сможете говорить одновременно, что гораздо удобнее.
  5. Используйте Zoom у него выше качество звука, эхоподавление, и меньше глюков. При наличии наушников и хорошего микрофона включите настройку оригинальный звук, чтобы отключить ненужные фильтры.
  6. ($200) Купите второй монитор для заметок, чтобы Zoom можно было открывать на полный экран. Легко вести беседу, когда в любой момент можно увидеть лица собеседников. Я для этой цели использую iPad с функцией Sidecar. Если будете искать специальный монитор для этого, ищите portable monitor. Если на ваших встречах часто бывают презентации или общий экран, рассмотрите возможность покупки третьего монитора.
  7. Организуйте свет так, чтобы ваше лицо достаточно хорошо освещалось рассеянным светом. Уберите светильники, которые светят прямо в камеру. Освещение важнее, чем то, какое железо использовать.
  8. ($20-80, если есть хорошая камера) Используйте свой фотоаппарат как веб-камеру. ПО существует для камер Canon, Fujifilm, Nikon и Sony. Если они способны выдавать HDMI, купите HDMI-граббер. Вам также может потребоваться возможность подключить камеру к питанию, для чего используйте эмулятор батарейки [dummy battery].
  9. ($40 при наличии смартфона с хорошей камерой) Используйте смартфон в качестве веб-камеры при помощи программы Camo [для iOS; для Android есть DroidCamX / прим. перев.].
  10. ($350) Если у вас нет хорошей камеры, а вам хочется, можно купить б/у беззеркальную камеру начального уровня с объективом, эмулятором батарейки и креплением. Советы см. ниже.

Сеть


Нет ничего хуже для видеозвонков, чем проблемы со связью. При этом проблемы делятся на несколько типов:

  1. Если ваша связь становится хуже, то прерывается голос слушать такой звук утомительно, и это вредит процессу разговора.
  2. Плохая связь увеличивает задержки время между тем моментом, когда вы произносите фразу, и тем, когда ваш собеседник её слышит. Из-за больших задержек случаются эти неприятные моменты говори ты; нет, сначала ты.
  3. Наконец, плохая связь ограничивает пропускную способность, из-за чего страдает качество картинки. При использовании веб-камеры это не так важно, но к концу поста вы, возможно, обзаведётесь хорошей камерой, для которой это уже будет иметь значение.

Я уже писал отдельную статью по поводу поиска недостатков в вашей домашней сети для улучшения качества видеозвонков, но, по сути, большинство проблем со связью происходит из-за того, что WiFi это отстой, и избежать их можно, не используя WiFi. Поэтому сначала попробуйте протянуть Ethernet-кабель от роутера до компьютера. Если задержки и обрывы в связи не исчезли, или если вы не можете протянуть кабель, тогда читайте инструкцию по устранению проблем.

Аудио


Улучшение картинки сразу бросается в глаза и легко заметить. Однако причина, по которой вы вообще участвуете в видеозвонке это, прежде всего, аудио, и звук куда как важнее. Поэтому ему отдаём приоритет.

Удалитесь от других людей


Базовое требование. Коворкинг или кафе это прикольно, если вы весь день молчите. Однако естественное общение трудно организовать, если вы постоянно беспокоитесь об уровне шума. Если вы собираетесь общаться дольше 5 минут, найдите себе отдельное местечно.

Если вы твёрдо решили проводить видеозвонки, находясь в шумных и битком набитых людьми местах, игнорируйте следующий раздел. Ваши звонки в любом случае будут плохого качества разве что вы сможете минимизировать ущерб, купив хороший наголовный микрофон и установив себе krisp.ai [или Nvidia RTX Voice / прим. перев.].

Судя по всему, если вы говорите с человеком, находящимся в шумном месте, вы можете использовать krisp.ai для фильтрации его шума, хотя я этого не пробовал.

Обзаведитесь дуплексным аудио без эффекта эхо


Один из ключевых ингредиентов естественного голосового общения возможность обоих участников одновременно говорить и слышать собеседника (дуплекс). Дуплексное аудио важно потому, что позволяет вам говорить одновременно с другим человеком.

Вам может показаться, что наложение аудио должно происходить редко, поскольку прерывать другого человека это грубо. По большей части это верно, но речь часто немного накладывается друг на друга, чтобы регулировать очерёдность разговора (когда, к примеру, собеседник отклонился от темы), или просто для подтверждения того, что мы слушаем (ага, да-да).

Проблема дуплексного аудио в том, что когда кто-то говорит, его голос доносится из динамиков компьютера, и попадает обратно в микрофон. Если ваш компьютер не выключает микрофон, собеседнику будет воспроизводиться эхо его собственного голоса, что чрезвычайно раздражает. Поэтому программа видеосвязи пытается фильтровать звук, идущий из динамиков в микрофон, занимаясь эхоподавлением.

К сожалению, удалить из потока данных с микрофона одно только эхо от динамиков чрезвычайно трудно. Поэтому иногда ПО просто отключает ваш микрофон, когда говорит ваш собеседник. Если вы пытались сказать что-то собеседнику, и слышали, как звук от него на немного прерывается вы столкнулись именно с этим.

Если ваши слушатели не могут сказать вам что-либо, пока вы говорите, сложно понять, поспевают ли они за вами, и сложнее договариваться о том, чья очередь говорить. Из-за этого беседа кажется менее естественной, особенно когда собеседников несколько.

Для дуплексного аудио вам понадобится (а) аудио устройство, не дающее эха, и (б) убедить ваше ПО для звонков, что не надо пытаться это эхо подавлять.

(а) Аудио устройство не даёт эха то есть, ваш микрофон не должен воспринимать звук, идущий от динамиков. На практике это значит, что динамиками должны быть наушники.

(б) Убедить ваше ПО для звонков, что не надо пытаться это эхо подавлять оказалось удивительно сложным делом поскольку у каждой программы есть своё понимание того, когда нужно включать эхоподавление.

Я провёл собственные испытания систем подавления эха у Zoom, Skype и Hangouts в Chrome и Firefox. Я открыл чат между двумя компьютерами с подключёнными наушниками при таком раскладе эхо подавлять не нужно. Потом я включал проигрывание музыки в один из микрофонов. В другой я говорил, и слушал, становится ли музыка тише.

Zoom, Skype и Hangouts в Firefox приглушают громкость звука, когда я говорю, что означает, что они немного подавляют эхо. В Hangouts в Chrome во время разговора звук полностью отключался. В Zoom я смог полностью отключить подавление, включив настройку использовать оригинальное аудио, которую можно включить навсегда для определённых устройств. Рекомендую сделать это.

Выкиньте ваши беспроводные наушники


Всё оборудование, которое я рекомендую в этой статье, проводное не Bluetooth. В теории, Bluetooth должно быть удобным, но на практике у него есть куча ужасных проблем с задержками аудио, качеством и надёжностью. Кроме того, мне кажется, что открытых наушников с Bluetooth не существует [существуют беспроводные, но не Bluetooth / прим. перев.].

Услышьте себя при помощи открытых наушников


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

Когда я не слышу собственный голос, меня тянет говорить громче во время звонков. Из-за этого связки устают, а я раздражаюсь.

Во избежание этого вы можете купить открытые наушники, у которых вместо крышки сделана сеточка. Я купил Philips SHP9500, и они мне очень нравятся. Других, правда, я не тестировал. Я взял не самые качественные наушники, поскольку во время звонков качество аудио ограничено качеством чужих микрофонов если вы хотите заодно и музыку в них слушать, возможно, вам захочется купить что-то посерьёзнее.

Дополнительный плюс открытых наушников в том, что в них не так жарко. Я не знал, насколько будут отличаться ощущения от их ношения, однако потрясающе иметь возможность носить наушники весь день, не перегревая уши!

Открытые наушники распространяют звук, поэтому все, кто находятся рядом с вами, тоже будут слышать вашего собеседника. Если у вас есть собственное место, это не проблема, но для мест общего пользования они не подходят. Можно подумать, что звук будет попадать в микрофон однако я проверил, и звук получается слишком тихим, если только вы не выкручиваете громкость.

Не отключайте звук


Это не относится непосредственно к оборудованию, но влияет на его выбор. Процитирую Мэтта Малленвега, основателя одной из первых и крупнейших компаний, полностью работающей удалённо:
Одной из моих неортодоксальных рекомендаций для аудио и видео звонков при удалённой работе будет совет не отключать звук, если это возможно. Когда вы говорите в беззвучном чате, это звучит неестественно и странно, и вам кажется, что вы один, даже если вы видите лица других. Если вы задаёте кому-то вопрос, или они хотят вставить что-то своё, придётся ждать, пока они включат звук обратно. Также мне не нравится традиция включать звук, чтобы привлечь внимание, поскольку она обычно приживается на встречах, где люди не слушают друг друга, а просто ждут своей очереди говорить.
Соглашусь с этим и предпочитаю, чтобы люди, с которыми я говорю, не выключали свои микрофоны, если только у кого-то микрофон не настолько плохой, что собирает слишком много шума. У вас такой проблемы не будет, когда вы

Купите более качественный микрофон


Большинство встроенных микрофонов, даже те, что ставят на модные гарнитуры, звучат так плохо, что аж кровь из ушей (микрофон в 2020 MacBook Pro нормальный). Купите микрофон получше, и будете звучать для коллег гораздо приятнее. Послушайте, как я читаю Эдварда Лира на разных микрофонах:


2014 iMac звучит, как жестянка, жестянка и есть.


Jabra Evolve 70 звучит, как будто у тебя насморк


2020 MacBook Pro 13 студийное качество, ага, как же. Насморк средней тяжести.


V-Moda BoomPro название дурацкое, стоит $30, но звучит нормально.

Лучшее качество без проблем это последний вариант, V-Moda BoomPro (используйте поп-фильтр), который подсоединяется к наушникам вместо стандартного кабеля на 3,5 мм.

То есть, из ваших наушников кабель должен выниматься. Если вам это недоступно, более дорогим вариантом будет Antlion ModMic, работающий с любыми наушниками ценой отдельного провода. Бывают и беспроводные варианты, но из-за проблем с качеством и задержками лучше их не использовать.

BoomPro звучит гораздо чётче и без такого приглушения, которым страдают все встроенные в гарнитуру микрофоны. Он также собирает меньше фонового шума, чем любой микрофон, просто потому, что находится ближе ко рту, из-за чего вам легче будет общаться без отключения звука. Но он звучит не так естественно, как отдельный микрофон не для гарнитур.

Если вам хочется микрофон, дающий более естественный звук, вам нужно что-то вроде AT2005 на держателе, прикручивающемся к столу. Если не хотите, чтобы микрофон было видно, на камере нужно будет настроить увеличение и/или обрезание картинки. Сравните звук с BoomPro (чтобы лучше слышать разницу, используйте наушники):


BoomPro


AT2005

Я проверил несколько разных микрофонов и прослушал записи ещё большего их количества. Совсем небольшую разницу в качестве я отличать не научился, однако мои предварительные заключения следующие:

  1. Расстояние ото рта до микрофона важнее всех остальных параметров. Для всех испытанных мною микрофонов разница в расстоянии в 15 и 30 см звучит так, будто я меняю микрофон на другой.

    Просто с точки зрения микрофона удвоение расстояния выливается в четырёхкратное уменьшение громкости, или, что то же самое, делает фоновый шум в 4 раза громче. Кроме того, эхо голоса становится тоже громче, из-за чего микрофон звучать гулко.

    Вот два разных микрофона, записывающие звук с расстояния в 15 и 30 см:


    Blue Yeti, 15 см


    Blue Yeti, 30 см


    AT2005USB, 15 см


    AT2005USB, 30 см
  2. Дешёвые конденсаторные микрофоны звучат более естественно, чем динамические последние звучат более приглушённо. К примеру, Blue Yeti конденсаторный микрофон, а AT2005USB динамический. Говорят, что динамические микрофоны лучше справляются с шумом, но никто не смог мне объяснить, почему. Динамический микрофон легче разместить рядом со ртом, однако если вы хотите вынести микрофон подальше за кадр, это уже не имеет значения. Они также хуже воспринимают высокие частоты и кратковременные звуки, из-за чего могут пропускать некоторые шумы.
  3. Микрофоны стоимостью до $50 и наголовные микрофоны звучат заметно хуже, даже находясь ближе ко рту. А кроме этого, судя по всему, качество звука зависит от внешних условий к примеру, насколько хорошо в вашей комнате слышно эхо. На YouTube можно найти удивительно много блогеров, тестирующих дорогие микрофоны в условиях, плохих для записи звука. Поэтому есть ощущение, что в большинстве случаев при видеозвонках дорогие микрофоны покупать будет бессмысленно.

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

Сравнение других микрофонов для дальнейшего изучения вопроса (ссылка, ссылка, ссылка, ссылка).

Послушайте себя


В видеозвонках, в отличие от реальной жизни, вы слышите не то же самое, что слышит ваш собеседник. Микрофоны тема достаточно сложная, поэтому ваш конкретный набор оборудования значит очень многое. Поэтому весьма важно послушать то, как вы звучите. Это можно сделать при помощи такого веб-приложения, как miccheck.me. Основные проблемы микрофонов взрывные звуки и резкие шипящие, так что выбирайте предложения, где такие звуки есть.

Если такие согласные звучат плохо, смените экран или местоположение микрофона. К примеру, микрофон на гарнитуре располагайте рядом с углом рта, а не перед ним, чтобы не дышать и не плеваться в него.

Видео


Используйте отдельный монитор


Недавно я начал выводить все активные звонки в полноэкранном режиме на основной монитор диагональю 27", а второй монитор использовать для заметок и других дел. Оказалось, что это совершенно по-другому заставляет погружаться в общение. На удивление, такой подход заставил меня сфокусироваться на беседе и не отвлекаться. Возможные причины:

  • В оконном режиме Zoom показывает вас самих в отдельном окошке, но в полноэкранном режиме отдельного окна с заголовком нет, окошко получается небольшим (а ещё его можно спрятать). Получается, что экранного пространства для видео других людей становится больше.
  • Убрав все заголовки и рамки окон, вы меньше обращаете внимание на то, что разговариваете через компьютер интерфейс вас не отвлекает.
  • В оконном режиме я иногда переключаюсь на другое окно, а потом забываю переключиться назад. В итоге я гораздо меньше времени смотрю на людей, и присутствие кажется не таким полным.

Я использую для этого iPad, но вы также можете купить т.н. портативный монитор не дороже $200, который хорошо подойдёт для этой цели.

Улучшите освещение


Лучший способ получить более чёткую картинку на любой камере сделать так, чтобы в фотоматрицу приходило больше света. У ноутбучных камер ужасное качество, но камера ноутбука при хорошем освещении будет показывать лучше, чем модная камера при плохом.


Веб-камера 2014 iMac уничтожена подсветкой сзади


Модная Sony A6000 тоже испытывает проблемы в таких случаях


Веб-камера 2014 iMac выдаёт такую картинку, когда яркий источник света направлен на стену передо мной

Два базовых правила освещения следующие:

  1. Побольше рассеянного света на лицо, чтобы оно было ярче фона. Также, чем лучше освещена сцена, тем менее зернистой будет картинка.
  2. Проще всего добиться этого, поставив стол у окна. Второй вариант освещать лицо светом от искусственного источника, отражённым от светлой поверхности, расположенной за вами [думаю, тут опечатка, и имеется в виду перед вами / прим. перев.].
  3. Если это не получается, можно использовать кольцевой светильник или софтбокс (рекомендаций не даю, ибо не пробовал).
  4. Устраните источники света, попадающее в поле зрения камеры. У камер динамический диапазон (возможность чётко передавать колебания яркости) ниже, чем у человеческого глаза по этой причине, например, ваш телефон не может сделать хороший снимок деревьев днём на фоне ясного неба. Если в камеру попадает яркое окно или источник света, он будет выглядеть пересвеченным, а всё остальное тёмным.

Используйте настоящий фон


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

В Zoom алгоритм отделения фона работает не идеально, часто удаляет части волос или тела, иногда фон просвечивает через глаза, и т.п. Часть реального фона будет видна рядом с волосами, и т.п.

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

Не используйте веб-камеры


Вероятно, очевидно, что веб-камеры ноутбуков это отстой. Даже если они не расположены так, чтобы заглядывать в ноздри изображение с них будет зернистым, размытым, а динамический диапазон у них будет крохотным.

Но менее очевидно, что внешние веб-камеры ведут себя практически не лучше. Меня это удивило, поскольку дорогая веб-камера типа Logitech Brio стоит как две трети б/у фотоаппарата с заменяемым объективом, и должна выполнять единственную задачу. При этом, конечно, картинку Brio даёт лучшую, чем у большинства других веб-камер и всё же гораздо хуже, чем настоящая камера. К примеру, я купил себе Logitech C920, лучшую веб-камеру из обзора ресурса Wirecutter, но она не показала себя значительно лучше веб-камеры от iMac шестилетней давности в основном из-за весьма спорных настроек баланса цвета и экспозиции.

C920 позволяет подстраивать эти параметры, однако у меня ушло 2 часа на то, чтобы догадаться, как это делать, после чего мне пришлось приобрести стороннее приложение ужасного качества. Кроме того, ручная подстройка означает, что вам придётся менять эти параметры каждый раз, когда в течение дня будет меняться освещение, что сильно раздражает.


Камера iMac 2014 года


Logitech C920 я, конечно, бледнокожий, но не настолько.

Используйте смартфон


Я ожидал, что веб-камеры окажутся лучше смартфонов, поскольку причин для их существования более нет. Оказывается, я был неправ у веб-камер действительно нет особых причин для существования. Смартфоны бьют их по размеру фотоматрицы и качеству материалов. К примеру, камера для iPhone 11 стоит $74,5, и имеет матрицу размером 1/2.55, а Logitech C920 стоит $80 и имеет матрицу размером 1/3. Так что, если вам нужна внешняя веб-камера используйте смартфон.

Очевидно, если ваш смартфон недорогой, у C920 железо будет лучше. Однако диапазон случаев, когда покупка веб-камеры оказывается лучше, чем покупка более дорогого смартфона или фотоаппарата начального уровня, кажется весьма узким.


Logitech C920


iPhone XR с приложением Reincubate Camo

Я некоторое время испытывал два приложения для превращения смартфона в веб-камеру: Camo и EpocCam. EpocCam дешевле ($8 против $40), однако глюков у неё немного больше (оба приложения иногда сбоят). У обоих есть бесплатный период с водяным знаком поверх картинки.

Смартфон проще всего установить на гибком держателе. Казалось, что можно найти устройство для закрепления телефона на мониторе поменьше, но лучшее, что я смог найти вот эта клипса. Она закрывает часть изображения, не имеет тонкой подстройки поворота и не крепится на округлые мониторы типа iMac.

Или настоящую камеру


Даже недорогие настоящие фотокамеры по качеству картинки дадут сто очков вперёд смартфону. Картинка будет чётче, фон будет приятно размыт, и всё это будет привлекать внимание к вашему лицу, отвлекая его от гор грязного белья.


iPhone XR с Camo


Sony A6000. Динамический диапазон у неё похуже, зато изображение гораздо чётче.

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

К сожалению, фотокамеры не так дружелюбны к пользователю, и для того, чтобы приспособить их под веб-камеры, придётся потрудиться. Неочевидные советы для тех, кто решит воспроизвести мой набор, Sony A6000 + Elgato CamLink 4k:

  • Берите объектив без моторизованного зума, иначе эта настройка будет сбрасываться каждый раз при выключении камеры.
  • На Sony A6000 переключите верхнее колесо на положение Video. Иначе картинка через HDMI будет хуже, а автофокусировка не будет правильно работать.
  • Откройте диафрагму на максимум, чтобы минимизировать зернистость и размыть фон.

О покупке камер


Не уверен, какая модель будет лучшей, поскольку теперь очень многие производители предлагают драйверы для превращения фотокамер в веб-камеры. До выхода драйверов Sony A6000 была самой популярной рекомендацией в качестве камеры для стримов. Также её часто рекомендуют как беззеркальную камеру начального уровня. Но для Mac её пока можно использовать только при помощи HDMI-граббера, а для Canon/Fujifilm он не нужен. При этом Sony обещает выпустить драйвер для Mac в августе 2020.

Лучше покупать б/у камеру у респектабельного продавца (Keh, B&H, Lens Authority), поскольку случайный продавец с Amazon может недостаточно качественно проверить работоспособность б/у камеры.

Вот мой набор оборудования, хотя я не обязательно рекомендую именно это:

  • Sony A6000.
  • Объектив 16-50mm /3.55.6 PZ OSS (рекомендую 1855mm /3.5-5.6 OSS без моторизованного зума).
  • Elgato Camlink 4k.
  • HDMI to Micro HDMI кабель (тип HDMI-порта у A6000 я выяснял неожиданно долго!)
  • Любой эмулятор батарейки (хотя мой иногда выдаёт ошибку о том, что батарейка села).

Заключение


Главное, что я узнал из этого эксперимента видеозвонки, как и беспроводная связь, пока что работают плохо. У каждого оборудования из набора есть свои закидоны, из-за чего очень сложно выбрать правильное железо и корректно его использовать. ПО делает глупейшие вещи, которые вы не заметите, если не будете знать, что искать. Вы никогда не слышите, как звучите сами, поэтому если вы звучите плохо, вы этого не узнаете. А причины многих из тех проблем, что вы сможете заметить, вы вряд ли сможете отследить, поскольку хорошей диагностики не существует.

Существуй устройство стоимостью в $2000, делающее эту статью бесполезным, мой работодатель купил бы его, не задумываясь как, наверное, и любая другая компания, работающая на удалёнке. Но его нет.
Подробнее..

Jabra Evolve2 40 или комфортная удаленка с элементами аудиофилии

29.11.2020 18:06:30 | Автор: admin

Всем привет!


Итак, после прошлого поста про то, как я ушел на удаленку с 4К камерой и спикерфоном, прошло больше полугода. И мы уже даже успели все собраться в офисе и опять разбежаться началась вторая волна ковида. Кстати решил сдать тест на Ковид и о чудо, я уже переболел видимо в легкой форме, антитела 3,81.

Ко второй волне мой парк гаджетов был пополнен весьма приятным гаджетом, на которое даже не жалко 2 часа времени чтобы снять короткий обзор. Речь пойдет о гарнитуре с микрофоном (моя первая в жизни гарнитура) Jabra Evolve2 40.





Распаковка.


Курьер принес вот такую коробочку:



С обратной стороны:






Вскрытие:



Внутри мой внутренний эколог ликует нет лишней макулатуры в виде инструкций, туториалов и прочего барахла. Только сиротливая мировая гарантия, видимо из за требований законодательства...:


Уши в приятном неопреновом чехле, назначение которого мне не понятно вроде не походный девайс От кого или от чего прятать эту гарнитуру мне пока непонятно, напишите мысли в комментариях:


А вот и вся инструкция:


Диджеям должно понравиться разворот на честные 180 градусов:


Микрофонный хвост откидывается вверх и вниз:


Кабель USB-A, хотя можно было взять USB-C, но на рабочем компе нет такого разьема:


Кабель с индикатором активности:


Внутренний эколог не зря ликовал!


Общий вид на голове:


Кнопки управления громкость и ответ по середине, с маком дружит!


Отдельная кнопка активации и деактивации микрофона:


Вскрыл амбошуры, внутри огромные динамики у меня такого же размера стоят в DT 1770:


Решил залезть поглубже(как я обычно люблю), но смог разобрать только левое ухо все на защелках:






Тот самый микрофон на базе электронно -механической технологии MEMS:




Стороны которые трутся друг об друга при транспортировке, бережно оклеены лентой:


Да, вот тут трутся:


При первом подключении уши начинают обновляться до последней версии:


Так же родная софтина имеет кучу настроек:


Бонусом уши отлично подключаются к айфону с помощью Apple Camera Kit, который я использую для портативного усилителя. Но (бред) их невозможно использовать как гарнитуру только как наушники:






Итоги двухнедельного использования



Дизайн 5/5


Что ни говори, но Jabra заслуженно является хедлайнером в гарнитурах и прочем ВКС железе.
Все очень сторго, аскетично, но в тоже время функционально и понятно. Честно говоря, первый раз как я вытащил их из коробки я не заметил ни одной кнопки (думал их там нет), потом нашел 3, потом еще две. Потом оказалось что и поворотный микрофон тоже функционален.

Звук 5/5


Вот это ради чего я весь обзор и затеял звук просто бомбический. Я не знаю как они это делают, но пассивная звукоизоляция работает магически когда звука нет ты слышишь все что происходит вокруг, но когда идет конференция (звук передается через гарнитуру) все вокруг как будто приглушается (хотя как такового шумодава не заявлено только пассивный). Собеседник слышит исключительно меня, все остальные звуки отрезаются магия.

Еще, что отметил великолепный встроенный усилитель. Скажу одно за 2 недели активного использования я ни разу не достал свою связку для прослушивания музыки FOSTEX RP50 + TOPPING NX4 DSD. Я просто кайфовал от отличного детального звука через Deezer FLAC подписку, причем как с ноутбука так и с Айфона. Сильное место детальность, разборчивость особенно на СЧ и ВЧ. Слабое место есть каша на низах, сложные барабанные партии не их конек (господи о чем это я это же гарнитура, а не студийные мониторы!)))

Эргономика 4/5


Сидят уши свободно, но на моей голове иной раз норовят свалится назад, особенно если часто тыркать откидной микрофон. Особенно часто слетают при активном брожении по дому в связке с Айфоном в кармане. Что сразу (точнее не сразу) замечаешь, так это то, что голова и уши (физиологические) абсолютно не не устают в них, вот от слова вообще мой рекорд 4,2 часа с одним отходом в туалет на пятничной видеоконференции с сотрудниками. Еще отметил, что в сравнении с теми же FOSTEX есть один приятный момент давление на уши при любом уровне громкости практически незаметное, видимо за счет легкой конструкции самих амбошур.

Выводы


Гарнитура конечно для особо приближенных к императору ценителей качественных и действительно профессиональных вещей. Это прежде всего инструмент для очень очень интенсивного использования прежде всего в бизнесе и играх. Мне важно, что в любом месте, в любое время ты просто втыкаешь их в любое устройство и они просто работают собеседник слышит тебя без лишних помех и фонового шума. Да и уровень и ответственность некоторых моих телеконференций просто не позволит провести его в непонятных девайсах непонятного происхождения.
p.s. Под шумок подумал было бы неплохо если микрофон можно было бы отстегнуть тогда были бы еще отличные наушники для самолета, но это уже другая история -)

Спасибо за ваше внимание!
Подробнее..

Шесть самых необычных онлайн-площадок для коммуникации

05.08.2020 16:23:28 | Автор: admin
Для организации онлайн-мероприятий существует много хороших платформ мы о них уже писали ранее. Но все эти вебинары и видеоконференции похожи друг на друга, как серые многоэтажки спальных районов. Когда хочется чего-то необычного, в общение надо впустить немного геймификации.



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


1. Онлайн-бары


Этот тип площадок в период самоизоляции вырос как на дрожжах. Типичный онлайн-бар это красиво оформленная страничка, на которой запускается движок видеоконференции. Обычно там есть барная стойка и звучит фоновая музыка-радио. Подборку таких заведений можно найти на onlinebar.pro. Например, StayTheFuckHomeBar. Здесь собираются до 50 человек, видеоконференция разворачивается на сервисе Whereby. Участники встречи расшаривают экран, делятся записями в Trello и документами. Эмоции выражают в чате через смайлики.


Stay the f**k home bar легендарный круглосуточный онлайн-бар, который стал родоначальником проекта StayReal.online с живым контентом

Плюсы таких площадок чуть более раскрепощенная атмосфера, чем обычный ВКС. Для неофициальных встреч, внутренних рабочих обсуждений, небольших митингов в своем круге вполне подходят. Для участия достаточно зайти по ссылке через браузер ничего сложного.

2. SpatialChat


Когда в видеочате участвуют хотя бы 10 человек, одновременное общение невозможно: все сольется в какофонию булькающих звуков. Обычно все сидят замьюченные, а разговаривают 1-2 человека. Совсем не похоже на настоящую тусовку, где народ расходится по кучкам и что-то кулуарно обсуждает. Можно ли реализовать такое в онлайне? Решение этой проблемы нашлось на площадке SpatialChat.

Эту платформу разработали ребята FunCorpLab в 2019 году в качестве простого эксперимента: как перенести дух вечеринки в сеть. Потом она пылилась в репозитории до начала изоляции. Тогда разработчики задумались, как же им общаться друг с другом, и вспомнили про SpatialChat. В апреле 2020 года идею расчехлили, показали на Product Hunt и платформа взлетела: сейчас ей пользуются до 150 тысяч человек ежемесячно.


Одни смотрят видео, другие превратили санузел в переговорку

Основная особенность SpatialChat возможность изменять положение своего кружочка-видеоаватара на общем поле. Чем ближе твой кружок к другому человеку или видео, тем лучше тебе его слышно. Такая простая механика позволяет кучковаться по интересам в рамках одного мероприятия, менять круг общения и персонально мьютить нежелательных собеседников.

На платформе расшаривают видео, картинки, ставят музыку. Существует текстовый чат, но в урезанном виде: сообщения появляются на пару секунд и пропадают все как в настоящем разговоре. Сколько человек может вместить SpatialChat? Разработчики заявляют, что 10 000, пока же самое большое мероприятие собрало 600 человек.


Совместный просмотр онлайн-трансляции можно оформить под виртуальный концертный зал

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

Больше всего по вкусу SpatialChat пришелся японцам, которые просто фанатеют от всевозможных Zoom-вечеринок.


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

Для подключения к конференции достаточно браузера Google Chrome. Из минусов: для демонстрации презентаций или файлов придется расшаривать свой экран, так как загрузить презентацию на площадку невозможно.

3. Mootup


Что если дополнить обычные видеоконференции элементами виртуального пространства? Так решили разработчики Mootup и создали виртуальные 3D-комнаты для проведения ВКС в Zoom, Teams, Slack, Bluejeans и Webex. Причем подключаться можно как через ПК или мобильник, так и с помощью VR-гарнитуры.

Существует несколько типов виртуальных комнат: офис, коворкинг, школьный класс, конференц-зал, переговорка и выставка. Перед заходом в комнату вы создаете свой персональный аватар, примерно как в The Sims.


Каждый участник может настроить свой аватар: выбрать пол, цвет и длину волос, одежду, внешность

В комнате вы можете оглядываться по сторонам и перемещаться по голубым кружкам. Аватарам доступны девять разных движений: поднять руку, похлопать в ладоши, пожать плечами и т.п.


Кликнув на другого пользователя, можно добавить его данные себе в контакты


Во время видеоконференции участники расшаривают свой экран на дисплеи внутри комнаты. Доступно голосовое общение, текстовый чат и приватный текстовый чат

Бесплатный доступ ограничен количеством участников до 5, а также временем сессии до 40 минут. Платный доступ позволяет создать свой дизайн комнат и разместить в них 3D-объекты из библиотеки семплов.


На экран можно выводить видео с собственной веб-камеры. И почему бы не добавить рядом с экраном бонсай?

Плюсы площадки: 3D-пространство, подстроенное под тип мероприятия, интеграция с несколькими ВКС-платформами. Здесь проводят встречи разного формата и масштаба, хотя проблема у кого-то включен микрофон остается.

Перемещение по заранее расставленным зонам выглядит довольно примитивно, зато аппаратные требования невысокие: все работает через браузер.

4. AltSpace VR


Вообще, в теме с виртуальными мирами что-то есть. И следующее интересное место площадка AltSpace VR. Оно заточено под использование VR-гарнитур, но поддерживает и 2D-режим для пользователей ПК. Чтобы запустить платформу, придется установить толстый (500 МБ) клиент через Steam.


Демонстрационная среда позволяет познакомиться с базовым набором возможностей

Внутри ждет немного мультяшный виртуальный мир, в котором пользователи выглядят как забавные человечки. Посетители организуют мероприятия в готовых локациях либо строят свой собственный мир. Для развлечения участников можно добавить простенькие игры: дартс, шарики. Веб-страницы и свои презентации на Slides.com участники выводят на присутствующий в комнате большой экран. И да, громкость звука здесь, как и в SpatialChat, зависит от расстояния до источника звука.


Обстановка может быть не только офисной

Интересная фишка площадки возможность фотографировать все вокруг и даже делать селфи. Для частных вечеринок это может быть востребовано. Плюсы площадки: хорошо проработанный мир с некоторыми интерактивными объектами, разные пространства для проведения разных типов мероприятий. Основные минусы: необходимость загрузки толстого клиента и общая несерьезность обстановки.

5. Virbela


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


Конференции можно проводить на берегу моря

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


На экраны участники выводят свои презентации и другую информацию

Проведение мероприятий комфортно для организаторов: можно заранее загрузить презентации и видео, повесить на стены билборды. Гостей можно рассадить по приватным зонам, так что соседние группы не будут друг друга слышать. Все это расширяет круг возможных форматов мероприятий.


Места для отдельных рабочих групп

Существует даже такой формат пространства, как виртуальный офис компании: с кабинетами, рабочими местами, переговорками и конференц-холлом. Если для работы нужен только браузер, можно трудиться прямо из мира Virbela.

Аватары в этом VR-мире человекообразные, с возможностью тонкой настройки. У аватара есть семь предустановленных движений, выражающих эмоции: от пожимания плечами до победного танца.


В Virbela тоже можно создать персональный аватар выбрать костюм, прическу, обувь и даже часы

Virbela подойдет для организации развлекательной вечеринки на пляже и для проведения форума на тысячу человек, для всего есть свои фишки. Основной недостаток платформы необходимость загрузки толстого клиента на 5001000 МБ.

6. Minecraft


А что если провести мероприятие не в каком-то специальном пространстве, а прямо в популярной игре? Недавно Вышка (НИУ ВШЭ) провела в MineCraft конференцию по играм в виртуальной копии своего кампуса, а Большой драматический театр им. Г.А. Товстоногова поставил в этой вселенной первый спектакль.


Президиум на одной из сессий

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


Зал практически битком (ограничение накладывала сама платформа)

Движок MineCraft позволяет реализовать самые смелые идеи, но в то же время такой проект трудозатратен. Разворачивать свой игровый сервер чисто для онлайн-пати или рабочих встреч станут только отъявленные активисты.

Придется попотеть и над организацией трансляций внутри игры. ВШЭ, например, для этого использовала Discord. Что интересно, ивенты начинают проводить и в других игровых вселенных. Так, недавно американский репер Трэвис Скотт устроил музыкальный концерт в игре Fortnite. Если так дальше пойдет, ждите большие конгрессы в Fallout 76 и приятельские вечеринки у костра на Кордоне в Stalker. Гитара прилагается.

Сводная таблица онлайн-площадок






Что дальше?


Поиск необычных способов онлайн-коммуникации натолкнул на мысль, что люди в онлайн-общении хотят оставаться людьми: проявлять эмоции, выбирать круг общения, показывать свой статус и свою индивидуальность. Кое-что из этого виртуальные миры могут дать уже сейчас, и совсем скоро смогут все.

Разумеется, это не полный список платформ. Мы брали только те, которые казались нам интересными или необычными. Поэтому, например, мы пропустили тот же Mozilla hubs. А какие интересные платформы и места для онлайн-общения попадались вам? Поделитесь в комментариях, мы обязательно их посмотрим и протестируем самые необычные и полезные для организаторов мероприятий.



Также вам может быть интересно:
Сравнение семи популярных платформ для вебинаров и конференций
Проба еще 5 платформ для вебинаров
Подробнее..

6 отечественных платформ для проведения онлайн-трансляций и видеоконференций

15.09.2020 20:16:34 | Автор: admin


Привет, Хабр! Как и раньше, я продолжаю искать специализированные сервисы для совместной работы. В прошлый раз я публиковал обзор о сервисах почты для домена, сейчас же мне понадобились отечественные площадки для проведения онлайн-трансляций.

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

DEEP Platform


Российская платформа для проведения онлайн-мероприятий с любым количеством участников.

Среди доступных функций:

  • Виртуальный ведущий и LIVE-комментатор.
  • Онлайн-трансляции и видеовстречи.
  • Лента мероприятия.
  • Чат.
  • Геймификация.


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

Для того, чтобы участники смотрели трансляции, предлагается несколько механик контроля внимания:

  • Вопросы участникам, если речь идет о трансляции.
  • Стоп-вопросы и тесты, если речь идет об учебном курсе.

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

COMDI




COMDI это команда специалистов и собственная платформа вещания для трансляций. СOMDI организуют онлайн-мероприятий любой сложности, включая полностью виртуальные события и телемосты с аудиторией в сотни тысяч зрителей Создатели компании Webinar Group, которые также выступают под брендами Webinar.ru, We.Study, Webinar Meetings.

Инструментарий плеера позволяет выявлять потенциальных клиентов среди зрителей, измерять вовлеченность сотрудников, взаимодействовать с аудиторией через интерактивные инструменты, формировать детальные аналитические отчеты, позволяющие оценивать эффективность мероприятия. И все это во время трансляции.

К плееру с трансляцией можно подключить ленту из Twitter с хэштегом мероприятия. Его можно размещать на сайтах, а также сообществах Facebook, Вконтакте и YouTube. Благодаря этой возможности зрители могут общаться не только с организаторами рассылки, но и друг с другом. Плеер работает на любых мобильных устройствах.

COMDI организует онлайн-мероприятия под ключ, обеспечивает минимальное время на подготовку и при необходимости берет все детали организации на себя.

TrueConf




Компания TrueConf разработчик корпоративного программного обеспечения и оборудования для видеоконференцсвязи, проведения трансляций и вебинаров. ПО компании совместимо с Zoom, Cisco Webex, BlueJeans, Lifesize и другими сервисами.


При необходимости системы TrueConf можно интегрировать с инфраструктурой предприятия. Поддерживается:

  • Каталоги пользователей Active Directory.
  • Сторонние H.323/SIP терминалы видеосвязи.
  • Интеграцию с корпоративной телефонией.
  • Трансляции конференций, вебинары и т.п.

Работает видеосвязь и трансляции на всех платформах, включая Windows, Linux, macOS, iOS и Android. Абонентов неограниченное количество, но лишь в случае покупки платного сервиса.

ZEEN




Специализированный сервис для проведения онлайн-мероприятий. Разработчики сервиса предусмотрели возможность кастомизации мероприятий под конкретные задачи. Организаторы утверждают, что благодаря этому организатор получает возможность продолжительное время удерживать внимание зрителя.


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

  • Текстовая трансляция.
  • Голосования.
  • Опросы.
  • Управление контентом.

Чаще всего ZEEN используется для создания полноценного online-мероприятия в дополнение к оффлайну. Но если офлайн-мероприятия не планируются, то можно использовать лишь online-функции.

Среди прочих особенностей платформы:

  • Организация трансляции мероприятия с возможностью отслеживания хода выступления по основным темам и получения информации о спикере.
  • Возможность добавлять авторские текстовые комментарии для сопровождения трансляции.
  • Голосование во время выступления спикера.
  • Создание опросов для закрепления материала или выяснения уровня удовлетворенности контентом.

VideoMost


image

Достаточно популярный в России программный продукт, который позволяет организовывать трансляции и видеоконференции через браузер или клиентское приложение. Среди функций платформы мобильный мессенджер, совместная работа с документами, проведение голосований, доска с совместным доступом, плюс интеграция с электронным дневником и журналом.

При помощи сервиса можно организовывать бизнес-конференции, вебинары, онлайн-обучение. Благодаря оптимизированному ПО встречу с участием 1000 человек можно организовать при помощи одного сервера, мощность которого аналогична мощности современного десктопного ПК. При необходимости встречу можно масштабировать, добавляя новых участников.

Среди прочих возможностей:

  • Полностью готовая подсистема аудио и видео IP-коммуникаций на основе движка SPIRIT.
  • SDK с проработанным программным интерфейсом (API).
  • Гибкая масштабируемая архитектура системы.
  • Поддержка стандартов SIP и XMPP.
  • Платформа используется многими российскими компаниями, включая телекоммуникационного гиганта Ростелеком. Он продает услуги PaaS ВидеоСервер базе VideoMost.

Всего несколько лет назад отечественных сервисов онлайн-трансляций и видеоконференций было не так уж и много. Но сейчас их точно больше десятка. В этой подборке я постарался упомянуть самые известные/новые. Но есть и другие. Их, возможно, постараюсь оценить в следующий раз.
Подробнее..

Как организовать качественное видеомикширование источников во время онлайн трансляций?

20.11.2020 12:14:59 | Автор: admin
Кто сегодня не слышал про вебинары реалии сегодняшнего дня. Вебинары уже лет пять назад начали стремительно набирать обороты, а уж сегодня так это массово используемый прием обучения, продаж, маркетинговых исследований, представлений и так далее. Организации знают, чтобы оставаться на рынке, нужно постоянно генерировать новый контент и светиться на рынке. Значит контент должен выходить на свет все более качественный, приятный глазу и слушателю, удерживая его фокус внимания на нужных вещах.



Поэтому одна встроенная камера в ноутбук и сама презентация уже никого не удивляет. Люди прибегают к использованию нескольких камер с качественной оптикой, возможностью приближения, различными углами съемки, выносными микрофонами и так далее. Больше источников аудио и видео сигналов, плюс дополнительные требования к видеообработке, свету, микшированию сигналов, а также онлайн стриминг сразу в сеть просто вынуждают компании предлагать рынку готовые устройства все в одном потоковые видеокоммутаторы.

Популярность веб-конференций и направления коммутирования сигналов


Потоковое или живое видео всегда интереснее записи. Здесь все по-настоящему, есть ведущий, есть зрители и трансляции в таком формате проходят буквально тет-а-тет, достигается практическое живое общение, вплоть до озвученных вопросов от участников и такие же ответы ведущих. Соответственно для создания приятного глазу и слуху видео-контента требуется уровень камеры и звука чуть выше, чем от привычных стандартных встроенных устройств.

Хорошо, если камера может выдавать сигнал по USB, тогда не потребуются карты видеозахвата, но если использовать несколько камер уже будут сложности. Та же история со звуком отдельный микрофон-петличка, значит на приемной стороне будет аудио-кабель. Можно сразу и в компьютер, если есть микрофонный вход. А если микрофонов несколько тогда дополнительный микшер.

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



Аппаратные устройства


Первый приходящий вопрос в голове: а кто чаще работает с живым сигналом, если не люди из броадкастинга?. С другой стороны, компании, разрабатывающие AV оборудование для эффективного обмена аудио и видео информацией высокого качестве в разных проектах, также имеют в своем арсенале качественные коммутаторы видео сигналов. Но здесь внимание уделяется качеству, дальности передачи и переключению сигналов, нежели эффектным переходам.

Дополнительный сильный толчок за счет произошедшей ситуации во всем мире с начала 2020 года позволил компаниям перестроить подход используемого оборудования под новые нужды. Таким образом, появился некоторый новый сегмент рынка, объединивший функционал работы с живым видео, работой с цифровыми сигналами, одновременно интегрировав микширование аудио и видео, упаковав все это в одном устройстве, приукрасив возможностью потоковой трансляции, что стало привычным для большинства компаний на сегодняшний день.

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

То бишь такое устройство, с которым может разобраться не только профессионал, но и любой пользователь. В итоге на рынке, на сегодняшний день, уже более десяти различных компактных устройств микширования и стриминга, укомплектованных в едином корпусе, от зарекомендовавших себя производителей AV-оборудования. Есть достойные модели, подходящие под студийные мероприятия, а также средние и базовые модели, которые можно использовать в офисах во время вебинаров, в домашних условиях или брать с собой для проведения выездных мероприятий.

В этой статье пойдет речь только о микшерах с интегрированным функционалом потокового стриминга, потому что углубляться в отдельный мир микшеров видео сигналов без встроенной функции потоковой передачи не имеет смысла, так как модельный ряд в этом случае различен и огромен. Нас интересуют устройства компактных размеров, с основными входами/выходами HDMI (чаще используемые в массах), с микшированием аудио сигналов (в том числе микрофонов), с подключением микрофонов, стримингом в сеть или USB, а также возможностью проведения веб-конференций без профессиональной режиссерской подготовки.

Потоковые видеокоммутаторы


Первая компания, о которой пойдет речь, берет свое начала в стране восходящего солнца Японии, в 1972 году. Основное направление производство электронных музыкальных инструментов и программного обеспечения к ним. Богатая история компании, зарекомендовав себя среди музыкальной индустрии, с 2010-х годов расширяет сферу влияния в области видео сигналов, итогом чего являются как раз компактные потоковые видеомикшеры.

Roland Corporation предлагает широкую линейку оборудования видеомикшеров, которая успевает двигаться в ногу со временем, поддерживая стандарты 4К качества, однако в роли потоковых микшеров выступают лишь три модели на конец 2020 года.
Модель VR-1HD VR-4HD VR-50HD MK II
Краткое описание Вещательная студия формата подключил и работай. Полноценная студия стандарта HD в формате компактного устройства. Расширенная модель, вобравшая мощный функционал студийного микшера с возможностью потоковой трансляции.
Входные интерфейсы 3х HDMI 4х HDMI 4х HDMI, 4х SDI
Выходные интерфейсы MAIN: 1х HDMI;
MONITOR: 1х HDMI;
THRU connector: 1х HDMI (from HDMI 3rd);
USB: 1x USB (type B);
MAIN: 1x HDMI or
RGB/COMPONENT;
PREVIEW: 1x HDMI;
USB: 1x USB (type B);
2x SDI (PGM OUT, AUX OUT);
3x HDMI OUT (PGM OUT, AUX OUT, MULTI-VIEW OUT);
2x Analog RGB/HD-Component (PGM OUT, AUX OUT);
USB: 1x USB (type B);
Микрофонные входы 2 XLR/TRS 4 комбо-разъема XLR/TRS 6 комбо-разъемов XLR/TRS
Линейные входы 1 стереофонический RCA 1 стереофонический RCA + 1 стереофонический миниразъем 2 стереоджековых 1/4" + 2 стереофонических RCA
Дополнительные возможности Выход USB 3.0 для онлайн трансляции, захвата и выдачи аудио-сигналов Выход USB 3.0 для онлайн трансляции, захвата и выдачи аудио-сигналов Выход USB 3.0 для онлайн трансляции, захвата и выдачи аудио-сигналов
Стоимость РРЦ (конец 2020 года) 105'500 руб 224'800 руб 528'900 руб
Помимо основных характеристик, микшеры поддерживают различные функции в числе которых присутствует бесплатное программное обеспечение, позволяющее записывать видео и аудио сигналы по USB сразу на жесткий диск компьютера.



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



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

imageДалее, начиная с базовой модели, присутствует возможность создания готовых пресетов, вызывая которые во время эфира или подстраиваясь на ходу, можно объединять картинку в картинке, применять совмещение или разбиение экрана (split screen).


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

И самое главное, что здесь есть это встроенная возможность подключения и трансляции аудио-видеосигнала по USB 3.0 на компьютер, а далее на любые платформы. При этом, помимо извлечения эмбедированного (внедренного) аудио сигнала из видеоисточников HDMI, можно микшировать аудио сигнал с порта USB во время звонков по программному ВКС (Skype, Zoom, Teams и так далее). Разработчики не забыли интегрировать функцию Echo Cancelation для предотвращения возникновения обратной связи с компьютерным аудио.



В более старшей модели VR-4HD видимыми различиями является встроенный сенсорный экран, на котором можно выводить multiview режим, а также информацию меню управления.

Есть поддержка функции DSK (Downstream Key) для накладывания титров, текстов песен или логотипов на видеосигналы источников, которые могут меняться.

imageА в расширенной модели VR-50HD MK II уже есть удаленное управление подключенными PTZ камерами, позволяя управлять шестью PTZ камерами одновременно по сети. Выходных интерфейсов три Program, Multiview, а также AUX, позволяя перенаправлять любой подключенный сигнал на данный выход, который работает независимо от основного программного выхода.

Итогом получаем компактное устройство, которое с одной стороны позволяет коммутировать видео-источники, с другой обеспечивает простое управление аудио сигналами. При этом все управление рассчитано на одного оператора, не требуя наличия специализированных знаний.

Другая компания, которая была основана лишь в 2002 году и является австралийским производителем электронного оборудования, в основном разработанного для вещания и видеопроизводства, достаточно быстра стала популярной в сфере вещательного телевидения. А уже в 2020 году представила линейки компактных видеомикшеров с возможностью потокового вещания, отвечающие сегодняшним тенденциям АВ-рынка.

Blackmagic предлагает три варианта видеомикшеров для создания многокамерного контента на вещательном уровне.



Вся линейка микшеров лишена излишек, компактный дизайн, минимальные размеры, здесь учтено лишь только то, что нужно. Похоже на то, что разрабатывалось это устройство именно как дополнение для веб-трансляций и не более.
Модель ATEM Mini ATEM Mini Pro ATEM Mini Pro ISO
Краткое описание Модель имеет 4хHDMI входа, выходы 1хHDMI и 1хUSB, а также 2х микрофонных входа. В дополнении к модели mini, модель Pro имеет возможности записи в H.264 на флеш-диски USB, обеспечивать потоковую трансляцию через Ethernet. Имеется многооконный режим (до 4х источников). В дополнении к модели Pro, модель ISO позволяет вести запись до 5ти отдельных видеопотоков в H.264. Сохранять проектный файл DaVinci Resolve для дальнейшего монтажа.
Видео входы 4х HDMI 4х HDMI 4х HDMI
Видео выходы 1хHDMI
1xUSB
1хHDMI
1xUSB
1хHDMI
1xUSB
Разрешения Up to 1080p60 Up to 1080p60 Up to 1080p60
*support input standards up to 1080i/p60
**поддерживают автоматическое преобразование форматов на всех входах HDMI
Аудио входы 2х (mic) 3.5mm miniJack (stereo) 2х (mic) 3.5mm miniJack (stereo) 2х (mic) 3.5mm miniJack (stereo)
Multiview - + +
Стриминг С помощью бесплатного ПО Через Ethernet порт Через Ethernet порт
Запись на USB-флеш диски - + +
Стоимость РРЦ (конец 2020 года) 34'790 руб 59'900 руб 91'990 руб
Концепция данных устройств позиционируется именно как устройство для стриминга с функциями видеомикшера, поэтому здесь всего один выход HDMI, USB и LAN. В зависимости от модели, можно либо осуществить трансляцию через бесплатное ПО с компьютера через USB подключение (ATEM mini), либо непосредственно через Ethernet порт, а USB-интерфейс использовать для записи на USB-флеш накопитель (ATEM mini Pro и ISO).

imageВсе компактные микшеры данного производителя поддерживают эффектные переходы, возможность наложения титров, бесплатное программное обеспечение ATEM Software Control для удаленного управления с компьютера, плюсом имеется возможность разрабатывать собственные продукты с помощью пакета SDK.

Различия имеются лишь в потоковом вещании и записи сигналов для пост-обработки.

Базовая модель mini является мини-микшером с возможностью эффектного переключения 4-х входных сигналов и вывод любого из них через HMDI интерфейс. Если требуется стриминг тогда потребуется USB подключение к компьютеру с установленным ПО (бесплатным от производителя). А Ethernet порт в этой модели используется только для удаленного управления.

imageСредняя модель Pro имеет все характеристики базовой версии, но уже обладает возможностью стриминга непосредственно в H.264 через Ethernet порт. Порт HDMI в данном случае используется для режима multiview, на котором можно отобразить: сигналы preview, program, каждый входной сигнал, медиаплеер с выбранной графикой, состояние записи, трансляции и аудиоблока.

Получается, что для потокового вещания компьютер не нужен, а управление можно настроить хоть с телефона (ПО присутствует), подключив микшер и телефон к точке доступа wi-fi.

imageА расширенная модель Pro ISO позволяет производить запись пяти сигналов программного и чистых сигналов с входов для дальнейшего монтажа.


В итоге компания представляет три варианта, от самого простого, где требуется дополнительный ПК для трансляции, средний вариант который имеет уже полный функционал для микширования каналов, записи на внешние диски и главное, трансляцию. И топовый вариант для тех, кому больше необходима пост-обработка в дополнении к основному функционалу.


imageЕще одна компания, основанная в 1979 году в Тайвани, идущая с девизом просто лучшие соединения позиционируется на рынке как производитель коммутационного оборудования. В дополнении к уже существующему оборудованию, представила удивительно-компактный видеомикшер, чтобы не отставать от тенденций развития потокового контента на рынке.

ATEN UC9020 является микшером, у которого встроенного экрана нет. Поэтому, чтобы просматривать дополнительную информацию (а она нужна), придется приобрести планшет от не менее известной американской компании Apple. А чтобы планшет в неудобный момент времени не разрядился понадобится еще один разветвитель для питания.
Модель UС9020, UС-9020
Краткое описание Портативное устройства для микширование многоканального видео и звука с возможностью потоковой трансляции.
Видео входы 1x HDMI (до 4K@60Гц);
2x HDMI (до 1080@60Гц, переключаемые)
Видео выходы 1x Loop-Thru HDMI (до 4K@60Гц);
1 x HDMI (PGM) (до 1080@60Гц);
USB 3.0
HDCP Не поддерживается
Аудио входы Деэмбедирование из HDMI;
1x микрофонный вход, 6,5 мм (dual mono);
1x линейный вход, RCA
Аудио выходы Эмбедирование в HDMI;
1x разъем линейного выхода, 3,5 мм (стерео)
Запись на USB-флеш диски Через USB-порт
Стоимость РРЦ (конец 2020 года) 136'030 руб
Устройство без дополнительного планшета, выполняющего роль экрана, работать будет, но настроить будет невозможно. Микрофонный вход только один, хотя при этом присутствует захват 3х источников видео, один из которых поддерживает разрешение 4К и имеет свой проходной выход. Но максимальное выходное разрешение только fullHD.

Идеология устройства в том, что программное обеспечение, как и ПК не требуется, подразумевается работа в формате plug-n-roll. Заложенный функционал позволяет осуществлять предварительный просмотр и мониторинг через приложение на планшете, менять пресеты с выбором: полноэкранный режим, изображение рядом, картинка в картинке, позволяет накладывать текст и субтитры. Сама трансляция идет непосредственно через Ethernet порт, что удобно.

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

Еще один тайваньский производитель DataVideo, основанный в 1985 году, в основном специализирующийся на разработке и производстве оборудования для вещательного рынка, также выпустил микшерный пульт с возможностью потоковой трансляции в корпусе с основным 14 сенсорным экраном и дополнительными элементами управления.
Модель KMU-200
Краткое описание Устройство все в одном, позволяет переключать, микшировать звук, вести запись и потоковую трансляцию.
Видео входы 1x HDMI 2.0 (up to 3840x2160p@60);
1x HDMI 1.4 with Loop through (up to 1920x1080p@60)
Видео выходы 2x HDMI 1.4 (PGM, AUX) (up to 1920x1080p/i@60)
HDCP Не поддерживается
Аудио входы 2x XLR(Mic);
2x RCA
Аудио выходы 2x Unbalanced RCA
Запись на SD-карты Присутствует
Стоимость РРЦ (конец 2020 года) 359'325 руб

imageИтак, идеология устройства позволяет захватывать видео сигнал с двух физических интерфейсов, один из которых поддерживает 4K-разрешения, а другой (с доп. проходным выходом) только fullHD разрешения. При этом суть поддержки камер с разрешение 4K в том, чтобы можно было сделать 4 вырезки кадров из одного потока, тем самым получив 4 различных картинки (как будто у вас 4 входных видео потока).

Плюс остается общий вид и возможность подложить заранее подготовленную картинку. Итого шесть дорожек видео контента и шесть физических клавиш для переключения этих источников.

imageВидеомикшер позволяет как транслировать потоковый контент в H.264 по сети через Ethernet, так и записывать этот контент на SD-карту, разъем которого предусмотрен на лицевой части видеомикшера.

imageОсобенностью данного микшера является возможность съемки, обработки и трансляции видео контента не только в привычном landscape режиме, но и в портретном, что популярно для съемки или просмотра со смартфонов.

Соответственно, второй вход на микшере может использоваться для захвата презентационного материала с ПК. Два микрофонных входа с дополнительным входом интерфейсом RCA и таким же выходом. И в итоге получается достаточно интересный видеомикшер, который с одной стороны может вырезать 4 сцены из одного потока, второй вход с меньшим разрешением может использоваться для презентационного контента, захватывать звук с двух микрофонов и при этом поддерживать одновременный стриминг. Все это вместе создает компактное устройство.

Заключительный микшер, который уже достаточно давно продается на рынке, но не имеет такой популярности, как предыдущие. Разработан известной японской компанией, основанной в 1946 году представила еще в конце 2016 года микшер Sony MXC-500.
Модель MXC-500
Краткое описание Микшер с возможностями работы с различными камерами, использовать как 5-и канальный аудиомикшер. Стримить, вести запись на карты SD. И все это в удобном едином корпусе.
Видео входы 4x SDI;
2x HDMI (up to 1920х1080i/p);
Видео выходы 1x SDI (PGM);
2x HDMI (PGM, multiview) (1920x1080i/p);
HDCP Не поддерживается
Аудио входы Деэмбедирование из SDI, HDMI;
2x XLR/TRS;
Аудио выходы Эмбедирование в SDI, HDMI;
2x LINE L и R;
Запись на SD-карты Присутствует
Стоимость РРЦ (конец 2020 года) 220'000 руб
Видеомикшер позволяет вести микширование сразу нескольких входящих видеосигналов (до 4-х одновременных), есть несколько входных аудио-интерфейсов для подключения 2-х микрофонов, а также дэембедировать аудио сигнал из видео потока. Присутствуют возможности наложения титров, различные схемы наложения контента (например, PinP) и небольшое количество эффектных переходов. По выходам имеются два интерфейса: мультивью и программный выход.

А также встроенная запись на внешние SD-карты, заменяющая отдельный рекордер и одновременный стриминг в H.264. И все это в одном флаконе компактный мини-микшер.

Заключение


Каждый производитель стремится успевать в ногу со временем, отвечая требованиям сегодняшнего дня. А именно реализовывать компактное устройство все в одном, с возможностью коммутирования входных источников, микрофонов простыми пользователями, а также обеспечивать потоковое вещание на большинство современных платформ для возможности увеличения своей аудитории. При этом, каждое устройство обладает хоть и похожим, но все же различными функциями и фишками. Одни разрабатывают удобный фейдер смены кадров, другие берут пользователей компактным размером, третьи за счет огромного сенсорного экран и так далее. Все эти навороты создают расширенный модельный ряд, а значит позволяют подобрать оптимальное решение под каждую задачу.
Подробнее..

Как разработать аналог Zoom для ТВ-приставок на RDK и Linux. Разбираемся с фреймворком GStreamer

29.09.2020 16:20:30 | Автор: admin
Сценарии: как использовать приложение для видеоконференций на SmartTV и ТВ-приставкахСценарии: как использовать приложение для видеоконференций на SmartTV и ТВ-приставках

Пандемия COVID-19 стала катализатором для новых полезных сервисов. Например, Zoom стал настолько успешным, что по стоимости обогнал в этом месяце IBM. Нас вдохновил этот пример, и мы решили пойти еще дальше: а что если онлайн-конференции реализовать на приставках и Smart TV, чтобы общаться не только по работе, но устраивать удаленные посиделки на диване с друзьями? Но ведь тогда можно на футболе вместе покричать, и кино посмотреть или спортом заняться под контролем тренера.

Почему-то у операторов цифрового ТВ такой услуги не оказалось, хотя с инженерной точки зрения все эти функции вполне можно реализовать на ТВ-приставках на базе Linux/Android и RDK. Мы это проверили на практике и вот теперь делимся с читателями Хабра своим рецептом создания аналога Zoom и видеоконференций через Smart TV. Разберем архитектуру решения и кодирование видеопотока с использованием GStreamer. Информацию для работы с этим фреймворком мы собирали по крупицам, но оно того стоило.

Разбираемся с архитектурой

При разработке архитектуры приложений для ТВ-приставок важно учитывать потенциальные ограничения программной и аппаратной части этих устройств. Те, кто создает desktop-программы, как правило, не сталкиваются с этими сложностями, а для embedded-разработчиков это обычное дело.

Итак, с чем мы столкнемся на ТВ-приставках:

  1. Ограниченность ресурсов процессоров и самих приставок. Чаще всего в STB-устройствах используются разнообразные ARM-процессоры, они несут в себя ряд ограничений и дополнительных задач, в частности необходимость использования аппаратного кодирования/декодирование видеопотока. Всегда нужно учитывать, что быстродействие одно из узких мест.

  2. Разность архитектур в приставках разных производителей. Некоторые базируются на Android, другие на RDK, третьи на дистрибутивах на базе Linux со своими ограничениями и нюансами. Поэтому на старте разработки лучше выбрать наиболее общие и кроссплатформенные решения в разных модулях программы. Уже не говоря о поддержке desktop-версии. А уже потом переходить к частным случаям.

  3. Сетевые ограничения. Многие приставки работают как по Ethernet так и по wifi. Сжатие и передача видео/аудиопотока еще одно узкое место в приложениях такого рода.

  4. Безопасность передачи потока и др. вопросы безопасности данных.

  5. Поддержка камер и микрофонов на встроенных платформах.

Теперь можно разложить по полочкам и саму архитектуру. Аналог Zoom для ТВ-приставок будет состоять из нескольких больших компонентов и модулей:

  • Захват видеопотока

  • Захват аудиопотока

  • Сетевой модуль

  • Модуль кодирования видео/аудиопотока

  • Модуль декодирования видео/аудиопотока

  • Вывод видеоконференции на экран

  • Вывод звука

  • Цветовые преобразования

  • Несколько других второстепенных компонентов

В упрощенном виде один из вариантов архитектуры можно изобразить так:

Архитектура приложения для видеоконференций через Smart TVАрхитектура приложения для видеоконференций через Smart TV

В рамках статьи мы сфокусируемся на кодировании декодирования видеопотока и на возможной реализации с использованием фреймворка GStreamer, т.к. это один из ключевых моментов в разработке приложений для видеоконференций.

Кодирование/декодирование потока

1) Преимущества GStreamer

Как мы уже отметили, одним из узких мест является передача видеопотока. Предположим у вас есть камера, отдающие кадры на скорости 30 кадров с секунду на небольшом разрешении 640x480. Итого, в RGB24 получается:

640 х 480 х 3 х 30 = 27 648 000 байт в секунду, т.е. более 26 Мбайт в секунду, что по понятным причинам совершенно неприемлемо в рамках сетевой передачи.

Один из вариантов решения реализовать кодирование какой-нибудь библиотекой. И тут, как можно уже было догадаться из названия статьи, выбор пал на фреймворк GStreamer. Почему именно эта библиотека? Вот несколько ее преимуществ на фоне остальных решений:

  1. Хорошая кроссплатформенность и отличная поддержка Linux и Android.

  2. На RDK Gstreamer является стандартом кодирования/декодирования и включен в дистрибутив по-умолчанию.

  3. Поддержках широкого набора модулей, фильтров и кодеков. Тот же FFmpeg, который можно использовать для тех же целей, де-факто является лишь одним из модулей GStreamerа.

  4. Простота построения конвейера (pipeline). Выстроить цепочку кодирования/декодирования не составляет большого труда, а сам подход конвейера позволяет легко заменять кодеки, фильтры и прочее без лишнего переписывания кода.

  5. API для работы С/C++ идет комплекте.

  6. Поддержка аппаратных кодеров/декодеров, в частности OpenMAX API что крайне важно при работе с ТВ-приставками.

2) Знакомимся с GStreamer разбираемся с конвейерами

Прежде чем приступать к рассмотрению кода, давайте разберемся с тем, что можно делать пока и без него. В состав GStreamer входят полезные утилиты для работы, в частности:

gst-inspect-1.0 позволит посмотреть список доступных кодеков и модулей, так что можно сразу увидеть, что будет работать, и выбрать набор фильтров и кодеков.

gst-launch-1.0 позволяет запустить любой конвейер (pipeline).

В GStreamer используется схема декодирования, по которой поток последовательно проходит через разные компоненты, начиная с source, заканчивая sink-выводом. При этом source может быть любым файл, устройство, для вывода (sink) также можно указать нужное файл, экран, сетевые выводы и протоколы (наподобие RTP).

Подробнее про использование утилит и принцип построения конвейера можно почитать в другой статье на Хабре. Классический пример проигрывания mp4-файла:

gst-launch-1.0 filesrc location=file.mp4 ! qtdemux ! h264parse ! avdec_h264 ! videoconvert ! autovideosink

На входе принимается mp4-файл, который проходит через демуксер mp4 qtdemux, парсер h264, затем через декодер, конвертер и, наконец, идет вывод на экран.

Можно заменить autovideosink на filesink с параметром файла и вывести декодированный поток прямиком в файл.

3) Пишем приложение на GStreamer C/C++ API. Попробуем декодировать

Теперь, когда мы разобрались немного с использованием gst-launch-1.0, проделаем все тоже самое, только уже в рамках приложения. Принцип останется тем же: мы встраиваем декодирующий конвейер (pipeline), однако уже с использованием библиотеки GStreamer и glib-событий.

О простейшем примере построения filesrc в filesink с кодом хорошо рассказано в другой хабрастатье GStreamer: элементы и контейнеры. Мы же рассмотрим чуть более реалистичный и сложный живой пример H264-декодирования.

Инициализация GStreamer-приложения происходит один раз при помощи

gstinit (NULL, NULL);

Если вы хотите сразу видеть происходящее в деталях, можно выстроить уровень логирования перед инициализацией

gst_debug_set_active(TRUE);gst_debug_set_default_threshold(GST_LEVEL_LOG);

Учтите: сколько бы у вас не было конвейеров в приложении, инициализировать gstinit достаточно один раз.

Создадим новый event-loop, в котором будут обрабатываться события:

GMainLoop *loop;loop = g_main_loop_new (NULL, FALSE);

И теперь можно начать выстраивать наш конвейер:

Объявим необходимые элементы, в частности сам конвейер как тип GstElement:

GstElement *pipeline, *source, *demuxer, *parser, *decoder, *conv, *sink;pipeline = gst_pipeline_new ("video-decoder");source   = gst_element_factory_make ("filesrc",       "file-source");demuxer  = gst_element_factory_make ("qtdemux",      "h264-demuxer");parser   = gst_element_factory_make ("h264parse",      "h264-parser");decoder  = gst_element_factory_make ("avdec_h264",     "h264-decoder");conv     = gst_element_factory_make ("videoconvert",  "converter");sink     = gst_element_factory_make ("appsink", "video-output");

Каждый элемент конвейера создается через gst_element_factory_make, где первым параметром идет тип, а вторым его условное название для GStreamer, на которое он впоследствии будет опираться, например при выдаче ошибок.

Также не мешало бы проверить, что все компоненты найдены, в противном случае gst_element_factory_make, возвращает NULL.

if (!pipeline || !source || !demuxer || !parser || !decoder || !conv || !sink) {// не инициализирован один элемент - остановкаreturn;}

Установим тот самый параметр location через gob_ject_set:

gob_ject_set (G_OBJECT (source), "location", argv[1], NULL);

Остальные параметры в других элементах можно выставлять аналогичным образом.

Теперь необходим обработчик сообщений GStreamer, создадим соответствующий bus_call:

GstBus *bus;guint bus_watch_id;bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));bus_watch_id = gst_bus_add_watch (bus, bus_call, loop);gst_object_unref (bus);

gst_object_unref и другие подобные вызовы нужны для очищения выделенных объектов.

Затем объявим сам обработчик сообщений:

static gbooleanbus_call (GstBus     *bus,          GstMessage *msg,          gpointer    data){  GMainLoop *loop = (GMainLoop *) data;  switch (GST_MESSAGE_TYPE (msg)) {    case GST_MESSAGE_EOS:      LOGI ("End of stream\n");      g_main_loop_quit (loop);      break;    case GST_MESSAGE_ERROR: {      gchar  *debug;      GError *error;      gst_message_parse_error (msg, &error, &debug);      g_free (debug);      LOGE ("Error: %s\n", error->message);      g_error_free (error);      g_main_loop_quit (loop);      break;    }    default:      break;  }  return TRUE;}

А теперь самое важное: собираем и добавляем все созданные элементы в единый конвейер, тот самый что выстраивали через gst-launch. Очередность добавления, естественно, важна:

gst_bin_add_many (GST_BIN (pipeline), source, demuxer, parser, decoder, conv, sink, NULL);gst_element_link_many (source, demuxer, parser, decoder, conv, sink, NULL);

Стоит также заметить, что такой подход линковки элементов прекрасно работает для потоковых выходов, но в случае именно проигрывания (autovideosink) необходима дополнительная синхронизация и динамическая линковка демуксера и парсера:

  gst_element_link (source, demuxer);  gst_element_link_many (parser, decoder, conv, sink, NULL);  g_signal_connect (demuxer, "pad-added", G_CALLBACK (on_pad_added), parser);static voidon_pad_added (GstElement *element,              GstPad     *pad,              gpointer    data){  GstPad *sinkpad;  GstElement *decoder = (GstElement *) data;  /* We can now link this pad with the sink pad */  g_print ("Dynamic pad created, linking demuxer/decoder\n");  sinkpad = gst_element_get_static_pad (decoder, "sink");  gst_pad_link (pad, sinkpad);  gst_object_unref (sinkpad);}

Динамическое соединение дает возможность определения типа и количества потоков в отличии от статического, и будет работать в некоторых случаях когда это требуется.

Ну и, наконец, переводим состояние конвейера в проигрывание:

gst_element_set_state (pipeline, GST_STATE_PLAYING);

И запускаем event-loop:

g_main_loop_run (loop);

После окончания этой процедуры все нужно почистить:

gst_element_set_state (pipeline, GST_STATE_NULL);  gst_object_unref (GST_OBJECT (pipeline));  g_source_remove (bus_watch_id);  g_main_loop_unref (loop);

4) Выбираем энкодеры и декодеры. Фоллбэки

Стоит еще рассказать о полезных, но не особо упомянутых вещах в документации о том, как можно легко организовать фоллбэк декодеров или энкодеров.

Поможет нам в этом функция gst_element_factory_find, которая проверяет, есть ли у нас кодек в factory элементов:

if(gst_element_factory_find("omxh264dec"))decoder  = gst_element_factory_make ("omxh264dec",     "h264-decoder");elsedecoder  = gst_element_factory_make ("avdec_h264",     "h264-decoder");

В данном примере мы приоритезировали выбор аппаратного декорера OMX на платформе RDK, и в случае его отсутствия будем выбирать программную реализацию.

Другой крайне полезной, но еще более редко используемой функцией является проверка того, что же мы на самом деле инициализировали в GstElement (какой кодек):

gst_plugin_feature_get_name(gst_element_get_factory(encoder))

Можно проделать это таким незамысловатым способом и вернуть название инициализированного кодека.

5) Цветовые модели видео

Не стоит оставлять без внимания и цветовые модели, раз уж мы заговорили о кодировании видео с камер. И тут чаще подразумевается YUV, нежели RGB.

Камеры просто обожают цветовую модель YUYV. Но это то, с чем любит работать GStreamer, для него более привычна модель I420. На выходе, если речь не идет о выводе в gl-фрейм, у нас также будут выходить I420-кадры. Будьте готовы подставить необходимые фильтры и выполнить преобразования. Некоторые энкодеры умеют работать и с другими цветовыми моделями, но чаще это исключения из правил.

Еще стоит заметить что у GStreamerа есть свой модуль получения видеопотока с камеры, и его можно использовать для построения конвейера, но об этом расскажем как-нибудь в другой раз.

Разбираемся с буферами и берем данные на лету

1) Буфер ввода

Пришло время разобраться с потоками данных. До этого момента мы просто кодировали то, что есть в файле, через filesrc и выводили все в тот же filesink или на экран.

Теперь будем работать с буферами и входами и выходами appsrc / appsink. Почему-то этому вопросу почти не уделиливнимания в официальной документации.

Как же организовать постоянный поток данных в созданных конвейерах, а точнее подать буфер на выход и получить кодированный или декодированный буфер выхода? Допустим мы получили картинку с камеры, и нам нужно ее закодировать. Мы уже определились с тем, что нам потребуется фрейм в I420. Допустим он у нас есть, что дальше? Как пропустить картинку через весь поток конвейера?

Вначале установим обработчик события need-data, который будет запускаться при необходимости подачи данных в конвейер и начнем подавать входной буфер:

g_signal_connect (source, "need-data", G_CALLBACK (encoder_cb_need_data), NULL);

Сам обработчик имеет следующий вид:

encoder_cb_need_data (GstElement *appsrc,          guint       unused_size,          gpointer    user_data){  GstBuffer *buffer;  GstFlowReturn ret;  GstMapInfo map;   int size;   uint8_t* image;  // get image  buffer = gst_buffer_new_allocate (NULL, size, NULL);  gst_buffer_map (buffer, &map, GST_MAP_WRITE);    memcpy((guchar *)map.data, image,  gst_buffer_get_size( buffer ) );  gst_buffer_unmap(buffer, &map);  g_signal_emit_by_name (appsrc, "push-buffer", buffer, &ret);  gst_buffer_unref(buffer);}

image это, условно говоря, псевдокод буфера картинки в I420.

Далее мы создаем через gst_buffer_new_allocate буфер необходимого размера, который будет соответствовать размеру буфера картинки.

При помощи gst_buffer_map устанавливаем буфер в режим записи и, используя memcpy, копируем нашу картинку в созданный буфер.

И, наконец, сигнализируем GStreamу о том, что буфер готов.

Ремарка: очень важно после записи использовать gst_buffer_unmap, а также очищать буфер после использования при помощи gst_buffer_unref. Иначе будет утечка памяти. В скудном количестве доступных примеров никто особо насчет вопроса освобождения памяти не заморачивался, а он, понятное дело, важный.

Теперь, когда мы закончили с обработчиком, нужно проделать еще одну вещь: настроить caps на поступление ожидаемого формата.

Делается это перед установкой обработчика сигнала need-data:

g_object_set (G_OBJECT (source),        "stream-type", 0,        "format", GST_FORMAT_TIME, NULL);g_object_set (G_OBJECT (source), "caps",gst_caps_new_simple ("video/x-raw","format", G_TYPE_STRING, "I420","width", G_TYPE_INT, 640,"height", G_TYPE_INT, 480,"framerate", GST_TYPE_FRACTION, 30, 1,NULL), NULL);

Как и все параметры GstElement, установка параметров осуществляется через g_object_set.

В данном случае мы задали тип потока, и его caps формат данных. Указав, что на выход appsrc будет поступать данные I420 c разрешением 640x480 и частотой 30 кадров в секунду.

Частота в нашем случае, да в целом, не играет роли. На практике мы не замечали, чтобы GStreamer как-то ограничивал вызовы need-data по частоте.

Готово, теперь наши кадры поступают в энкодер.

2) Буфер вывода

А теперь разберемся, как получить кодированный поток на выходе.

Подключаем обработчик к sink pad:

GstPad *pad = gst_element_get_static_pad (sink, "sink");  gst_pad_add_probe  (pad, GST_PAD_PROBE_TYPE_BUFFER, encoder_cb_have_data, NULL, NULL);  gst_object_unref (pad);

Похожим образом мы подключились к другому событию sink pad GST_PAD_PROBE_TYPE_BUFFER, которое будет вызываться по мере поступления буфера данных в sink pad.

static GstPadProbeReturnencoder_cb_have_data (GstPad * pad,                        GstPadProbeInfo * info,                        gpointer user_data) {  GstBuffer *buf = gst_pad_probe_info_get_buffer (info);  GstMemory *bufMem = gst_buffer_get_memory(buf, 0);  GstMapInfo bufInfo;  gst_memory_map(bufMem, &bufInfo, GST_MAP_READ);  // bufInfo.data, bufInfo.size  gst_memory_unmap(bufMem, &bufInfo);  return GST_PAD_PROBE_OK;}

Колбэк имеет похожую структуру. Теперь нужно достучаться до памяти буфера. Вначале получаем GstBuffer, затем указатель его памяти, используя gst_buffer_get_memory по индексу 0 (как правило задействован только он). И, наконец, используя gst_memory_map, получаем адрес буфера данных bufInfo.data и его размер bufInfo.size.

Фактически мы добились цели получили буфер с кодированными данными и его размер.

Итак, мы рассмотрели ключевые и самые интересные компоненты из приложения для Smart TV аналога Zoom для ТВ-приставок: архитектуру, модули кодирования / декодирования через GStreamer, буферы ввода / вывода и используемые цветовые преобразования.

Для операторов цифрового ТВ такая программная платформа может стать новым абонентским сервисом. Для нас инженеров новым интересным embedded-проектом для реализации на разных приставках на базе RDK, Linux и Android. А для всех остальных возможностью приятно проводить время за совместным просмотром фильмов и спортивных матчей, занятий спортом и посиделок с близкими в период карантина или удаленной работы.

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

Подробнее..

Серверный WebRTC в 2020 году обзор возможностей

26.07.2020 06:16:13 | Автор: admin
1. Кому нужен серверный WebRTC?

Как все мы знаем, WebRTC это peer-to-peer технология, реализующая канал коммуникации между двумя браузерами, для передачи аудио, видео и любых других данных с низкой задержкой. Технология совершенно бесплатная, и если вашему приложению нужно наладить общение в браузерах для двух удаленных участников, то вы можете добавить соответствующий javascript код на веб страницы и задача решена. Браузеры будут общаться напрямую, никакого сервера не требуется.

Серверный WebRTC выходит на сцену тогда, когда нужно чтобы участников было больше чем два, и данные от одного участника передавались сразу нескольким другим участникам.
В этом случае одним из участников может выступить сервер, который наладит общение один на один с первым участником, получит от него данные, затем наладит общение, тоже в режиме
один на один с другими участниками и перешлет им эти данные. Т.е. сервер держит множество peer-to-peer каналов связи и просто копирует данные во все эти каналы. В терминологии WebRTC такой сервер служит как Selective Forwarding Unit (SFU).
image
Однако, коммуникация в группе возможна не только с помощью SFU. Вы можете спросить почему каждый не может посылать данные каждому, без всякого сервера, и будете совешенно правы. Это называется MESH коммуникация.

Здесь есть два ключевых момента:

  1. В MESH схеме каждый из участников посылает и получает N-1 потоков данных, где N размер группы. Т.е. требования на upload speed для каждого участника в MESH схеме увеличиваются с ростом группы. Тогда как в SFU схеме каждый участник всегда посылает только один поток. Не у каждого участника скорость соединения с сетью потянет посылку N-1 потоков.
  2. К сожалению, в MESH схеме браузер делает аудио-видео сжатие на каждый посылаемый поток. А это, как мы знаем, самы ресурсо-затратный процесс. В MESH схеме, приведенной выше, браузер каждого участника будеть сжимать видео VP8/VP9/H264 кодеком 4 раза. Это вызвано требованием WebRTC к адаптации качества данных к качеству канала если связь не очень, то компрессия станет посильнее. Что есть хорошо, но влечет необходимость сжимать независимо на каждый канал (PeerConnection). Увы, на обычной машине браузер при сжатии 720p видео уже занимает 30% процессора, т.е больше трех каналов не потянет.

Из-за этих двух ключевых моментов MESH схема становится плохо реализуемой при растущем числе участников и приходится применять SFU схему.

Итак, при большом количестве участников коммуникации необходим сервер (SFU).
Давайте приведем примеры таких приложений, где сервер необходим:

  • Видео конференции с множеством участников (всеми горячо любимый Zoom использует WebRTC сервер, как и все подобные сервисы).
  • Видео наблюдение в реальном времени, когда от одной камеры видео посылается нескольким зрителям и записывающим устройствам. Системы безопасности, мониторинга.
  • Интерактивные системы, такие как: интернет-аукционы, обучающие и другие веб-приложения, где требуется низкая задержка аудио/видео.


2. Если вам нужен-таки серверный WebRTC, что можно использовать в 2020 году?

Облачный сервис или своими силами?

Здесь вначале обычные для IT аргументы в пользу того либо другого: облако обеспечит и сэкономит IT-затраты на сервера, конфигурацию, масштабируемость. Но своими силами, если все получится (нет гарантии), то выйдет гораздо дешевле. Ведь за облачный сервис нужно помесячно платить.

Теперь к аргументам специфичным к описанным выше приложениям. Если у вас глобальная, огромная аудитория, в разных странах и регионах, то своими силами вам будет сложно все собрать вместе. К примеру, для аукциона Sotheby's подойдет облачный сервис. Но если у вас 2-3 отделения компании в разных городах, 200-500 юзеров, и для них нужно организовать вебинар/конференции/обучение и т.п., то вы можете сами рентовать несколько серверов на AWS или подобных хостинг платформах, установить там софтверный WebRTC сервер, и все получится. Сервера могут даже быть у вас в компании, если скорость интернет-подключения позволяет. Ну и для всех решений меньших по масштабам, все можно сделать своими силами.

На текущий момент хорошо известны и проверены два облачных WebRTC сервиса: Millicast и Phenix. У обоих глобальное покрытие, хорошая связь между серверами на разных континентах (оно вам надо?) и действительно задержка видео (latency) на уровне пол-секунды и ниже.

Теперь поговорим про своими силами.

Здесь вам понадобится WebRTC server software. Существуют 3 способа получить такой сервер.

  1. Сделать его самим, пользуясь открытым API. Самый известный из них это Google c++ WebRTC API. Также можно использовать GStreamer API. Интересна имплементация на Go: Pion WebRTC. Вам понадобятся квалифицированные c++ программисты и очень много терпения и времени на отладку. Про трудности этого подхода я подробно писал в своей предыдущей статье.
  2. Взять уже готовый бесплатный сервер с открытым кодом. Заслуживают упоминания Ant Media Server, Kurento, Janus, Jitsi. Эти сервера вполне подойдут для небольших проектов, хотя код там не оптимизирован, не оттестирован, встречаются баги. На github есть множество других проектов, еще более экспериментальных и сырых. Чтобы оптимизировать, заточить и починить баги, нужны, см. выше, собственные квалифицированные c++ программисты. Или нужно просить разработчиков этих продуктов все для вас заточить. Что делает продукт уже не бесплатным, а весьма дорогостоящим.
  3. Купить лицензию на платный сервер. Как правило, более законченный, надежный продукт и бесплатная поддержка. В этой категории следует отметить Red5 Pro, Flashphoner и Unreal Media Server.

Интеграция WebRTC сервера в ваши существующие продукты и решения.

Это самая проблематичная тема. Предположим, ваша компания выпускает софтверный продукт, в который надо внедрить WebRTC сервер. Пусть это система видеозаписи и наблюдения для терминалов аэропортов, вокзалов, транспортных узлов. Или медицинское оборудование с уже существующим сопровождающим софтом для трансляции и записи видео от эндоскопов, который нужно расширить до трансляции этого видео в браузер. Или система симуляции полетов, в которую надо внедрить возможность визуализации в браузере и/или интеракции с удаленным юзером. Мы постоянно сталкиваемся с подобными требованиями. У вашей существующей системы множество ограничений. Может не быть доступа в интернет. Никаких облаков. Нельзя на сервере открывать порты. Только Windows или только Linux. Иногда даже только определенная версия Windows, ведь существующий продукт заточен под нее. WebRTC сервер, добавляющийся в такую систему, должен быть подстроен под все эти ограничения.

Здесь, возможно, у вас нет иного выхода, чем брать открытый код сервера, такого как Ant Media Server или Janus, и менять его. Такова ситуация на Linux. Для Windows подойдет Unreal Media Server это софт написанный и оптимизированный только для Windows OS.

WebRTC сервер очень ресурсо-затратный.

Помните об этом, когда планируете ваши ресурсы. Причины такой ресурсо-затратности описаны мной в предыдущей статье, но вывод такой масштабируемость достигается очень сильным процессором или добавлением физических серверов.

Привожу диаграмму тестов произведенных с Unreal Media Server v13.0 на AWS EC2 m4.2xlarge instance: Intel Xeon 8 cores CPU E5-2686 v4 @ 2.30 GHz, 32 Gb RAM, Windows Server 2016.
image
Как видно из диаграммы, при 1000 одновременных веб плеерах вот этой IP камеры загрузка процессора составляет 5% при RTMP протоколе, и 75% при WebRTC протоколе, т.е. WebRTC более чем в 10 раз ресурсо-затратнее чем RTMP.
Подробнее..

Во время пандемии стали популярны вечеринки в SpatialChat и они вряд ли закончатся после ковида

17.06.2020 16:18:48 | Автор: admin

Я абсолютный домосед, социофоб и ненавистник компанейских вечеринок. Тот же я сейчас бы бросил все и ворвался в самую огромную шумную толпу, какую бы смог найти. Ценить вещи по-настоящему начинаешь, только когда их лишаешься. Странный год, очень странный.

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

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

Алмас Абулхаиров, один из создателей сервиса, рассказал мне, как он появился, почему стал популярен, и куда будет двигаться, когда пандемия пройдет.


У нас в FunCorp есть лаборатория, которая последние четыре года секретно пилит продукты. 29 разных запусков были не сильно успешные. SpatialChat стоял под номером 30. Мы его доделали, провели внутри офигенные вечеринки, но тогда почувствовали, что мир еще не готов. Опередили время, и отложили на полку.

И вот 18 марта 2020. Весь наш офис уходит на удаленку, и походу надолго. Два дня спустя мы вспоминаем парни, у нас же есть SpatialChat.

Его идея простая на вечеринках все со всеми никогда не общаются, тем более когда собрались сто человек. Первые пять минут стоят вместе, потом делятся на группы. Эти группки относительно устойчивые, в них всегда есть ядро, как планета, и вокруг нее спутники. Люди, которым становится скучно, меняют тусовку, уходят к другой группе.

И все то же самое работает в SpatialChat. Получилось воспроизвести атмосферу неформального общения, как в реальной жизни. Этого очень тяжело добиться в скайпе или зуме.

Мы сразу отправили ссылку нескольким дружественным компаниям, в целом довольно известным в IT и стартап-комьюнити. Смотрим аналитику они тоже тусуются в чате по 4070 минут. А мы продуктовая компания, мы знаем, что такое хорошая сессия это минимум 15 минут. Если ниже продукт отстой, в него не надо вкладывать. Если выше то это зашибись. А у нас 4070 минут. Думаем: ну ничего себе, хорошо!


20 апреля мы запустились на ProductHunt, и сразу вышли на третье место за день. После этого у нас появилась армия фанатов в Японии, в Европе, в Латинской Америке. Люди стали писать обзоры, истории, кто как горазд его юзать. С апреля до июня мы выросли до 6-значного MAU, сейчас у нас примерно по 15 тысяч человек в день. Японию мы просто полностью захватили. Теперь это их платформа 1 для задача для вечеринок своей компанией, свадеб, похорон, выпускных вечеров и обучения студентов в онлайне. Один мужик даже онлайн магазин устроил в SpatialChat.

В Японии есть тренд, называется Zoom Nomi вечеринка в зуме. А теперь их тренд спэ-ча номи. Они называют нас спэ-ча потому что спэйшл чат им тяжело произнести. Там в куче топовых компаний используют спэ-ча как коворкинги, и средняя сессия 30-40 минут на человека. Это заоблачные показатели.

Они используют его и как диджей-пати. Клубы, маленькие бары все закрылось, и люди стремятся выжить хоть как-то в онлайне. И вот, например, они просят 20 евро за входной билет и тусуются в SpatialChat.

Они ставят себе картинку большого стола прямо как вы видели в японских фильмах. И сидят за ним, тусуются, пьют, общаются, включают свои ютуб видео. В углу экрана ставят туалет. Если ты хочешь показать, что ты отошел, ты отходишь туда и в SpatialChat. Либо идешь покурить и заходишь в курилку и на экране. Если тебя отвлекла семья, перетаскиваешь себя на картинку с семьей, чтобы люди были в курсе. Казалось бы просто, но для них важно свое текущее состояние показать прозрачно.


Мы задались вопросом почему мы так популярны в Японии. Какую струнку японской души мы случайно задели.

Рисерч показал три наиболее вероятных причины:

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

Номер два. Япония это нация, которая столетиями ковала самурайские мечи, у них супер развита культура ручной работы. Они любят сами собирать что-то руками и много играют в видеоигры. А SpatialChat это такое место, где можно все под себя настроить, это место виртуальной самореализации.

И третье. Я как казах это частично понимаю, но в японцах это развито в десять раз сильнее там очень важно не создавать себе социальный дискомфорт. У нас есть конкурент, он называется Remo. Это китайская контора, где по своему делают такую же задумку. Там тоже есть пространство, но в нем стоят столы по шесть человек. Ты сидишь за одним столом, и не слышишь, что происходит за другим. Чтобы узнать ты должен переключиться. Это значит, что ты встал из-за своего стола. По японским понятиям встать из-за стола это неуважение.

А в SpatialChat ты слегка отошел, и ты вроде еще с ними, но уже и не с ними, ты всех слышишь. И ты не вставал из-за стола, чтобы отойти, там все всегда хаотично двигаются.


Потом мы увидели, сколько нам стоит все это содержать по видеосвязи. Мы конечно сами себе инвесторы, но это очень дорого четырехзначная сумма в долларах каждые сутки.

Сразу появилось мысль надо зарабатывать. И тогда мы переключились на бизнес-конференции.

70% айтишных ивентов в США отменились. 30% перешли в онлайн. Большинство организаторов в Европе и Штатах не рискнут делать оффлайн-мероприятия до конца года, даже если всех отпустят с карантина. Взять на себя такой риск никто не захочет это же тысячи людей в одном месте. И поэтому все переходят на онлайн.

Любая презентация/лекция на конференции это обязательный контент, привлекающий посетителей (как это назвал один из наших клиентов в США - programming). Но 80% причин, почему люди ходят на конференции это нетворкинг, и только 20% ради контента.

Из-за онлайна конференции снизили цену на билеты в два-три раза. Я спрашиваю организаторов почему, а они мне говорят люди не видят людей, не получают свой бесплатный невкусный кофе и сушеные круасаны (я так отношусь, потому что я диабетик и мне не стоит так питаться, а кушать надо). А еда и аренда помещения это 80% бюджета конференции. Есть конференции, которые тратят по сто тысяч баксов на еду и аренду за три дня. И поэтому люди не чувствуют ценность в онлайне. Думают, мол с чего я должен платить, если я никуда не лечу. На самом деле главная причина в онлайн-конференциях люди не ощущают, что получают нетворкинг.

По аналитике 30% продаж в Enterprise Sales происходят за счет сейлзов через свой нетворкинг. Они этот нетворкинг собирают на конфах, а конф теперь нет. Но работать надо, компаниям не хочется проседать на треть по продажам.

Вечером, после конференций, весь бизнес творится за бутылкой виски, в кулуарах. Поэтому нетворкинг точно вернется, только в онлайне.

И вот для этого пришли мы, рискнули, стали предлагать идею компаниям. Первыми согласились DevGAMM. На DevGAMM в онлайне пришло примерно 1200 человек. Лекции закончились, появилась ссылка на вечеринки при поддержке SpatialChat. Туда пришло 230 человек, примерно 19% от общего числа посетителей. Первые шесть часов пик онлайна не опускался ниже 60 участников одновременно. Люди кайфовали, общались, обсуждали инвестиции, какие игры сколько зарабатывают, какие новые профессии есть в геймдеве, как забэкендить онлайн в какой-то игре. Реально все было по делу. И это получился огромный кейс для бренда и посетителей на конференцию вернулась ценность нетворкинга.

Потом мы участвовали в других конференциях, и там уже спонсоры брендировали свои вечеринки. Организаторы берут себе SpatialChat за счет брендирования, и даже остаются в плюсе.


Мой прогноз на будущее после пандемии следующий большинство конференций трансформируются в online-only, либо в гибридные. Потому что онлайн это очень круто. Полностью офлайновых будет меньшинство.

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

Офлайновые конфы ниже 500 участников, возможно, уйдут в онлайн, потому что нетворкинг на офлайне это игра больших чисел. Даже для движняковых людей как я подойти к каждому, познакомиться, рассмотреть бейджик какова вероятность, что из 500 людей я встречу нужных? Если людей тысяча, шансы выше.

Нетворкинг до 500 человек в онлайне будет эффективнее. Эта тема будет работать не только из-за коронавируса, это будет и после пандемии. Пандемия просто сработала как триггер.

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

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

20 июня пройдет ProductCamp 2020, для зрителей это бесплатно. Нужно только зарегистрироваться время еще есть, успеете. После кэмпа участники соберутся на официальных вечеринках в SpatialChat.

Подробнее..

Переправа, переправа! Берег левый, берег правый

29.07.2020 20:20:10 | Автор: admin

В общем, выскажу своё никому не нужное мнение по поводу того, что происходит с Яндекс.Диском в последние дни. И, мне кажется, что может сложится впечатление, особенно после прочтения этой статьи, что я состою в рядах так называемый "хейтеров" компании, но это совсем не правда. Я даже исправно плачу каждый месяц три копеечки из своего кармана за подписку ПЛЮС, хотя фактически ею не пользуюсь. Вполне очевидно, что такие компании-титаны как Яндекс, Сбер и Mail Ru Group двигают ИТ в нашей стране семимильными шагами и, что уж говорить, про то количество рабочих мест, которые они обеспечивают, часто на очень комфортных условиях, позволяя людям участвовать в технологически крутых продуктах. Далее по тексту Mail Ru буду называть MRG.


Итак, краткий пересказ недавних событий для тех, кто все проспал: вроде бы в июне Яндекс представил новый продукт, а именно Телемост. Это приложение для создания групповых телеконференций. Приложение работает поверх Electron и построено на базе проекта Jitsi с открытым исходным кодом. И в качестве приятного бонуса, по естественным причинам, приложение может работать как сервис из браузера, но из-за ряда ограничений реализации не работает под моим любимым Firefox. Зимой, когда начался массовый переход на удаленную работу, мне довелось вскользь попробовать работу с Jitsi и результат был не обнадеживающий странные UX решения соседствуют с не менее странной разработкой продукта. Что, в общем-то, в случае с опенсорсом явление не редкое и, возможно, вполне допустимое, но нам такой расклад дел явно не подходил. Когда же большая корпорация с огромными ресурсами берет в основу своего продукта такое решение, то сразу появляется неловкое ожидание какого-то качественного скачка, но вот в данном случае как будто бы такого не вышло. На момент запуска продукта, судя по скриншотам, Телемост от Jitsi отличался только немного внешне. Но, справедлвости ради, как обстоят дела сейчас я даже и не знаю пробовать особо не хочется, да и без надобности оно мне.


Очевидно, что поезд удаленки мчится вдаль и надо успевать в него запрыгнуть, тем более, что первенство средств телеконференций возглавил далеко не идеальный Zoom. А свое решение есть даже у MRG и, неожиданно, оно вроде даже как-то работает. Итак, к проблеме: вчера пользователи Яндекс.Диска для Windows обнаружили на своих рабочих столах ярлык для запуска приложения Телемост который, естественно, никто не ставил на свои компьютеры. История, в общем-то, стара как мир, и многие из нас помнят агрессивную стратегию продвижения своих продуктов от MRG когда на компьютер ставилось приложение "Mail Ru Guard" и оно, кроме того, что блокировало удаление из автозапуска своих програм, еще и на свое усмотрение скачивало и устанавливало пользователю софт и информационные панели в браузер. Негодующие пользователи сервисов Яндекса потянулись с вопросами к Яндексу и был получен абсолютно прекрасный ответ, из которого дали однозначно понять, что приложение Телемост удалить никак нельзя отдельно от Яндекс Диска. Ну ок, нельзя так нельзя, подумал я.


Я использую Диск по ряду причин и одна из них это размещениие на нем базы KeePass, а вторая поддержка доступа к файлам по протоколу webdav. Это прямо очень удобно, и делаю я так много лет. Использую я обычно MacOS, и потому сразу подумал о том, что эта история с Телемостом не про меня, а про пользователей Windows, сидящих по старой привычке под административными правами, и продолжающими наслаждаться вкусом кактуса. Но не тут-то было! Перейдя на сайт сервиса у меня запустилось приложение Телемост! Сказать, что я был удивлен это не сказать ничего. У меня дернулся глаз и я нервно потянулся к револьверу чашке кофе.


Кратое расследование показало, что приложение расположено в /Applications/Yandex.Disk.2.app/Contents/MacOS/Yandex.Telemost.app. Я сразу почувствовал себя зрителем телешоу "Тачку на прокачку", но только в качестве машины выступает мой ноутбук, а воображаемый Xzibit встроил не телевизор в подголовник, а одно приложение в другое. Это MacOS Карл, здесь так нельзя! У меня даже отдельный значок приложения появился в родном операционной системе файловом менеджере Finder.



Поводив подозрительно бровью я почитал перепалки пользователей в твиттере на эту тему. Так как это интернеты, то я допускаю, что часть недовольных составляют люди, которые маловероятно, что вообще использовали данное приложение, а просто выражают общее недовольство, учавствуя в общей волне хейта. Яндекс принял позицию, что Телемост это не отдельное приложение, а часть сервиса Диск. Прям при моей жизни растащенное на цитаты абсурдное видео про "лучший файлообменник скайп" стало реальностью и теперь сервис видеоконференции, по неведомой мне логике, становится частью сервиса который многие используют для обмена файлами!


Для тех кто пропустил или слишком молод:



Но постойте, приложения Диска вроде бы нативные, а Jitsi это Electron! Как тогда проходит интеграция одного в другое? Я честно потыкал приложение диска для MacOS на предмет поиска какого-либо намека на Телемост, но ничего не нашел. Ожидаемо, никакой интеграции части сервиса в основной сервис нет и в помине. На web странице Диска ссылка на Телемост располагается рядом с ссылкой на Почту и там тоже никаких интеграций.


У пользователей Windows папка с приложением Телемост располагается в папке Диска, по слухам её можно удалить, и приложение диска продолжит успешно работать. То есть выходит, что все-таки приложение Телемост использует Диск только чтоб пробраться на жесткий диск пользователя? К слову, если это так, то это поведение практически один в один поведение вирусов Trojan Downloader, которыми очень любят доставлять шифраторы злоумышленники.


Но самое обидное в этой истории то, что сегодня был официальный ответ в блоге Яндекса в котором жирным выделенно, что единственная ошибка компании это то, что пользователям вывели ярлык на рабочий стол. Все оказалось вот так просто :) Статья начинается со слов "Меня зовут Володя" и как-то не ясно зачем человек выступая от лица компании сразу подставяляется под удар, но зато мы теперь знаем в лицо ответственного. Ну как-то от Яндекса ожидаешь более честного поведения, а не откровенного манифеста о возврате к временам когда приложения от Яндекса и MRG нельзя ставить на диск из страха, что они замусорят всю операционную систему. Хотелось бы, все таки, чтоб в офицальных ответах от компании не было наплевательских отмашек, а текст объяснял действия и почему с этим нужно смириться рядовому пользователю. Про более изящное техническое решение уж и мечтать даже и не приходиться при таком раскладе. Кстати, в статье немного расходятся показания в начале говорится о том, что Телемост это часть Диска, а в конце, что у приложения будет отдельный клиент. Очевидно, конечно, что продукт надо быстро продвигать и ребята из Диска идут на сомнительные шаги. Но пользователя надо хотя бы любить и уважать, объясняя что даст тот или иной шаг и какое будущее у данного решения. Буду надеятся, что компания проведет хоть какую-нибудь работу над ошибками.


Ссылка с самым бессмысленным ответом на реакцию недовольных пользователей за всю историю человечества в эпоху развития IT решений: https://yandex.ru/blog/company/pochemu-mosty-inogda-luchshe-ne-navodit

Подробнее..

Переправа, переправа! Берег левый, берег правый или мысли вслух о Яндекс.Телемост

29.07.2020 22:04:59 | Автор: admin

В общем, выскажу своё никому не нужное мнение по поводу того, что происходит с Яндекс.Диском в последние дни. И, мне кажется, что может сложиться впечатление, особенно после прочтения этой статьи, что я состою в рядах так называемый "хейтеров" компании, но это совсем не правда. Я даже исправно плачу каждый месяц три копеечки из своего кармана за подписку ПЛЮС, хотя фактически ею не пользуюсь. Вполне очевидно, что такие компании-титаны как Яндекс, Сбер и Mail Ru Group двигают ИТ в нашей стране семимильными шагами и, что уж говорить, про то количество рабочих мест, которые они обеспечивают, часто на очень комфортных условиях, позволяя людям участвовать в технологически крутых продуктах. Далее по тексту Mail Ru буду называть MRG.


Итак, краткий пересказ недавних событий для тех, кто все проспал: вроде бы в июне Яндекс представил новый продукт, а именно Телемост. Это приложение для создания групповых телеконференций. Приложение работает поверх Electron и построено на базе проекта Jitsi с открытым исходным кодом. И в качестве приятного бонуса, по естественным причинам, приложение может работать как сервис из браузера, но из-за ряда ограничений реализации не работает под моим любимым Firefox. Зимой, когда начался массовый переход на удаленную работу, мне довелось вскользь попробовать работу с Jitsi и результат был не обнадеживающий странные UX решения соседствуют с не менее странной разработкой продукта. Что, в общем-то, в случае с опенсорсом явление не редкое и, возможно, вполне допустимое, но нам такой расклад дел явно не подходил. Когда же большая корпорация с огромными ресурсами берет в основу своего продукта такое решение, то сразу появляется неловкое ожидание какого-то качественного скачка, но вот в данном случае как будто бы такого не вышло. На момент запуска продукта, судя по скриншотам, Телемост от Jitsi отличался только немного внешне. Но, справедлвости ради, как обстоят дела сейчас я даже и не знаю пробовать особо не хочется, да и без надобности оно мне.


Очевидно, что поезд удаленки мчится вдаль и надо успевать в него запрыгнуть, тем более, что первенство средств телеконференций возглавил далеко не идеальный Zoom. А свое решение есть даже у MRG и, неожиданно, оно вроде даже как-то работает. Итак, к проблеме: вчера пользователи Яндекс.Диска для Windows обнаружили на своих рабочих столах ярлык для запуска приложения Телемост который, естественно, никто не ставил на свои компьютеры. История, в общем-то, стара как мир, и многие из нас помнят агрессивную стратегию продвижения своих продуктов от MRG когда на компьютер ставилось приложение "Mail Ru Guard" и оно, кроме того, что блокировало удаление из автозапуска своих програм, еще и на свое усмотрение скачивало и устанавливало пользователю софт и информационные панели в браузер. Негодующие пользователи сервисов Яндекса потянулись с вопросами к Яндексу и был получен абсолютно прекрасный ответ, из которого дали однозначно понять, что приложение Телемост удалить никак нельзя отдельно от Яндекс Диска. Ну ок, нельзя так нельзя, подумал я.


Я использую Диск по ряду причин и одна из них это размещениие на нем базы KeePass, а вторая поддержка доступа к файлам по протоколу webdav. Это прямо очень удобно, и делаю я так много лет. Использую я обычно MacOS, и потому сразу подумал о том, что эта история с Телемостом не про меня, а про пользователей Windows, сидящих по старой привычке под административными правами, и продолжающими наслаждаться вкусом кактуса. Но не тут-то было! В тот момент, когда я перешел на сайт сервиса, у меня запустилось приложение Телемост! Сказать, что я был удивлен это не сказать ничего. У меня дернулся глаз и я нервно потянулся к револьверу чашке кофе.


Кратое расследование показало, что приложение расположено в /Applications/Yandex.Disk.2.app/Contents/MacOS/Yandex.Telemost.app. Я сразу почувствовал себя зрителем телешоу "Тачку на прокачку", но только в качестве машины выступает мой ноутбук, а воображаемый Xzibit встроил не телевизор в подголовник, а одно приложение в другое. Это MacOS Карл, здесь такие решения не любят! У меня даже отдельный значок приложения появился в родном операционной системе файловом менеджере Finder.



Поводив подозрительно бровью я почитал перепалки пользователей в твиттере на эту тему. Так как это интернеты, то я допускаю, что часть недовольных составляют люди, которые маловероятно, что вообще использовали данное приложение, а просто выражают общее недовольство, учавствуя в общей волне хейта. Яндекс принял позицию, что Телемост это не отдельное приложение, а часть сервиса Диск. Прям при моей жизни растащенное на цитаты абсурдное видео про "лучший файлообменник скайп" стало реальностью и теперь сервис видеоконференции, по неведомой мне логике, становится частью сервиса который многие используют для обмена файлами!


Для тех кто пропустил или слишком молод:



Но постойте, приложения Диска вроде бы нативные, а Jitsi это Electron! Как тогда проходит интеграция одного в другое? Я честно потыкал приложение диска для MacOS на предмет поиска какого-либо намека на Телемост, но ничего не нашел. Ожидаемо, никакой интеграции части сервиса в основной сервис нет и в помине. На web странице Диска ссылка на Телемост располагается рядом с ссылкой на Почту и там тоже никаких интеграций.


У пользователей Windows папка с приложением Телемост располагается в папке Диска, по слухам её можно удалить, и приложение диска продолжит успешно работать. То есть выходит, что все-таки приложение Телемост использует Диск только чтоб пробраться на жесткий диск пользователя? К слову, если это так, то это поведение, практически один в один, поведение вирусов Trojan Downloader, которыми очень любят доставлять шифраторы злоумышленники.


Но самое обидное в этой истории то, что сегодня был официальный ответ в блоге Яндекса в котором жирным выделенно, что единственная ошибка компании это то, что пользователям вывели ярлык на рабочий стол. Все оказалось вот так просто :) Статья начинается со слов "Меня зовут Володя" и как-то не ясно зачем человек выступая от лица компании сразу подставяляется под удар, но зато мы теперь знаем в лицо ответственного. Ну как-то от Яндекса ожидаешь более честного поведения, а не откровенного манифеста о возврате к временам когда приложения от Яндекса и MRG нельзя ставить на диск из страха, что они замусорят всю операционную систему. Хотелось бы, все таки, чтоб в офицальных ответах от компании не было наплевательских отмашек, а текст объяснял действия и почему с этим нужно смириться рядовому пользователю. Про более изящное техническое решение уж и мечтать даже и не приходиться при таком раскладе. Кстати, в статье немного расходятся показания в начале говорится о том, что Телемост это часть Диска, а в конце, что у приложения будет отдельный клиент. Очевидно, конечно, что продукт надо быстро продвигать и ребята из Диска идут на сомнительные шаги. Но пользователя надо хотя бы любить и уважать, объясняя что даст тот или иной шаг и какое будущее у данного решения. Буду надеяться, что компания проведет хоть какую-нибудь работу над ошибками.


Ссылка с самым бессмысленным ответом на реакцию недовольных пользователей за всю историю человечества в эпоху развития IT решений с каким-то нелепым заголовком: https://yandex.ru/blog/company/pochemu-mosty-inogda-luchshe-ne-navodit

Подробнее..

Мессенджеры для команды 6 сервисов, которые просто работают

03.09.2020 12:19:11 | Автор: admin


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

В текущую подборку вошли не самые известные сервисы, за исключением парочки. Не хотелось в очередной раз описывать Skype для бизнеса или Slack о них и так все все знают. В подборке есть как отечественные, так и зарубежные сервисы.

Google Meet




Несмотря на то, что это продукт крупнейшей корпорации, тестировали его немногие (во всяком случае, среди моих знакомых сотрудников разных IT-компаний). А преимуществ у этого сервиса много.

Что это? Корпоративный мессенджер, который подходит для компаний любого размера, позволяя проводить видеоконференции, удаленные собеседования, вебинары, виртуальные тренинги, дистанционные интервью.

Что нужно для начала работы? Администратору встречи нужно иметь платный аккаунт в G Suite. Но любой пользователей со стандартным аккаунтом Google может быть участником встречи. Собственно, это нормальная практика среди подобных сервисов. Подключаться к встречам можно из Календаря, по ссылке или же при помощи кода встречи.

Основные возможности:
  • Видеовстречи с количеством участников до 250;
  • Прямые трансляции на 100 000 пользователей;
  • Приглашение к конференции с помощью Meet, Gmail, по телефону;
  • Демонстрация экрана;
  • Запись и автоматическое сохранение видеовстреч на Google Диске и в событии Google Календаря;
  • Обмен файлами и документами.

Удачным ходом для Google Meet стало предоставление бесплатного доступа, что привело к увеличению числа пользователей в 30 раз в апреле 2020 года по сравнению с январем 2020 года. Общее количество пользователей в день тогда достигло 100 млн.

Яндекс.телемост




Летом 2020 года компания Яндекс представила собственный сервис Яндекс.Телемост.

Что это? Сервис видеозвонков, похожий на Zoom. К видеовстрече можно присоединиться по ссылке, предоставленной организатором. Создать встречу можно практически моментально.

Что нужно для начала работы? Установить поддерживаемый сервисом браузер. Это либо Chrome, либо Яндекс.Браузер. Кроме того, Телемост работает в приложениях Яндекс.Диск и Яндекс.Почта. В будущем Телемост планируется интегрировать в другие продукты компании. К сожалению, в Firefox и других популярных браузерах сервис не работает.

Основные возможности:
  • Видеовстречи с количеством участников до 35.
  • Шеринг экрана.
  • Отключение телефона и камеры.
  • Отсутствие ограничений на время вызова.

Myteam




Осенью 2019 года компания Mail.ru создала новый продукт собственный мессенджер для бизнеса, который получил название Myteam.

Что это? Корпоративный мессенджер, который предназначен для компаний любой направленности. Сервис платный, но начальные пакеты доступны даже микробизнесу. Есть и бесплатный функционал.

Что нужно для начала работы? Зарегистрироваться по ссылке на biz.mail.ru, после чего станет доступной бесплатная версия месседжера. Если у компании есть домен, стоит его подключить, чтобы в логинах сотрудников было знакомое название. Создать аккаунты для сотрудников, отправить им данные доступа и ссылку на установку мессенджера. Это все. Сервис доступен как в браузерах, так и в виде приложения для таких ОС, как Windows, Linux, MacOS, iOS, Android.

Основные возможности:
  • Список контактов.
  • Проведение аудио- и видеоконференций c одновременным участием до 100 пользователей.
  • Создание групповых чатов и каналов.
  • Чат-боты.
  • Обмен файлами.
  • Поиск по контенту и чатам.
  • Возможность создания опросов.
  • Установка мессенджера на серверах компании.
  • Кастомный дизайн.
  • Импорт учетных записей сотрудников из Active Directory.
  • Контроль доступа в мессенджер со стороны компании, которая использует Myteam. Есть возможность создавать аккаунты сотрудников, блокировать доступ, назначать администраторов.

Для передачи данных используется зашифрованный TLS-канал, для видеозвонков end-to-end шифрование. Регулярно проводится и аудит безопасности.

Webinar Meetings


Отечественная компания Webinar Group недавно представила собственный сервис для онлайн-общения.

Что это? B2b сервис для проведения онлайн-встреч. Компания, которая разработала этот продукт, владеет достаточно обширным стеком технологий, связанных с онлайн-общения. Все они были использованы для создания нового продукта.

Что нужно для начала работы? Любой современный браузер. Есть и мобильное приложение. Разработчики планируют выпустить приложение для PC и Mac. В настоящее время продукт находится в стадии тестирования.

Основные возможности:
  • Индивидуальные цифровые токены для защиты встреч.
  • Система анализа внимания и вовлечения.
  • Документы, видео и медиафайлы в оригинальном качестве.
  • Записи встреч, которыми можно сразу же поделиться.
  • Инструменты для совместной работы: доски Miro, чат, вовлекающая система реакций.
  • Вскоре будет добавлена интеграция с досками Miro, Google-документами и статьями в Notion.

PukkaTeam




Отличный инструмент для совместной работы удаленной команды.

Что это? Сервис с несколько странным для русскоязычного пользователя названием PukkaTeam предназначен для управления удаленными командами и совместной работы. Он позволяет проводить видеоконференции и всегда оставаться на связи. В целом, этот сервис создает впечатление работы в реальном офисе, с эффектом присутствия.

Что нужно для начала работы? Регистрация на сервисе. Продукт платный, но пользователям предоставляются 60 дней на тестирование. Вводить данные кредитной карты при этом не требуется. Работает он прямо в браузере, так что нет необходимости устанавливать какие-то приложения.

Основные возможности:
  • Возможность связаться с любым членом команды в рабочее время.
  • Отображение статуса доступности.
  • Работа из браузера.
  • Возможность связаться с коллегой в одном из популярных мессенджеров.
  • Интеграция сервиса со Slack.

Видеозвонки от Mail.ru




В апреле появилась информация о том, что Mail.ru Group запустила сервис для проведения видео- и аудиозвонков.

Что это? Видеосервис, который позволяет проводить онлайн-уроки, совещания, вебинары или просто разговаривать с коллегами, друзьями или родственниками. Сервис доступен для всех пользователей, включая Почту для домена Mail.ru для бизнеса.

Что нужно для начала работы? Запустить сервис, войти в аккаунт Mail.ru и нахать на кнопку Создать звонок. Далее настроить камеру, микрофон и запустить конференцию. Сгенерированную ссылку нужно отправить собеседникам. Она актуальна в течение двух месяцев.

Основные возможности:
  • Полная функциональность без регистрации. Участники встречи могут не регистрироваться в сервисах Mail.ru, это нужно только для организатора. Последний может удалять и добавлять участников.
  • Собирать на звонок можно вплоть до 100 человек.
  • Отсутствие временных лимитов на общение.
  • Шеринг экрана другим участникам конференции.
  • Работа в браузере без необходимости загружать и устанавливать софт. Звонки доступны и на компьютере, и на телефоне (в последнем случае все же требуется приложение Почта от Mail.ru).

В целом, все упомянутые сервисы из подборки работоспособны, практичны и запускаются без особых проблем. Если вы ищете что-то для себя или своей компании рекомендую выбрать один из них. Ну а если вы уже нашли подходящий вариант поделитесь в комментариях, что именно вы используете и почему.
Подробнее..

Категории

Последние комментарии

© 2006-2020, personeltest.ru