PDA

Просмотр полной версии : Технология WebRTC получила статус стандарта


Suicide
28.01.2021, 20:21
Консорциум W3C объявил (https://www.w3.org/2021/01/pressrelease-webrtc-rec.html.en) о придании API (https://www.w3.org/TR/2021/REC-webrtc-20210126/), связанного с технологией WebRTC (https://webrtc.org/), статуса рекомендованного стандарта. Одновременно комитет IETF (Internet Engineering Task Force), занимающийся развитием протоколов и архитектуры интернета, опубликовал (https://www.ietf.org/blog/webrtc-standardized/) 11 RFC (https://datatracker.ietf.org/wg/rtcweb/documents/) (8825-8835, 8854) с описанием архитектуры (https://datatracker.ietf.org/doc/rfc8827/), элементов протокола, видов транспорта и механизмов коррекции ошибок, применяемых в WebRTC. Данные RFC получили статус "Предложенного стандарта".

Технология WebRTC развивается компанией Google с 2009 года, как воплощение идеи по созданию коммуникационной платформы для браузеров, альтернативной Adobe Flash и настольным приложениям. В 2011 году компания Google открыла под лицензией BSD свои наработки, связанные с WebRTC, а также технологии обработки звука и видео, полученные при поглощении компании GIPS (https://www.gipscorp.com/), специализирующейся на разработке систем цифровой обработки сигналов. Одновременно был предоставлен безвозмездный доступ к патентам, охватывающим WebRTC. Совместно с Mozilla, Microsoft, Cisco и Ericsson был начат процесс стандартизации WebRTC в W3C и IETF.

С тех пор поддержка WebRTC была реализована во всех современных браузерах и получала распространение в коммуникационных программах, мобильных приложениях и web-сервисах, которым необходима организация прямого канала связи между пользователями. Например, WebRTC активно применяется в приложениях для организации видео- и аудиоконференций (https://www.opennet.ru/opennews/art.shtml?num=52692), играх, платформах организации совместной работы, мессенджерах (https://www.opennet.ru/opennews/art.shtml?num=47892), системах потокового (https://www.opennet.ru/opennews/art.shtml?num=54372) вещания (https://www.opennet.ru/opennews/art.shtml?num=50788) и распространения контента (https://www.opennet.ru/opennews/art.shtml?num=53338). При помощи WebRTC коммуникационные приложения могут обрабатывать голосовой и видео трафик в реальном режиме времени, используя только HTML и JavaScript, без задействования сторонних проприетарных технологий и внешних плагинов.

WebRTC состоит из четырех базовых компонентов: системы управления пользовательскими сеансами, движка для обработки звука, движка для обработки видео и транспортного уровня. Движки обработки звука и видео позволяют использовать разные кодеки (VP8, H.264), а также методы подавления шумов. Все данные передаются только в зашифрованном виде. Для передачи данных в реальном времени могут использоваться протоколы DTLS и SRTP (Secure Real-time Transport Protocol) в сочетании с технологиями организации P2P-каналов связи и обеспечения работы через межсетевые экраны и трансляторы адресов (ICE, STUN, TURN, RTP-over-TCP, возможность работы через прокси).

Помимо стандартизированных базовых частей рабочими группами W3C и IETF также развиваются пока не утверждённые расширения, позволяющие использовать протокол QUIC в качестве транспорта и допускающие применение видеокодека AV1. Создана рабочая группа для разработки API WebTransport (https://www.w3.org/groups/wg/webtransport), упрощающего организацию потокового вещания нескольким получателям, и API Scalable Video Coding (https://www.w3.org/TR/webrtc-svc/) для адаптации видеопотока под пропускную способность клиента. Для следующей версии WebRTC также развиваются такие возможности как сквозное шифрование видеоконференций, live-обработка потоков звука и видео (в том числе с использованием систем машинного обучения), средства для установки постоянного канала связи с сенсорами в IoT-устройствах.

Доступ web-приложений к возможностям WebRTC производится через специально подготовленный JavaScript API, включающий интерфейсы:


getUserMedia (https://www.w3.org/TR/mediacapture-streams/) - получение мультимедийного потока (видео, звук) из локально подключенного устройства (web-камера, микрофон, видеокамера) или файла.

RTCPeerConnection (https://www.w3.org/TR/2021/REC-webrtc-20210126/#rtcpeerconnection-interface) - установка прямого соединения между пользователями, обработка сигналов, работа с кодеками, управление пропускной способностью, организация защищённого канала связи.

RTCDataChannel (https://www.w3.org/TR/2021/REC-webrtc-20210126/#rtcdatachannel) - обмен произвольными данными по двунаправленному каналу связи c использованием типового API WebSockets.

getStats (https://www.w3.org/TR/2021/REC-webrtc-20210126/#sec.stats-model) - получение статистики.
28.01.2021

https://www.opennet.ru/opennews/art.shtml?num=54478​