Как мы YouTube Live с Zoom интегрировали

Всем привет! Это вторая часть серии статей от IT-команды сервиса бронирования отелей Ostrovok.ru об организации онлайн-трансляции корпоративных презентаций и мероприятий в одном отдельно взятом помещении.

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

Как мы YouTube Live с Zoom интегрировали

И вроде всё было хорошо, но спустя некоторое время в наш отдел прилетела новая задачка – давайте сделаем наши трансляции более интерактивными! Всё наше ТЗ заключалось в одном предложении – нужно было дать удаленным сотрудникам возможность подключаться к встречам команд, то есть не только смотреть, но и активно участвовать: показывать презентацию, задавать вопросы в режиме реального времени и т.д. Проанализировав ситуацию, мы решили использовать конференцсвязь Zoom.

Как мы YouTube Live с Zoom интегрировали

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

Вернемся к нашей задаче. Казалось бы, решение простое:

  1. Убираем кабель HDMI для подключения по проводу;
  2. Настраиваем Zoom Rooms в переговорке таким образом, чтобы сотрудники могли подключаться к встрече и показывать презентацию с любого устройства из любого места;
  3. Убираем из нашей схемы камеру, ведь зачем нам захватывать картинку с камеры, когда мы можем захватывать картинку из Zoom? Подключаем проектор через плату видеозахвата к ноутбуку, переносим хост туда же, перенастраиваем Xsplit на захват окна с программой (функцией Smart Selection) и выходим в тестовый эфир.
  4. Настраиваем звук так, чтобы удаленных ребят было слышно и при этом не страдал звук в YouTube.

Именно так мы и поступили: подключили микрофоны в Intel NUC с установленным на нем Zoom Rooms (далее «хост»), убрали кабель HDMI для проектора, научили сотрудников «шэрить картинку в Зум» и пустили в эфир. Чтобы было более понятно, ниже приведу схему подключения.

Как мы YouTube Live с Zoom интегрировали

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

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

Колонка + микрофон

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

Как мы YouTube Live с Zoom интегрировали

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

Перенос Zoom Rooms

«А что, если запустить Zoom Rooms на ноутбуке с установленным Xsplit и разнести обе программы по разным виртуальным столам?» – однажды задумались мы. Вроде бы звучит как идеальное решение, чтобы добиться поставленной цели и заодно уменьшить количество узлов, которые необходимы для проведения трансляции (и которые потенциально могут отвалиться). Вспоминается пословица про гору и Магомеда:

Как мы YouTube Live с Zoom интегрировали

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

На самом деле, этот вариант оказался самым удачным.

Первый вопрос, который нас больше всего волновал – не произойдет ли конфликт передачи аудиопотока между приложениями. Как выяснилось – нет. Тесты показали, что все работает замечательно! У нас был одинаково хороший звук как в Zoom, так и в YouTube! Картинка тоже радовала. Любая презентация отображалась в YouTube, как она есть, в качестве 1080p. Для понимания приведу еще одну схему – в ходе придумывания различных решений мало кто понимал, что за зверь у нас получается, поэтому мы старались все фиксировать и делать как можно больше иллюстраций:

Как мы YouTube Live с Zoom интегрировали

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

Долой видеозахват!

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

Как мы YouTube Live с Zoom интегрировали

Все работало как надо. На проекторе было видно всех участников конференции (тестировали вчетвером), звук был отменный, картинка хорошая. «Это победа!» – подумали было мы, но реальность, как всегда, бьет исподтишка. Наш свежий ноутбук с Core-i7 восьмого поколения, дискретной видеокартой и 16-ю гигабайтами оперативной памяти начал задыхаться через 30 минут работы тестового эфира. Процессор просто не справился с нагрузкой, работал на 100% и в результате перегрелся. Так мы столкнулись с троттлингом процессора, что в итоге вылилось в рассыпание картинки и звука. Презентация, что на экране проектора, что в YouTube, превратилась в мешанину пикселей, а от звука не осталось ровно ничего, разобрать его было невозможно. Так наша первая победа стала очередным фиаско. Дальше мы уже думали над тем, собрать ли нам полноценный стримерский десктоп или обойтись тем, что есть.

Новое дыхание

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

Как мы YouTube Live с Zoom интегрировали

Сразу скажу, что это решение оказалось именно тем, которое нам было нужно.

Хост работал на NUC и нагружал только его, а сам ноутбук с клиентом нагружал только Xsplit (прошлые опыты показали, что он его прекрасно тянет). В этом решении Zoom Rooms имеет следующие преимущества перед обычным проводным соединением:

  1. Показ контента на полотне через Zoom Rooms удобно управляется с помощью планшета хоста. Начинать, заканчивать, управлять конференцией или встречей намного удобнее с экрана планшета, чем выполнять некоторую последовательность действий, чтобы брать управление встречей на себя.
  2. Чтобы подключиться к комнате, у нас всегда есть одна ссылка – это Meeting ID, по которому подключаются все участники, ее не нужно отправлять каждому персонально, так как анонсы трансляции в корпоративном мессенджере всегда содержат эту ссылку.
  3. Иметь один премиум аккаунт в Zoom для хоста комнаты во много раз выгоднее, чем раздавать его персонально каждому офисному сотруднику, который будет пользоваться системой видеоконференций.
  4. Поскольку хост и ноутбук, необходимый для трансляций, больше никак друг с другом не связаны, можно сказать, что у нас получилась отказоустойчивая система: при отключении одного устройства мы можем восстановить трансляцию, не прекращая конференцию. Например, если падает ноутбук с трансляцией, то с помощью планшета начинаем запись встречи в облако; если падает NUC, то ни конференция, ни трансляция не завершаются, просто переключаем проектор из NUC в ноутбук, подключенный к Zoom, и продолжаем просмотр.
  5. В офис часто приходят гости со своими устройствами и презентациями. В этом решении нам удалось избежать вечных проблем с подключением к экрану по кабелю – гостю достаточно пройти по нашей ссылке и он автоматически становятся участником встречи. При этом ему не нужно скачивать приложение, все прекрасно работает через браузер.

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

Заключение

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

Источник: habr.com

Добавить комментарий