Не так давно на страницах издания мы рассказывали о деталях стандарта WebRTC и его применении для видеоконференцсвязи между браузерами. В материале лишь вскользь упоминалось о том, что стандарт также может использоваться для распределения "тяжелого" контента при помощи пиринговой сети, организованной между пользовательскими браузерами. В качестве примера подобного сервиса назывался зарубежный peercdn.com. Но на рынке существуют и другие подобные решения, в том числе имеющие не только инженерные, но и коммерческие успехи. Один из них, FlockPlay, развивается компанией Inventos (inventos.ru) из Орла.
История вопроса
"Идея появилась на рынке пару лет назад. Хотя мысли о том, чтобы использовать пиринговые сети для доставки контента, существовали и ранее, но все они использовали дополнительное ПО, что препятствовало активному развитию. К примеру, пиринговую доставку видео пыталась сделать социальная сеть "ВКонтакте". При попытке просмотреть ролик пользователям с Flash Player версии от 10.1 предлагалось разрешить подключение к пиринговой сети (реализованной при помощи Flash Player 10.1 и Adobe Cirrus). И популярная социальная сеть - не единственный ресурс, пытавшийся таким образом снизить затраты на трансляцию видео. Еще один интересный пример - пиринговая сеть, организованная по заказу CNN датской компанией Octoshape при помощи плагина для Flash Player. Но и в том, и в другом случаях пользователи настороженно отнеслись к нововведению. Многие думали, что им пытаются установить какое-то шпионское ПО. А с развитием WebRTC речь пошла о чисто браузерной реализации, которая работает без дополнительного ПО. PeerCDN - это, пожалуй, первый пример использования WebRTC для доставки "тяжелого" контента (не только видео, но и изображений, а также файлов из хранилищ)", - Алексей Щукин, менеджер по развитию компании Inventos.
PeerCDN была построена с использованием JavaScript. Благодаря скрипту, встроенному в страницу, фрагменты "тяжелого" контента, уже загруженные в буфер браузера, могли передаваться другим пользователям, снижая тем самым нагрузку на центральный сервер. Система позволяла существенно экономить на стоимости трафика (особенно при пиковых нагрузках). Согласно проведенным стартапом "лабораторным" испытаниям, экономия могла достигнуть 90%. Но, судя по всему, коммерческих результатов работа PeerCDN не имела (до последнего момента решение находилось на стадии публичной беты). В конце 2013 года технология вместе с разработчиками перешла под руководство Yahoo! (условия перехода не разглашаются). При этом информации о моделях монетизации PeerCDN до сих пор не поступало. Сторонними наблюдателями высказывались предположения, что разработчики будут использовать свои серверы в качестве платных трекеров и центров авторизации при создании пиринговой сети. Но эти предположения не были ни подтверждены, ни опровергнуты.
По мере развития WebRTC стали появляться и другие проекты, повторяющие функционал PeerCDN, в частности FlockPlay.
Как работает FlockPlay
При трансляции видео в Интернете пользователи традиционно получают видеопоток напрямую с медиасервера. Мощности, необходимые при этом оператору (и, соответственно, трафик, который надо передать и оплатить), прямо пропорциональны количеству пользователей, заинтересовавшихся данным видео. Т.е. во время пиковых нагрузок, особенно характерных для прямых трансляций культурных или спортивных мероприятий, трафик и расходы возрастают в геометрической прогрессии.
Решение FlockPlay позволяет, условно говоря, часть этой нагрузки переложить на браузеры зрителей, сделав их источниками для скачивания данных другими пользователями, наряду с центральным медиасервером. Передача данных при этом осуществляется благодаря WebRTC при посредничестве отдельного сигнального сервера, координирующего работу пиринговой сети (его функционал подобен сигнальному серверу видеоконференцсвязи с помощью WebRTC).
С точки зрения пользователя, подключающегося к трансляции, оператор, использующий пиринговую сеть, ничем не отличается от оператора, транслирующего контент с собственного сервера. Зрителю не надо скачивать дополнительных плагинов или как-то вручную вмешиваться в работу пиринговой сети. Вся интеграция осуществляется на стороне оператора. Благодаря коду на странице, интерпретировать который могут многие современные браузеры (Chrome, Firefox, Opera последних версий), пользовательские запросы отправляются не напрямую медиасерверу, а серверу управления пиринговой сетью, который, в зависимости от условий, может перенаправить его напрямую другому зрителю. Если во время трансляции источник сигнала (зритель) вдруг отключается, запросы перенаправляются на центральный медиасервер или новому пользователю-"источнику". А благодаря буферизации потока переключение источника не влияет на просмотр.
Основное преимущество, которое получает от такой схемы оператор, - возможность экономии на трафике, а значит, и на общей стоимости трансляции. Особенно это актуально для "живых" трансляций в формате высокой четкости (к примеру, спортивных мероприятий).
"Технологию можно применить к любому контенту, удовлетворяющему двум условиям: он должен быть достаточно "тяжелый" и популярный в какой-то момент времени. Т.е. это необязательно должно быть видео. Определенного эффекта можно добиться, даже если речь идет о какой-то довольно объемной картинке, которую одновременно запрашивает миллион пользователей", - дополняет Алексей Щукин.
Само решение представляет собой библиотеку для любого плеера на базе OSMF (Open Source Media Framework). "В принципе, мы можем разработать аналогичную библиотеку для любого Flash-плеера, но на данный момент готово решение для OSMF, а также FlockPlay Android SDK, с помощью которого FlockPlay можно внедрять в приложения для платформы Android", - комментирует Алексей Щукин. При этом компания предлагает FlockPlay в виде облачного сервиса со статистикой работы и оплатой в зависимости от сэкономленного трафика (без абонентской платы).
Решение FlockPlay совместимо с различными DRM. "Взаимодействие с DRM заключается в том, что мы поддерживаем функционал FlockPlay, например, для Adobe Flash Access, да и для любого DRM, которое не блокирует транспортный уровень. Суть FlockPlay в том, что внутри сети идет обмен небольшими чанками (кусочками) видео. Зашифровано оно или нет - неважно, т.к. наше решение осуществляет только доставку одинаковых кусочков к тем, кому они нужны", - поясняет Алексей Щукин. Похожим образом реализована и поддержка адаптивного битрейта. Если видео закодировано в нескольких вариантах (с различными битрейтами, к примеру, SD и HD качества), то обмен чанками будет осуществляться только между зрителями, получающими видео одинакового качества. "Это возможно благодаря тому, что наше решение реализует транспортный уровень. По сути, ему все равно, что передавать, лишь бы запрошенный сегмент видео и отдаваемый сегмент видео были одинаковыми", - говорит Алексей Щукин.
"В целом идея пиринговой доставки на базе WebRTC довольно проста, соответственно, технических проблем практически никаких быть не может. Проблемы здесь, скорее, идеологические: часто потенциальному заказчику приходится подробно разъяснять, что это такое, поскольку решение путают с CDN или торрентом. Но это решение не может заменить CDN, оно работает с ним в паре. По сути, на данном этапе еще не существует рынка для этой услуги, поэтому приходится детально объяснять потенциальным клиентам, в чем выгода от использования пиринговых технологий", - комментирует Алексей Щукин.
Пользователи в большинстве своем в технические детали работы пиринговой сети не вдаются. Хотя на форумах, посвященных аналогичным решениям, можно встретить комментарии недовольных относительно того, что организаторы трансляции без явного разрешения планируют использовать ресурсы их рабочих станций и каналы (которые вполне могут подразумевать оплаты за мегабайты).
"Сама по себе технология WebRTC достаточно новая. Пока ей не злоупотребляют, и она в браузерах по умолчанию разрешена. Возможно, если это станет проблемой для пользователей, разработчики браузеров могут ввести какую-то настройку, как для javascript, которая позволит отказаться от использования WebRTC. Но пока такой практики нет. Наше решение ничего у пользователя не запрашивает, т.к. это будет лишь отпугивать зрителей, задавая им лишние вопросы. Ограничения тем не менее есть: на объем хранимой информации (в зависимости от браузера, до 300 МБ в оперативной памяти) и на количество исходящих соединений у зрителя (один зритель может являться сервером максимум для двух других зрителей). В ограничении на трафик я смысла не вижу: исходящий канал у зрителей обычно пустует, и многими операторами исходящий трафик не тарифицируется. Поэтому мы не думаем, что использование FlockPlay существенно влияет на общие ощущения от просмотра", - добавляет Алексей Щукин.
Примеры коммерческого внедрения
Компания Inventos не называет своих клиентов, но, по ее сведениям, решение применяется в достаточно известном онлайн-кинотеатре, а также в проектах по трансляции спортивных мероприятий. Статистика проектов показывает, что решение позволяет экономить до 70% трафика в пиковые моменты, а в обычное время - до 30%. При этом для нормальной работы пиринговой сети достаточно одновременного просмотра видео сотней пользователей. А добиться 50% экономии дает возможность уже 500 активных зрителей.
Ситуация на рынке
По словам Алексея, на данный момент их компании известно о четырех конкурентах, предлагающих похожие технологии.
Peer5 - инструмент для построения децентрализованной сети для доставки объемного контента. К сожалению, на сайте решения нет подробного рассказа о его принципиальных особенностях, за исключением упоминания о возможности применения не только для видео, но и для аудио, онлайн-игр и доставки объемных изображений. Однако часть кода проекта распространяется по лицензии Open Source.
В 2013 году решение Peer5 стало частью технологической платформы Kaltura. В нашей стране Kaltura известна платформой, предоставляющей пользователям возможность создавать собственные видеоролики на основе медиаконтента, распространяющегося по лицензии Creative Commons, в том числе и через такие ресурсы, как YouTube. Кроме этого, Kaltura занимается разработкой решений для публикации и монетизации медиаконтента (в частности, OTT-платформы). Интеграция Peer5 в платформу Kaltura интересна тем, что компании совместно провели масштабную демонстрацию возможностей технологии, одновременно подключив к ней пользователей из США, Европы, Азии и Австралии. Собранная статистика показала, что около 90% трафика прошло через пиринговую сеть. Среднестатистическое время запуска видео в браузере пользователя сократилось со "средних для отрасли" 2,2 секунды до 1,5 секунд (этот параметр считается важным благодаря отчету аналитиков из калифорнийской компании Conviva, согласно которому среднестатистический пользователь отказывается от просмотра ролика где-то между 2 и 3 секундами ожидания запуска). Судя по всему, достигнутый в ходе демонстрации результат в 90% теперь и используется аналогичными проектами в своих маркетинговых материалах.
О других клиентах или внедрениях стартап не сообщает, как и о схемах монетизации.
Swarmify позволяет не только работать с видео, но и осуществлять предзагрузку другого контента, к примеру, страниц сайта, на которые с большой долей вероятности будет переходить массовый пользователь (основатели стартапа называют эту возможность "предиктивной загрузкой"). Сайт решения сообщает о четырех клиентах: онлайн-магазине MakeUseOf, рекламном агентстве DigitalMGMT, ресурсе SwimSwam и некой компании DL Entertain. Кроме того, он раскрывает принципы монетизации: тарифный план определяется общим объемом трафика, переданным через пиринговую сеть за месяц. До 250 Гб в месяц предоставляется бесплатно, до 10 Тб - за 99 долларов в месяц, большие объемы - по индивидуальному тарифному плану.
На сайте решения есть демонстрация со статистикой, позволяющая наглядно посмотреть принцип его действия.
Viblast - решение, специализирующееся на передаче живого HD-видео на мобильные устройства и в веб-клиенты. В отличие от других проектов, в рекламе этого стартапа разработчики акцентируют внимание на простоте интеграции (которая сводится к интеграции в мобильные приложения пары библиотек и вставке некоторого количества строк кода). В отличие от описанных выше конкурентов, Viblast предлагает демонстрационные приложения для iOS и Android.
Опция предлагается в виде сервиса. Монетизация построена на объеме сэкономленного трафика (т.е. трафика, переданного через пиринговую сеть). На данный момент решение поддерживает только "живые" трансляции, но анонсирована поддержка видео по запросу, которая должна появиться в третьем квартале этого года.
У решения также есть демонстрация. О клиентах сервиса не сообщается.
StreamRoot- еще одно решение, работающее как с живыми трансляциями, так и с видео по запросу, поддерживающее адаптивный стриминг. На данный момент разработчики реализовали плагины для JWplayer, Flowplayer и VideoJS, но проявляют готовность совместить свой продукт с любым плеером на базе HTML5.
Разработчик заявляет, что его клиентами являются France televisions, оператор Orange и L`Equipe. Монетизация сервиса построена на объеме передаваемого в месяц контента, а также среднемесячном количестве зрителей на сайте. Анонсирована бесплатная Saas-модель распространения, но пока она в режиме разработки (заинтересованным предлагается подписаться на рассылку для получения в будущем подробной информации).
Демонстрация со статистикой: http://streamroot-demo-vod.s3.amazonaws.com/v3/demoLive.html.
Интересно, что для всех перечисленных решений предлагают довольно скудные объяснения деталей технологии на сайте, предпочитая вести продажи через 30-дневную триальную версию. Хотя всем им есть что рассказать (в частности, о шифровании передаваемого контента).
Упомянутые компании - не единственные участники рынка, обратившие внимание на пиринг. Далеко не все делают ставку на WebRTC, но сама идея, как говорится, "витает в воздухе".
"Netflix занимается разработками в этой области, Akamai тоже запускал какие-то тестовые проекты. Как я говорил ранее, у "ВКонтакте" была попытка использовать пиринговую передачу видео от Adobe. Правда, потом они от этой идеи отказались (возможно, при их объемах это не очень эффективно, т.к. количество видео там огромно и потребление размазано по разным роликам; кроме того, у Adobe надо было дополнительно разрешать пиринговую передачу, что, думаю, многих отпугивало). Мы планируем представить наше решение на IBC (стенд 14.D01 в павильоне Connected World) в сентябре этого года. Насколько я знаю, на выставке будут наши коллеги из Viblast. Так что в будущее мы смотрим с оптимизмом", - подводит итог Алексей Щукин.