WebRTC ( — коммуникации по сети в реальном времени) — технология с открытым исходным кодом, предназначенная для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по соединению точка-точка.

На уровне API технология стандартизируется консорциумом W3C, а на протокольном уровне — сообществом IETF. Его включение в рекомендации W3C поддерживается Google Chrome (и других на его основе), Mozilla и OperaIntroducing WebRTC — an open real-time communications project  — WebRTC.

WebRTC распространяется по лицензии BSD-3 и исходный код основывается на продукте от Global IP Solutions, которая была куплена компанией Google в мае 2010License & Rights  — WebRTCiLBC Freeware  — WebRTC.

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

В WebRTC используются два аудиокодека, G.711 и Opus, а также видеокодеки VP8 и H.264.

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

Недостатки технологии технология определяет только общий стандарт передачи данных (видео и звука), но отдельные решения разных браузеров относительно адресации абонентов и прочих управляющих процессов не совместимы между собой. Поэтому даже звонки между парой различных браузеров представляют отдельную сложностьКак Chrome и Firefox договариваются о передаче двух видеопотоков ;. обеспечение групповых конференций требует дополнительных разработок поверх WebRTC. использование технологии WebRTC, которая по умолчанию включена во многих популярных браузерах, позволяет третьей стороне определить реальный публичный IP-адрес устройства, работающего через VPN. Для предотвращения утечки адреса рекомендуется либо полностью отключить WebRTC в настройках браузера, либо установить специальное дополнение или конфиденциально-ориентированный браузер (например, LibreWolf).

Поддержка в браузерах + Chrome Safari Firefox Opera MS Edge Brave 23+ 11+ 38+ 12+ 103.+ 1.5+

В браузере Edge используется собственная альтернатива этой технологии: ORTC (Object Real-Time Communications)

Для IE9+ существует аналогичное приложение webrtc4all.

Пример использования Браузеры, которые поддерживают WebRTC, имеют функцию getUserMedia с вендорным префиксом. Она используется для получения доступа к устройствам и принимает на вход 3 параметра: вид устройства (аудио, видео или оба), функция, которая получит управление, если всё пройдёт успешно, и функция, которая получит управление в случае ошибкиWebRTC  — Rasta Coding.navigator.getUserMedia({audio: true, video: true}, success, error);

function success(pLocalMediaStream) { /* обработка видеопотока */ }

function error(pError) { /* вывод ошибки */ console.log(pError); }

WebRTC в групповых конференциях Хотя WebRTC изначально рассчитано на соединения типа точка-точка и peer-to-peer, существует несколько готовых реализаций WebRTC-серверов, организующих сложные групповые конференции между разными браузерами. Такие серверы также обеспечивают присоединение к связи с браузерами сторонних устройств — IP-камер, использующих протокол RTSP/RTP, а также SIP и H.323-терминалов.

См. также

RTMFP Jingle

Примечания

Ссылки Твиттер Демонстрация специальной сборки браузера Firefox с поддержкой WebRTC на конференции IETF 83 (март 2012) Как работает JS: WebRTC и механизмы P2P-коммуникаций

Категория:Веб-разработка Категория:IP-телефония