Flash или WebRTC? От жесткой дилеммы к разумной альтернативе

14 Апреля 2014

Сломано много копий на тему преимуществ и недостатков той или иной технологии, применяемой в системах веб-конференций. Как правило вопрос ставится ребром: «Что лучше, ножницы или нож?». Согласитесь, очень странный вопрос. Смотря зачем! Но дилемма выглядит достаточно жесткой – либо то, либо другое. Рынку предлагается сделать выбор – Flash или WebRTC, а круг потребителей решений постепенно, но верно начинает делиться на ярых адептов той или иной технологии. Среди же разработчиков ситуация порой доходит до абсурда и напоминает скорее противостояние остро- и тупоконечников, которые на протяжении веков жестоко воевали из-за того, с какой стороны разбивать вареное яйцо. В итоге один император потерял голову, а другой – корону. Не сомневаюсь, что эта печальная участь минует рынок веб-конференций, и искусственному противостоянию всегда найдется разумная альтернатива. Давайте разбираться по порядку.

Существует три разновидности веб-конференций:

  • Общий случай – конференция «многие ко многим»

И два частных случая:

  • Вебинар – конференция «один ко многим»
  • Селекторное совещание – конференция «многие к одному»

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

Веб-конференция (общий случай): состав участников, как правило, известен заранее. Количество участников небольшое – от 3 до 12 человек (при большем количестве совещание, как правило, превращается в балаган). Для этого типа видеоконференций чрезвычайно важно качество медиа (аудио и видео), а также наличие полноценного инструментария, необходимого для проведения нормального, качественного совещания.

Вебинар: здесь состав участников, как правило, заранее не известен. Количество участников может превышать 5 тысяч человек. Очевидно, что при таком масштабе одним из основных требований является простота подключения участников. И еще конечно наличие чата. Большую роскошь пока сложно технически обеспечить при такой массовости.

Селекторное совещание: количество участников может доходить до сотни (например, селектор с субъектами федерации). При этом руководитель должен иметь возможность достучаться до всех подчиненных в любое время в любом месте. Это означает, что нужна мобильная платформа и минимальный инструментарий, который может быть поддержан мобильной платформой в силу ее технических характеристик.

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

  1. Обычной веб-конференции требуется отменное качество медиа-тракта.
  2. Вебинару жизненно важно на «щелчок» подключать тысячи участников.
  3. Селектору не обойтись без возможности работать с любой мобильной платформой.

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

Flash:

  1. Уже установлен на подавляющем большинстве компьютеров. Соответственно удовлетворяет основному требованию, предъявляемому к вебинарам, – простота подключения участников.
  2. Обладает хорошими, но не лучшими характеристиками качества медиа-тракта. Соответственно плохо удовлетворяет требованиям, предъявляемым идеальными веб-конференциями. Для вебконференций хорошего качества вполне подходит.
  3. «Тяжел» для мобильной платформы. Работать на ней все же может, правда, со скрипом.

WebRTC:.

  1. Пока работает «as is» в небольшом количестве сред. Для расширения среды обитания требует инсталляций плагинов/расширений в браузеры. Соответственно, не годен для использования в вебинарах, требующих Plug and Play подключения клиентов.
  2. Обладает исключительными характеристиками качества медиа-тракта. Соответственно, превосходно удовлетворяет требованиям, предъявляемым веб-конференциями.
  3. Отлично живет в браузере на платформе Android, а это почти половина всего мобильного трафика. На IOS, естественно, доминирует «родной» протокол Apple – HTTP Live Streaming.

Однако

  • при разработке собственного приложения WebRTC успешно работает как под Android, так и под IOS
  • для работы вебинаров на мобильной платформе под IOS можно использовать транскодинг WebRTC в HTTP Live Streaming
  • HTTP Live Streaming также хорошо работает и под Android

Следует еще обратить внимание на тот факт, что Flash это «старая добрая» проверенная временем технология. А старый конь борозды не портит. Но если же надо быстро и идеально вспахать поле, то вам нужно нечто более современное. Однако не стоит забывать, что современное не синоним совершенному. Протоколу WebRТC еще далеко до стандарта, а значит вполне ожидаемы различные «фокусы». Это издержки любой новой технологии.

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

Что делать? Отказаться от дилеммы и искать альтернативу. Не противопоставлять технологии друг другу, а научить их «сотрудничать». Помните, сколько в свое время было горячих споров вокруг дилеммы – бензиновый двигатель или электрический? Набирающий все большую популярность гибридный автомобиль, использующий более одного источника энергии, показал возможность разумной и оптимальной альтернативы. На ВКС рынке сложилась сегодня аналогичная ситуация.

Любой сложный продукт (и веб-конференция не исключение) это большая технологическая мозаика. Например, существенное место в ней занимает SIP-протокол. Но на нем уже не строят профессиональные веб-конференции, поэтому и темы для споров нет. И весь этот технологический пазл нужно не просто правильно собрать, а еще и дописать массу недостающих компонентов. Баталии и споры отнимают много времени, но настоящая проблема – не в выборе той или иной технологии (хотя выбирать все равно придется), а в том, как заставить все эти технологии работать – и не просто совместно, а «играть» как единый оркестр!

Решение этой задачи еще больше усложняется в связи с использованием множества различных аудио и видео кодеков и разнообразия периферийных устройств, общающихся между собой на различных «языках и диалектах». А еще – отсутствием времени на постобработку. Все надо уметь делать на лету. Сравните работу переводчика-синхрониста с обычным переводчиком. При этом финальный продукт должен работать исключительно надежно и обладать отменными характеристиками безопасности. И, наконец, клиент должен получать удовольствие от работы, а не только результат. Все должно быть удобно и красиво.

Объединение Flash и WebRTC в рамках одного – гибридного решения – наиболее разумная альтернатива развития видео-технологий на сегодняшний день. В результате клиент получает своего рода "швейцарский нож" для проведения веб-конференций, объединяющий в себе и ножницы, и нож, и открывалку и многие другие инструменты. Такой подход не только снимает противоречия между обоими протоколами, но и может обеспечить синергетический эффект от их взаимодополнения.

Ознакомиться с полным текстом статьи можно на сайте http://www.osp.ru.

Автор – Алексей Королев, генеральный директор Mind.

Создание сайта — ADV
Яндекс.Метрика Google+