HTML5 and WebRTC- технологии для Web коммуникаций

RSS, Twitter, Vkontakte, Facebook

Web-browser as softphone, client of video chat and video player

HTML5 and WebRTC - универсальные технологии создания коммуникаций в реальном времени между браузерами

Автор: Владимир Ткаченко

Источник: Обучение в интернет

Браузер, поддерживающий WebRTC (Web Real-Time Communications) технологию, можно использовать в качестве клиента видеочата, средства передачи и скачивания файлов, SIP-софтфона, средства ведения видеоконференции и плеера пирингового ТВ.

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

В сети NGN, которая должна обеспечить передачу все типов трафика, основными слоями являются транспортный и сервисный. Если в эволюции транспортных сетей, наблюдается формирования конвергентного сетевого уровня P-OTN, то в эволюции услуг связи (сервисных услуг), наблюдается формирование конвергентных веб-коммуникационных услуг в режиме реального времени.

Интернет-коммуникации - это способы общения людей через сеть Интернет. Наиболее перспективными направлениями Интернет-коммуникаций являются Web - коммуникации в режиме реального времени. Web-коммуникации в режиме реального времени - это способы общения через IP-сети с помощью веб-браузера без установки плагинов и расширений. Web-коммуникации в режиме реального времени - это сервисы, построенные по архитектуре "клиент-клиент".

Основными проблемами конвергенции интернет-коммуникационных услуг является:

  • интеграция различных видов связи в одном сервисе;
  • обеспечение синхронизации различных видов связи между собой и взаимодействия их со всеми существующими сетями (PSTN, SIP, LTE, IMS);
  • применение открытых протоколов связи в коммуникационных услугах реального времени;
  • применение веб-браузеров (интегрированных клиентов) в качестве единых средств общения (интерфейсов) или rtcplayer (пирингового ТВ) для различных терминальных устройств.

Проблему конвергенции коммуникационных услуг реального времени, т.е. интеграцию каналов передачи голоса, видео, данных и доступ к ним с помощью единого сетевого приложения (веб-браузера) можно решить на основе технологий WebRTC, HTML5, CSS3, протоколов WebSocket и приложений SIPML5, webrtc2sip. В основе этих технологий лежит P2P API (WebRTC), который является частью стандарта HTML5. WebRTC - платформа веб-коммуникаций в реальном времени, которая позволяет обмениваться данными между браузерами без установки дополнительного ПО. В WebRTC используется аудиокодеки iSAC и Opus, а также видеокодеки VP8 и VP9.

В настоящее время созданы различные Web-приложения реального времени или Web - коммуникационные сервисы в реальном времени: p2p видеочаты, видеоконференции, файлообменная платформа Sharefest и SIPml5 - софтфоны в web интерфейсе на основе HTML5 и WebRTC, которые обеспечивают передачу файлов, текстовое, голосовое и видео общения пользователей через Интернет с использованием только веб-браузеров без установленных у них дополнительных программ. Кроме того, ведутся работы по созданию пирингового видео по запросу P2P VOD (плеера пирингового ТВ) на основе WebRTC API без установки плагинов и расширений в браузере или клиентских приложений на ПК.

HTML5 и WebRTC - это универсальные технологии создания Web коммуникаций между браузерами. Необходимо отметить, что связь браузеров координируются через канал сигнализации или канал согласования сеанса. Стандарт WebRTC не устанавливает способы реализации канала сигнализации. В качестве сервера согласования сеанса могут быть использованы HTTP/HTTPS – server, WebSocket-server или XMPP-server. В качестве протоколов обмена сообщениями между браузером и HTTP/HTTPS сервером – Ajax или WebSocket, а в качестве сигнальных протоколов для XMPP-сервера - XMPP/WebSocket или Jingle/XMPP.

P2P видеочаты на базе WebRTC

В общем случае основными компонентами схемы взаимодействия p2p видеочата являются:

  • веб-браузеры, которые поддерживают спецификацию HTML5 WebSocket, WebRTC;
  • сигнальный сервер;
  • сервер для обхода NAT транслятора;
  • сервер аутентификации.

Схема взаимодействия компонентов p2p видеочата представлена на рисунке 1.

Схема взаимодействия компонентов p2p видеочата
Рис. 1. Схема взаимодействия компонентов p2p видеочата

В процессе разработки p2p видеочата необходимо решить несколько задач:

  • определиться с типом сигнального сервера (сервера согласования сеанса связи);
  • выбрать STUN или TURN серверы, доступные для обхода NAT транслятора, если клиенты  находятся за NAT;
  • выбрать способ авторизации;
  • выбрать среду разработки;
  • выбрать средства реализации (библиотеку или API) кода клиентской и серверной частей;
  • создать веб-приложение.

Разработать видео чат можно с помощью WebRTC API JavaScript или libraries/frameworks:

Sharefest - файлообменная платформа на основе API WebRTC Data Channel API

Передача файлов осуществляется через браузеры, поддерживающие HTML5 и WebRTC, с помощью контактного сайта https://www.sharefest.me/. С помощью Sharefest можно отправить URL файла непосредственно получателю, т.е. поделиться файлом с друзьями. Для передачи файла отправитель заходит на сайт www.sharefest.me/, затем может перетащить файл из ПК в окно браузера или щелкнуть в окне браузера, в результате чего открывается окно на ПК, из которого выбирается требуемый файл. В результате Sharefest создает динамический URL, который предназначен для получения файла получателем прямо из браузера (рис. 2).

Sharefest - файлообменная платформа
Рис. 2. Файлообменная платформа - Sharefest

Чтобы передать динамический URL файла получателю необходимо выбрать одно из средств, расположенных на сайте Sharefest: E-mail, Facebook, Twitter, Google, Sina Weibo. Получатель получает ссылку (URL файла) на скачивание файла, щелкнув на которой, он заходит на сайт, в результате браузер получателя подключается к браузеру отправителя и файл автоматически скачивается на ПК получателя. Никто другой, кроме получателя не имеют доступ к передаваемому файлу между браузерами. Sharefest можно установить на свой сайт, чтобы расширить возможности загрузки.

SIP-софтфоны в браузере с использованием WebRTC, SIPML5, webrtc2sip

В настоящее время существуют две демонстрационные версии софтфонов в браузере, поддерживающих WebRTC, это SIPML5 и jsSIP. Для разработки VoIP-софтфона в веб-браузере с аудио, видео и SMS возможностями применяется технологии WebRTC с использованием HTML5, CSS3, WebSocket, клиентского приложения SIPML5 и шлюза webrtc2sip.

В общем случае основными компонентами схемы взаимодействия SIP-софтфона в web интерфейсе являются:

  • веб-браузеры, которые поддерживают спецификацию HTML5, WebSocket, WebRTC и стек SIP/SDP;
  • шлюз webrtc2sip или шлюз webrtc2sip + сервер Asterisk 11;
  • сигнальный сервер SIP Proxy;
  • сервер для обхода NAT транслятора.

Взаимодействие компонентов VoIP телефона в браузере с аудио, видео и SMS возможностями рассмотрено на страничке: SIPML5, WebRTC и webrtc2sip в VoIP.

Видеоконференции на основе HTML5 и API WebRTC

Для проведения видеоконференции на основе API WebRTC с несколькими участниками можно использовать систему соединения участников непосредственно друг с другом по схеме точка-точка. Например, на Bistri предусмотрена комната Video Conference для проведения конференции до 4 участников. Для осуществления видеоконференции между большим количеством участников (многосторонней связи) необходимо использовать видеосервер MCU (Multipoint Control Unit - блок управления многосторонней связью). Можно присоединиться к групповым конференциям через "Сервис HD видеосвязи TrueConf Online". Бесплатные Full HD видеозвонки и видеоконференции 3-на-3 и групповые видеоконференции до 120 участников.

Браузер в качестве плеера в пиринговом ТВ (P2P видео по требованию video-on-demand или VoD)

Необходимо отметить, что в настоящее время ведутся работы по созданию пирингового видео по запросу P2P VoD на основе БитТоррент, HTML5 и WebRTC API без установки плагинов и расширений в браузере или клиентских приложений на ПК. Пиринговое видео с поддержкой протокола BitTorrent уже применяется в сети Интернет, но для его просмотра требуется установка плагина для браузера или приложения (плеера) на ПК.

Существующая медио-платформа ACE STREAM, которая использует технологию P2P (на базе протокола BitTorrent), обеспечивает отличное качество трансляций Live Stream (потокового вещания) и VoD (видео по запросу) в BitTorrent-сетях Интернет. Просмотр видео Live Stream может быть осуществлен с помощью плагина Ace Stream P2P Multimedia Plug-in для веб-браузеров или установленного на ПК плеера ACE Player HD, созданного на базе мультимедийного плеера VLC.

Структура сети P2P VOD на основе БитТоррент, HTML5 и WebRTC API состоит из основных объектов: Tracker, Seeder (сервер HTTP) и Peers. Tracker используется для хранения метаданных видео файлов и данных о Peers. Seeder предназначен для хранения видео. Трансляция видео от пира начинается с загрузки метаданных видео файлов на Tracker и видео на Seeder. По запросу других пиров трансляция видео в пиринговой сети осуществляется не только с сервера Seeder, но с пиров, которые просматривают данное видео.

архитектура сети P2P VOD
Рис. 3. Network Architecture for the P2P VoD service (из статьи: P2P Media Streaming with HTML5 and WebRTC)

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