WebRTC

редактировать
WebRTC
WebRTC Logo.svg
Автор (ы) Джастин Уберти. Питер Тэтчер
Первоначальный выпуск2011; 9 лет назад (2011 г.)
Стабильный выпуск 1.0 / 4 мая 2018 г.; 2 года назад (2018-05-04)
Репозиторий webrtc.googlesource.com
Написано наC ++, JavaScript
Лицензия Лицензия BSD
Веб-сайтwebrtc.org

WebRTC (Web Real-Time Communication ) является бесплатным с открытым исходным кодом проект, который предоставляет веб-браузерам и мобильным приложениям связь в реальном времени (RTC) через простые интерфейсы прикладного программирования (API). Он позволяет аудио- и видеосвязи работать внутри веб-страниц, обеспечивая прямую одноранговую связь, устраняя необходимость установки подключаемых модулей или загрузки собственных приложений. Поддерживается Apple, Google, Microsoft, Mozilla и Opera, WebRTC стандартизируется с помощью Консорциум Всемирной паутины (W3C) и Инженерная группа Интернета (IETF).

Ее миссия состоит в том, чтобы «обеспечить разработку многофункциональных и высококачественных приложений RTC. для браузера, мобильных платформ и устройств IoT и позволяет им всем обмениваться данными через общий набор протоколов ".

Содержание
  • 1 История
  • 2 Обзор
    • 2.1 Дизайн
    • 2.2 Примеры
    • 2.3 Поддержка
  • 3 Проблемы
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
История

В В мае 2010 года Google купила Global IP Solutions или GIPS, компанию по разработке программного обеспечения для VoIP и видеоконференцсвязи, которая разработала множество компонентов, необходимых для RTC, таких как кодеки и эхоподавление. Google предоставил открытый исходный код технологии GIPS и сотрудничал с соответствующими органами по стандартизации на IETF и W3C до e Убедительный отраслевой консенсус. В мае 2011 года Google выпустила проект с открытым исходным кодом для связи в реальном времени через браузер, известный как WebRTC. За этим последовала постоянная работа по стандартизации соответствующих протоколов в IETF и API-интерфейсов браузера в W3C.

В мае 2011 года Ericsson Labs построили первую реализацию WebRTC с использованием модифицированной библиотеки WebKit. В октябре 2011 года W3C опубликовал свой первый черновик спецификации. Основные вехи WebRTC включают первый кроссбраузерный видеозвонок (февраль 2013 г.), первую передачу данных между браузерами (февраль 2014 г.), и по состоянию на июль 2014 г. Google Hangouts был «своего рода» использованием WebRTC.

Проект API W3C был основан на предварительной работе, проделанной в WHATWG. Он назывался ConnectionPeer API, и предварительная реализация концепции была создана в Ericsson Labs. Рабочая группа WebRTC ожидает, что эта спецификация будет значительно развиваться на основе:

  • результатов текущих обменов в сопутствующей группе RTCWEB в IETF для определения набора протоколов, которые вместе с этим документ, определите связь в реальном времени в веб-браузерах. Хотя ни один протокол сигнализации не требуется, SIP поверх WebSockets (RFC 7118 ) часто используется частично из-за применимости SIP к большинство предполагаемых сценариев связи, а также доступность программного обеспечения с открытым исходным кодом, такого как JsSIP.
  • Проблемы конфиденциальности, возникающие при раскрытии локальных возможностей и локальных потоков
  • Технические обсуждения в группе, по реализации каналов данных, в частности
  • Опыт, полученный в ходе ранних экспериментов
  • Отзывы других групп и отдельных лиц

В ноябре 2017 года спецификация WebRTC 1.0 перешла из рабочего проекта в статус кандидата в рекомендации.

Обзор

Дизайн

Основные компоненты WebRTC включают несколько JavaScript API-интерфейсов :

  • getUserMediaполучает аудио- и видеоматериалы ( например, путем доступа к камере и микрофону устройства).
  • RTCPeerConnectionобеспечивает аудио- и видеосвязь между одноранговыми узлами. Он выполняет обработку сигналов, обработку кодека, одноранговую связь, безопасность и управление полосой пропускания.
  • RTCDataChannelобеспечивает двунаправленную связь произвольные данные между одноранговыми узлами. Он использует тот же API, что и WebSockets, и имеет очень низкую задержку.

. WebRTC API также включает статистическую функцию:

  • getStatsпозволяет веб-приложению получать набор статистических данных. о сессиях WebRTC. Эти статистические данные описаны в отдельном документе W3C.

API WebRTC не включает никаких положений для сигнализации, то есть обнаружения одноранговых узлов для подключения и определения способов установления соединений между ними. Приложения используют Interactive Connectivity Establishment для подключений и каким-то образом управляют сеансами, возможно, ретранслируя по любому из протокола инициации сеанса, расширяемого протокола обмена сообщениями и присутствия, очереди сообщений Транспорт телеметрии, Матрица (протокол) или другой протокол. Передача сигналов может зависеть от одного или нескольких серверов.

RFC 7874 требует, чтобы реализации обеспечивали PCMA /PCMU (RFC 3551 ), Телефон Событие как DTMF (RFC 4733 ) и Opus (RFC 6716 ) аудиокодеки как минимум возможности. API-интерфейсы PeerConnection, канала данных и браузера для захвата мультимедиа подробно описаны в W3C.

W3C разрабатывает ORTC (Object Real-Time Communications) для WebRTC.

Примеры

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

Поддержка

WebRTC поддерживается следующими браузерами:

GStreamer напрямую предоставляет бесплатную реализацию WebRTC

Проблемы

В январе 2015 года TorrentFreak сообщил о серьезном Брешь в безопасности браузеров, поддерживающих WebRTC, в которой говорится, что она поставила под угрозу безопасность туннелей VPN, раскрывая истинный IP-адрес пользователя. IP-адрес Запросы чтения ess не видны в консоли разработчика браузера, и они не блокируются большинством надстроек блокировки рекламы / конфиденциальности / безопасности, позволяющих отслеживать онлайн рекламодателями и другими организациями, несмотря на меры предосторожности (однако надстройка uBlock Origin может решить эту проблему). По состоянию на сентябрь 2019 года этот недостаток WebRTC все еще обнаруживается в Firefox 69.x и по-прежнему по умолчанию предоставляет доступ к внутреннему IP-адресу пользователя в Интернете.

См. Также
Ссылки
Дополнительная литература
Внешние ссылки
Последняя правка сделана 2021-06-20 10:27:37
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте