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

Главный аргумент состоит в том, что бизнес-пользователям прежде всего нужна хорошая видеосвязь, а вопросы установки и запуска отдельного ПО для них вторичны. Между тем качество видеосвязи как раз и является слабым местом WebRTC. Этот стандарт пока еще очень «сырой» — он поддерживает только один видеокодек VP8, что сильно ограничивает его возможности и требует развертывания инфраструктуры для поддержки групповых видеоконференций.

НЕДОСТАТКИ ИЛИ ОСОБЕННОСТИ WebRTC

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

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

Стоит отметить, что серверы разных вендоров будут между собой несовместимы: да, технология одна, но связка «клиент HTML5 — сервер WebRTC» у каждого будет своя. К тому же клиенты WebRTC не могут напрямую осуществлять соединение со стандартным оборудованием — для этого нужны шлюзы в другие протоколы H.323/SIP и поддержка видеокодека H.264 на сервере, что существенно увеличивает стоимость интеграции этой технологии в существующую инфраструктуру ВКС.

На сегодняшний день стандарт пока еще сложно назвать сформированным — идет его активная разработка, и конца этого процесса пока не видно. В перспективе ожидается выпуск официального WebRTC API.

Другой проблемой WebRTC остается список обязательных для поддержки аудио- и видеокодеков. Основные разработчики браузеров еще не пришли к единому мнению в отношении того, каким должен быть стандартный видеокодек. Все согласны лишь с тем, что для WebRTC необходим некий основной кодек, который будет поддерживаться всеми браузерами, и тем самым будет обеспечиваться истинная кросс-платформенность. Добавится ли к VP8 кодек H.264, заменит ли он его или им обоим на смену придет VP9 SVC, пока не ясно.

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

Однако все эти недостатки не мешают WebRTC завоевывать все новые области и определять вектор развития интерактивных Web-технологий. И на то есть ряд причин:

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

СУХОЙ ОСТАТОК

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

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

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

Есть риск, что WebRTC не обретет популярности, если Apple или Microsoft его не поддержат. Возможно, в будущем исчезнет граница между Web-видеоконференциями и программами для видео-конференц-связи, однако в групповых системах ВКС для переговорных комнат WebRTC и через пять лет не получит сколь-нибудь заметного распространения.

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

 

WebRTC в контексте групповых конференций

Самый очевидный, на первый взгляд, вариант организации групповых видеоконференций — соединение каждого с каждым (p2p, топология «звезда»), когда каждый из браузеров-участников направляет потоки всем остальным. К сожалению, он нежизнеспособен, ибо не предусматривает механизмов адаптации к качеству связи реальных интернет-каналов, к которым подключены удаленные участники, а также не способен обеспечить приемлемую синхронизацию событий во всех точках сеанса связи.

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

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

В WebRTC сейчас поддерживается исключительно видеокодек VP8, поэтому транскодирования из наиболее популярного H.264 не избежать. Эта трудоемкая операция требует MCU или весьма мощного ПК для поддержки более чем двух-трех видеоконференций одновременно. Масштабирование WebRTC пока остается серьезной проблемой, и операторам связи, которые планируют предоставлять групповые видеоконференции WebRTC, стоит об этом задуматься. В решениях TrueConf сложностей с перекодированием не возникает благодаря изначальной поддержке во всех продуктах кодека VP8.

 

Станислав Солдатов — технический директор TrueConf.