Если кто следит за нашим блогом, наверняка уже знает, что мы проводим хардкорные технические конференции в разных областях программирования (Java, .NET, HolyJS, iOS/Android, тестирование). Конференции эти традиционно проходят в Москве и Петербурге, почему? Потому что в этих городах физически больше разработчиков – это позволяет собирать под одной по 500-1000 единомышленников.
Однако мы знаем и понимаем, что и в других городах России есть множество разработчиков, которые готовы влиться в сообщество, которые ищут новые технологии и подходы, но им просто нереально добраться до столиц – для таких людей мы делаем онлайн трансляции наших конференций.
Как выглядит идеальная на наш взгляд трансляция? Вот несколько ссылок на свежие трансляции последних конференций:
А если вам интересно, чего нам стоило отточить трансляцию и видеозаписи до такого состояния, а также какие факапы с реал-тайм системой вызывают самый сильный баттхертом, читайте под катом.
Чтобы онлайн всегда онлайн
Наверное, каждый видел не одну трансляции различных конференций, семинаров, школ и прочего. Обычно всё просто: берётся видеокамера, докладчик стоит в зоне видимости, за спиной — экран со слайдами с проектора. Некоторые организаторы идут дальше и внизу окна вещания прикладывают pdf-файлы презентаций — можно уточнить и проследить то, что не видно с экрана. Более продвинутые снимают слайды с ноутбука докладчика, но при этом картинка размещается в углу и в один момент времени видны либо слайды, либо докладчик (примерно такой эффект можно наблюдать при пошаренном экране Skype). Ни один из этих вариантов нас, организаторов Joker, не устраивал. Мы делаем то, что кажется логичным, удобным и приятным для просмотра. И наблюдаем общую неготовность индустрии делать то, что мы хотим.
Онлайн-трансляция для нас — всегда интересная история. На самом деле, чтобы просто выкладывать картинку в Интернет, можно использовать YouTube — для этого нужно всего три вещи: компьютер, интернет-канал и подключение к камере. А вот наложить картинку с докладчиком на его слайды с ноутбука или показывать в высоком качестве то, как он вживую программирует, совсем не тривиальная задача. Прежде всего, видео нужно монтировать, что называется, на лету. То есть обычно монтаж как делается: собираются звук, видео с пары камер, слайды к докладам и всё это неспешно и аккуратно монтируется при помощи специализированного программного обеспечения. Делается это всё после записи. Нам же необходимо всё создавать в режиме реального времени. Для этого есть специальные программы, которые позволяют не только монтировать видео на лету, но и, что очень важно, транслировать его в разном качестве. Например, если вы смотрите онлайн-трансляцию с планшета с родным разрешением 800 точек, то он не потянет 1920 точек по ширине, а если вы это делаете ещё и в кафе с публичным каналом, то не потянет ещё и интернет. Поэтому качество должно быть одно. Другая история, если вы смотрите трансляцию вдесятером на 60-дюймовой плазме. Именно поэтому смонтированное на лету видео и приходится мгновенно нарезать и отдавать в разном качестве. Мы делаем запись в самом высоком качестве, а затем пережимаем его на лету — обычно задержка составляет не более 5-10 секунд.
Скорость интернета — ещё одна большая боль. Увы, свой интернет с собой не принесёшь, приходится использовать тот, что есть на месте проведения конференции. А площадки бывают разные. Например, был случай, когда на площадке гостевой доступ к сети настроили на тот же канал, где проходило вещание онлайн-трансляции. Народ пришёл на конференцию, все подключились к wi-fi, скорость отдачи трансляции упала. Хуже, что мы не сразу это заметили, так как задержка может быть до 15 секунд и происходит сглаживание вот таких вот заминок. Бывает и так, что конференция проходит в гостиницах где основной зал на 600 человек и малые залы суммарно на 400. При этом гостиница предлагает wi-fi на 300 человек. Тут проблемы с интернетом неизбежны. Считайте сами: FullHD видео съедает 5 Мбит/с на каждый зал, а с учётом технологического запаса — 10-15 Мбит/с, кроме того, некоторые подрядчики пытаются разрезать видео на разное качество на месте, а это уже 15-20 Мбит/с. У гостиниц нет таких каналов. Беспроводные технологии не держат такую скорость, ненадёжны.
Сервер, на котором монтируется видео, располагается прямо на площадке и он не раздаёт саму трансляцию, а заливает видео на удалённый сервер, который это и делает. Соответственно, когда используешь свой сервер, он должен уметь держать высокую нагрузку, которая растёт как раз в момент, когда видео с машины на площадке заливается на удалённую. В случае просадки скорости соединения можно успеть залить предыдущие и следующие секунды выступления. Но если интернет пропадёт совсем, трансляция прервётся.
Кстати, опережая ваши вопросы о YouTube, — мы использовали эту модель вещания. И столкнулись с несколькими критичными ограничениями. Например, была закрыта трансляция в некоторых странах — мы получали жалобы от ребят из Германии (конференция проходила в Москве), спасло использование прокси через Россию. Опять же, вещание через YouTube казалось удобным — не нужен был сервер, но сервис не держит онлайн-трансляцию длительностью более 8 часов, а у нас конференция длилась чуть больше. Приходилось в обед менять ссылки на онлайн, кто-то терялся, не перезагружал страницу, иногда не успевали настроить все залы, возникали задержки.
Правила съемки
Очень тонкий момент — съёмка докладчика. Особенно, если в докладе есть демки и live-coding — у нас есть ровно один шанс, чтобы снять всю информацию. Особенно это важно, если докладчик из другого города или другой страны — у него же не попросишь повторить ещё раз. Система, которая обеспечивает эту съёмку, достаточно хрупкая. Трансляция делается для 20% участников конференции, 80% находятся на самой площадке: нужно обеспечить хорошей картинкой всех. Бывает, что докладчики при пояснении поворачиваются к экрану со слайдом лицом, а к залу — спиной и так продолжают говорить. Для решения этой неприятности предусмотрен суфлёр — экран под ногами докладчика — достаточно скосить глаза вниз и видно слайд.
Таким образом, необходимо обеспечить вещание на проектор, трансляцию, а иногда ещё и на экраны для задних рядов и суфлёр докладчика. Эта схема последовательно включает в себя множество приборов, каждый из которых может дать сбой. Тогда возникнут проблемы: пропадут слайды, исчезнет живой код. А это совершенно
Ещё важно обратить внимание на освещение — при видеосъёмке это один из ключевых моментов — тут простых решений тоже нет. Первым делом хочется просто подсветить докладчика прожектором, но тогда пересвечивается экран со слайдами, а если приглушить свет, отлично видно экран, но не видно спикера. Современные технологии телевизионной видеозаписи имеют чересстрочную развёртку и при неудачном освещении за счёт задержки между кадрами докладчик двигается дёрганно, как робот. Самый простой вариант — повесить дополнительное освещение, но светильники могут слепить докладчика и он не сможет смотреть в зал (да и вообще, сложно выступать с техническим докладом, когда тебе в глаза бьет пара проекторов). К тому же, прожектор выхватывает человека на сцене достаточно узким световым пятном, а докладчик может прохаживаться по сцене. Для управления съёмкой человека в движении дополнительно нужен светорежиссёр, который будет управлять направлением освещения: если водить камеру параллельно перемещению докладчика, от просмотра видео болят глаза и кружится голова, если плавно — он убегает из кадра. Здесь выход технически несложный, но волевой — попросить выступающего меньше двигаться по сцене.
Ни слова мимо
Помимо видео нужно писать ещё и звук. Это опять же не так-то просто. Источники звука в зале: докладчик, трековнер (ведущий зала), зрители с вопросами. Все эти голоса нужно свести в один звуковой пульт и вывести на колонки и на трансляцию. Здесь опять может что-либо отказать. И если в случае отказа микрофона в зале можно договорить громким голосом, то трансляция забирает звук с пульта и в случае сбоя ничего не слышно. Бывает так, что зритель задаёт вопрос, не дождавшись микрофона — звукопульт его не пишет. А ведь некоторые вопросы очень ценные и точно дополняют доклад, помогают прояснить тему или детали, которые докладчик опустил по каким-либо причинам. На такой голос мы направляем звуковую пушку (удалённый микрофон) — и этот голос уже попадает на звукопульт, откуда уходит в трансляцию.
Важны даже элементарные батарейки! Вы будете смеяться, но у нас в чек-листе расписано, кто когда их покупает, меняет и проверяет, чтобы с микрофонов гарантированно шёл звук. Ну и для подстраховки у каждого докладчика есть цифровой диктофон, не завязанный на пульт. Благодаря ему в случае тотального отключения микрофона всегда останется аудиодорожка, которая попадёт в итоговый монтаж материалов конференции.
Ещё одна сложность — сжатые сроки конференции. В 2016 году Joker пройдёт в течение двух насыщенных, плотных дней. За это время нам нужно выдать максимум информации, и мы сжимаем всё, что можно сжать: например, промежутки между докладами. Которые, кстати, могут быть захвачены вопросами к очередному эксперту. Бывает так, что перерыв сокращается до трёх минут, а ведь для нас это момент перенастройки оборудования: нужно подключить следующий ноутбук (у всех разные ПК с разными операционными системами: macOS, Windows, Linux, которые по-разному работают с видеовыходом), микрофон. Любая задержка каскадно влечёт за собой задержки и остальных мероприятий, поэтому мы умеем настраивать и за три минуты. Дружбу ноутбуков с оборудованием на площадке мы наладили следующим образом: докладчик видит букет кабелей разного типа (HDMI, VGA, Displayport и еще черт знает, что), подключает тот, что поддерживает его устройство, а затем специальный прибор конвертирует изображение.
Сложность настройки связана и с многозальностью конференции. Один набор оборудования должен уметь фантастически много, работать на зал и на трансляцию. Это очень сложная общая картина. Но наша система отлажена и работает на лету. Если мы ожидаем какой-то косяк или сбой, то непременно стелем соломку. Конечно, если интернет-кабель перерубит экскаватор на улице или во всем районе рубанут электричество, тут уже трудно что-то предпринять. В остальном — мы уже протестировали трансляцию этого года в разных качествах, всё работает.
А дальше что?
Иногда кажется, что идеал уже почти достигнут: вот наша FullHD трансляция почти без задержек и артефактов со звуком льется из сотен мониторов, – велик соблазн по-фаустовски воскликнуть «Остановись, мгновенье». Но это путь в никуда, поэтому в октябре на Joker 2016 мы готовим несколько фич, которые сделают трансляцию более интерактивной:
Чат во всех треках
Ранее для отлова багов и глюков мы использовали Twitter – это позволяло нам исправлять ошибки в срок до 3-5 минут, в этот раз в каждом треке будет свой чат, где участники смогут не только писать об ошибках, но и обсуждать доклады. Пока есть нюанс – задать вопросы спикеру в реальном времени пока не получится, докладчик увидит все комментарии только после своего выступления – впрочем, тут мы подходим к следующей штуке, которая позволит вам получить нужные ответы.
Интервью со спикерами
По результатам доклада и обсуждения в дискуссионной зоне спикер будет давать интервью в перерывах конференции – это значит, что мы почти совсем попрощаемся с заглушками типа «Подождите, сейчас начнем» и у зрителей будет вещание нон-стоп.
По сути, это такой эксклюзив для тех, кто следит за трансляцией, потому что на конференции эти интервью не увидеть. Кроме того, спикер сможет ответить на вопросы, которые вы зададите в чате, а если разжечь холивар и энтузиазм у докладчика, то можно будет увидеть и анонсы Хабропостов. Да будет срач в комментах!
Интервью с партнерами и спонсорами
Кроме спикеров, в перерывах интервью дадут партнеры и спонсоры конференции. Зачем это надо? Часто спонсоры не просто пиарят свои компании (в конце концов, это не слишком интересно), а готовят разные интерактивные интервью – задачки «на сообразительность», делятся интересными кейсами и лайфхаками, а также рассказывают инсайдерскую информацию о самых интересных проектах, готовящихся в недрах их офисов.
Например, EPAM поощряет науку и исследования в области Computer Science, а Deutsche Bank в прошлом году отправлял сотрудников в Лондон? О таком можно услышать только из первых уст, теперь и в нашей онлайн-трансляции!
Трансляция вечеринки
А «на сладкое»: трансляция вечеринки первого дня, с перерывом в течение которого можно будет успеть сгонять за пивом заварить чашечку чаю, чтобы в режиме LIVE насладиться звучанием Paspberry Pi в исполнении Sam Aaron.
Ну и напоследок. Мы как-то считали, сколько оборудования запускается на нашей конференции: тонны! К месту проведения подъезжают штук пять грузовичков с техникой, которую нужно грамотно разместить и смонтировать. Застраивают залы человек 20. Обычно на это у нас не больше дня, а было время, когда была всего одна ночь. В которую, естественно, мы не спали. Жаль, что нам никогда не дадут Оскар.
Если вы дочитали до этого места, возможно, вы захотите присоединиться к одной из наших конференций. Какой, решать и выбирать вам, все мероприятия вы найдете на нашем сайте по ссылке.
Вместо постскриптума: этот пост родился как итог возгорания в районе кресла после очередного вопроса «А чего у вас трансляция такая дорогая?! Вам что, коннекции жалко, она ж ничего не стоит», – и мне просто захотелось поделиться, какая гора труда лежит за, казалось бы, обычными видеозаписями и трансляциями.
Автор: JUG.ru Group