Революция под флагом WebRTC

13.11.2014 Издание

Солдатов С.А.

С момента анонсирования стандарта WebRTC (Web Real-Time Communications) компанией Google уже прошло почти 3 года. Но, несмотря на это, тема остается “горячей” и вызывает огромное количество дискуссий в кругах телеком-специалистов, в том числе операторов связи.

Для миллиардов пользователей браузеров Chrome, Firefox, Opera и производных от них (например, Яндекс.Браузер) WebRTC — это возможность участвовать в видеоконференциях просто перейдя по ссылке. Так как WebRTC не требует установки специальных программ или плагинов, двухсторонняя полнодуплексная аудио и видеосвязь становится доступной через веб-браузер, достаточно лишь подтвердить запрос о предоставлении доступа к камере. А для предприятий — это возможность свободно подключать внешних или слабо разбирающихся в информационных технологиях абонентов к внутренним сеансам видеосвязи.

Существует точка зрения, что у этой технологии нет будущего, и она не оправдала ожиданий рынка. Однако, единственная альтернатива — технология Flash компании Adobe — так и не смогла устранить свои недостатки, и рано или поздно она будет вытеснена с рынка другими более современными технологиями. Хоть Adobe и убрал статистику по проникновению Flash со своего сайта, известно, что ее доля падает, в то время как WebRTC удобней в использовании и набирает популярность среди пользователей.

Согласно данным Internet Telephony, технология WebRTC поддерживается на более чем 1 млрд. абонентских устройств, и ожидается, что их количество вырастет до 3,9 млрд. к 2016 г. При этом стоит учесть, что гиганты рынка включились в развитие технологии — ORTC от Microsoft совместим с WebRTC, RealPresenceCloudAXIS от Polycom включает в себя ее поддержку, Apple, хоть и не дает комментариев, похоже, хочет добавить технологию в свою версию WebKit. А вот Adobe прекращает работу над Flash для новых браузеров. Более того, Google недавно анонсировал переход своего сервиса Hangouts на технологию WebRTC и показал первые тесты с ее применением без использования дополнительных плагинов к браузеру (напомним, что ранее использовались платформозависимые плагины от компании Vidyo). Следствием только этого обновления будет увеличение еще на 100 млн. абонентов и так огромного количества пользователей WebRTC.

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

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

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

Что же такое WebRTC? Это стандарт, для которого доступна реализация с открытым исходным кодом, предназначенный для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии “точка-точка” (P2P) в режиме реального времени.

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

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

Если рассмотреть такой аспект, как совместимость WebRTC с существующими стандартами, то можно заметить, что большая часть протоколов, входящих в него, совпадает и расширяет протоколы, входящие в стек SIP, такие как SDP, RTP и TURN. Для упрощения интеграции с существующими SIP решениями, WebRTC поддерживает аудиокодек G.711. В результате сильно упрощается задача написания программного обеспечения, поддерживающего и SIP, и WebRTC.

Основной же сложностью, вызывающей активное обсуждение, является реализация групповых видеоконференций в рамках этого стандарта. Для решения данной проблемы ведущие производители предложили уже целый ряд удачных решений. С помощью WebRTC можно легко сделать сеанс связи из двух участников, но с групповыми видеоконференциями возникает много вопросов. Это происходит потому, что сам по себе стандарт не включает кодека с поддержкой SVC (Scalable Video Coding — масштабируемое видеокодирование), а без него групповые видеоконференции, особенно мобильные, требуют перекодирования видеопотоков в потоки разного размера. Возьмем ситуацию, в которой три клиента с разны ми симметричными каналами связи (200, 500 и 500 кбит/с) участвуют в групповой видеоконференции, и посмотрим, что произойдет с каналом. Каждый клиент будет передавать максимально возможный для себя поток данных. В итоге, клиент 1, размер канала которого составляет всего 200 кбит/с, может отправить клиентам 2 и 3 только по 100 кбит/с каждому или 200 кбит/с одному и ничего — другому. Оба варианта в подобной ситуации являются неприемлемыми для полноценной групповой конференции. Оптимальным решением в таком случае является установка промежуточного звена, так называемого сервера ВКС, принимающего все клиентские видеопотоки и раздающего их другим участникам согласно их возможностям. Таким сервером может выступать классический MCU (Multipoint Control Unit) или современные программные сервера, такие как TrueConf Online, использующие SVC (Scalable Video Coding, масштабируемое кодирование видео) для управления потоками видео. При необходимости технология SVC позволяет без перекодирования изменить ширину (размер) видеопотока в сторону уменьшения. При этом может меняться частота кадров, разрешение и качество картинки.

Рис. 1. Групповая видеоконференция с разными симметричными каналами связи

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

Рис. 2. Использование SVC для управления потоками видео

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

Операторы связи, стремясь развивать направление VaaS (Video-as-a-Service), всегда предлагали только локальные или требующие специфических сетевых условий сервисы для своих абонентов. Это, в свою очередь, ограничивало возможности пользователей, которым необходима связь по всему миру. Часто оператор предлагает сервисы на базе своего проприетарного клиентского программного обеспечения. Такие программы связи от операторов изготавливаются на заказ только для самых распространенных платформ (например, Windows), а стабильная техническая поддержка, исправление ошибок и доработки ПО даже под новые версии Windows не осуществляются. Использование такого ПО обычно получается неудовлетворительным для пользователя уже через год после его запуска.

Конечно, распространение смартфонов с упрощенной установкой программ на них (Apple App Store, Google Play) помогло операторам, но не решило проблему целиком. Полностью решить проблему необходимости проприетарного ПО связи может технология WebRTC, позволяющая подключить к VaaS сервису оператора любой компьютер. При этом пользователям не нужно устанавливать специальные программы, а оператору — заказывать их написание/разработку.

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

Опубликовано 13 ноября 2014 в Вестник связи
Рубрики Подписка на новости Присоединяйтесь!