Учебники

WebRTC — Обзор

Сеть больше не является чужой для общения в режиме реального времени, так как WebRTC (Web Real-Time Communication) вступает в игру. Хотя он был выпущен в мае 2011 года, он все еще развивается, и его стандарты меняются. Набор протоколов стандартизирован Рабочей группой WEB-браузеров в режиме реального времени по адресу http://tools.ietf.org/wg/rtcweb/ IETF (Internet Engineering Task Force), а новые наборы API стандартизированы Рабочая группа веб-коммуникаций в реальном времени на сайте http://www.w3.org/2011/04/webrtc/ W3C (World Wide Web Consortium) . С появлением WebRTC современные веб-приложения могут легко передавать аудио и видео контент миллионам людей.

Основная схема

WebRTC позволяет быстро и легко устанавливать одноранговые соединения с другими веб-браузерами. Чтобы создать такое приложение с нуля, вам понадобится множество фреймворков и библиотек, занимающихся типичными проблемами, такими как потеря данных, разрыв соединения и обход NAT. С WebRTC все это встроено в браузер «из коробки». Эта технология не требует никаких плагинов или стороннего программного обеспечения. Он имеет открытый исходный код, и его исходный код находится в свободном доступе по адресу http://www.webrtc.org/.

API WebRTC включает захват медиаданных, кодирование и декодирование аудио и видео, транспортный уровень и управление сеансами.

Основная схема

Захват медиа

Первый шаг — получить доступ к камере и микрофону устройства пользователя. Мы определяем тип доступных устройств, получаем разрешение пользователя на доступ к этим устройствам и управляем потоком.

Кодирование и декодирование аудио и видео

Отправка потока аудио и видео данных через Интернет — непростая задача. Это где кодирование и декодирование используются. Это процесс разделения видеокадров и звуковых волн на более мелкие фрагменты и сжатия их. Этот алгоритм называется кодеком . Существует огромное количество разных кодеков, которые поддерживаются разными компаниями с разными бизнес-целями. Есть также много кодеков внутри WebRTC, таких как H.264, iSAC, Opus и VP8. Когда два браузера соединяются вместе, они выбирают наиболее оптимальный поддерживаемый кодек между двумя пользователями. К счастью, WebRTC выполняет большую часть кодирования за кулисами.

Транспортный уровень

Транспортный уровень управляет порядком пакетов, занимается потерей пакетов и подключением к другим пользователям. И снова API WebRTC предоставляет нам легкий доступ к событиям, которые сообщают нам, когда возникают проблемы с соединением.

Управление сессиями

Управление сессиями занимается управлением, открытием и организацией соединений. Это обычно называется сигнализацией . Если вы передаете аудио и видео потоки пользователю, также имеет смысл передавать сопутствующие данные. Это делается с помощью API RTCDataChannel .

Инженеры из таких компаний, как Google, Mozilla, Opera и другие, проделали огромную работу, чтобы перенести этот опыт в реальном времени в Интернет.

Совместимость браузера

Стандарты WebRTC являются одними из самых быстро развивающихся в сети, поэтому это не означает, что каждый браузер поддерживает все одинаковые функции одновременно. Чтобы проверить, поддерживает ли ваш браузер WebRTC или нет, вы можете посетить http://caniuse.com/#feat=rtcpeerconnection. На протяжении всех уроков я рекомендую использовать Chrome для всех примеров.

Попробовать WebRTC

Давайте начнем использовать WebRTC прямо сейчас. Перейдите в своем браузере на демонстрационный сайт по адресу https://apprtc.appspot.com/.

Нажмите ПРИСОЕДИНИТЬСЯ

Нажмите кнопку «ПРИСОЕДИНИТЬСЯ». Вы должны увидеть выпадающее уведомление.

Нажмите Разрешить

Нажмите кнопку «Разрешить», чтобы начать потоковую передачу видео и аудио на веб-страницу. Вы должны увидеть видеопоток о себе.

Откройте URL

Теперь откройте URL, на котором вы находитесь, в новой вкладке браузера и нажмите «ПРИСОЕДИНИТЬСЯ». Вы должны увидеть два видеопотока — один от вашего первого клиента и другой от второго.

Видео поток

Теперь вы должны понять, почему WebRTC является мощным инструментом.

Случаи применения

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

  • маркетинг в реальном времени
  • реклама в реальном времени
  • связь с бэк-офисом (CRM, ERP, SCM, FFM)
  • Управление персоналом
  • социальная сеть
  • службы знакомств
  • онлайн медицинские консультации
  • финансовые услуги
  • наблюдение
  • многопользовательские игры
  • прямая трансляция
  • Электронное обучение

Резюме

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