WebRTC
| WebRTC | |
|---|---|
| Тип | Web API[вд] |
| Разработчик | |
| Репозиторий | github.com/w3c/webrtc-pc |
| Лицензия | BSD |
| Сайт | w3c.github.io/web… (англ.) |
WebRTC (англ. web real-time communications — коммуникации по сети в реальном времени) — технология соткрытым исходным кодом, предназначенная для организации передачипотоковых данных междубраузерами или другими поддерживающими его приложениями по соединениюточка-точка.
На уровне API технология стандартизируется консорциумомW3C, а на протокольном уровне — сообществомIETF[1].Его включение в рекомендации W3C поддерживаетсяGoogle Chrome (и других на его основе),Mozilla иOpera[2][3][4].
WebRTC распространяется полицензии BSD-3 и исходный код основывается на продукте отGlobal IP Solutions, которая была куплена компаниейGoogle в мае 2010[2][5][6].
Технология
[править |править код]Технология WebRTC делает возможнойвидеосвязь через окно браузера, так что для присоединения к звонку необходимо только перейти по ссылке на соответствующую веб-страницу[7].
В WebRTC используются двааудиокодека,G.711 иOpus, а такжевидеокодекиVP8 иH.264[8].
Преимущества технологии
[править |править код]- проведение конференции в браузере значительно упрощает процесс проведения конференции — пользователю не нужно устанавливать для этого отдельные приложения;
- используемые кодеки обеспечивают хорошее качество связи;
- возможность реализации любых элементов интерфейса средствами HTML5 и JavaScript;
- открытый исходный код даёт больше возможностей для использования.
Недостатки технологии
[править |править код]- технология определяет только общий стандарт передачи данных (видео и звука), но отдельные решения разных браузеров относительно адресации абонентов и прочих управляющих процессов не совместимы между собой. Поэтому даже звонки между парой различных браузеров представляют отдельную сложность[9][10][11].
- обеспечение групповых конференций требует дополнительных разработок поверх WebRTC.
- использование технологии WebRTC, которая по умолчанию включена во многих популярных браузерах, позволяет третьей стороне определить реальный публичный IP-адрес устройства, работающего через VPN[12]. Для предотвращения утечки адреса рекомендуется либо полностью отключить WebRTC в настройках браузера[13], либо установить специальное дополнение[14][15] или конфиденциально-ориентированный браузер (например,LibreWolf).
Поддержка в браузерах
[править |править код]| Chrome | Safari | Firefox | Opera | MS Edge | Brave |
|---|---|---|---|---|---|
| 23+[16] | 11+[17] | 38+[18] | 12+[19] | 103.+[20] | 1.5+[21] |
В браузере Edge используется собственная альтернатива этой технологии:ORTC (Object Real-Time Communications)
Для IE9+ существует аналогичное приложение webrtc4all[22].
Пример использования
[править |править код]Браузеры, которые поддерживаютWebRTC, имеют функциюgetUserMedia свендорным префиксом. Она используется для получения доступа к устройствам и принимает на вход 3 параметра: вид устройства (аудио, видео или оба), функция, которая получит управление, если всё пройдёт успешно, и функция, которая получит управление в случае ошибки[23].
navigator.getUserMedia({audio:true,video:true},success,error);functionsuccess(pLocalMediaStream){/* обработка видеопотока */}functionerror(pError){/* вывод ошибки */console.log(pError);}
WebRTC в групповых конференциях
[править |править код]Хотя WebRTC изначально рассчитано на соединения типа точка-точка иpeer-to-peer, существует несколько готовых реализаций WebRTC-серверов, организующих сложные групповые конференции между разными браузерами. Такие серверы также обеспечивают присоединение к связи с браузерами сторонних устройств —IP-камер, использующих протоколRTSP/RTP, а такжеSIP иH.323-терминалов[24].
См. также
[править |править код]| WebRTC позволяет раскрыть локальный IP-адрес вВикиновостях |
Примечания
[править |править код]- ↑Технология WebRTC . Дата обращения: 30 марта 2018. Архивировано 29 ноября 2018 года.
- ↑12Google open source WebRTC for open video/audio chat — The H Open Source: News and Features . Дата обращения: 22 июня 2011. Архивировано 25 июня 2011 года.
- ↑WebRTC . Дата обращения: 22 июня 2011. Архивировано 4 июня 2011 года.
- ↑Introducing WebRTC — an open real-time communications projectАрхивная копия от 28 июня 2011 наWayback Machine — WebRTC
- ↑License & RightsАрхивная копия от 4 июня 2011 наWayback Machine — WebRTC
- ↑iLBC FreewareАрхивировано 4 июня 2011 года. — WebRTC
- ↑Видеопрезентация технологии на примере Firefox Hello . Дата обращения: 29 сентября 2017. Архивировано 12 августа 2016 года.
- ↑WebRTC Audio Codec and Processing Requirements (англ.). Дата обращения: 1 ноября 2013. Архивировано 19 ноября 2013 года.
- ↑Как Chrome и Firefox договариваются о передаче двух видеопотоковАрхивная копия от 30 марта 2018 наWayback Machine;
- ↑Первый видеозвонок между Chrome и Firefox . Дата обращения: 5 февраля 2013. Архивировано 6 февраля 2013 года.
- ↑Maire Reavy, Robert Nyman. Hello Chrome, it’s Firefox calling! (англ.) (4 февраля 2013). Дата обращения: 5 февраля 2013. Архивировано 6 февраля 2013 года.
- ↑Тест на утечку через WebRTC (рус.). ExpressVPN. Дата обращения: 28 октября 2023.
- ↑rotifer. Where can I disable WebRTC and PeerConnection? (англ.). Firefox Support Forum. Mozilla. Дата обращения: 28 октября 2023. Архивировано 27 февраля 2021 года.
- ↑video-cmi. WebRTC Network Limiter (англ.). Chrome Web Store. Дата обращения: 28 октября 2023. Архивировано 20 декабря 2018 года.
- ↑Antaki, Chris.; Antaki, Chris, Chris. Disable WebRTC (англ.). Firefox add-ons (18 апреля 2020). — WebRTC leaks your actual IP addresses from behind your VPN, by default. Дата обращения: 28 октября 2023. Архивировано 28 октября 2023 года.
- ↑onsip: "Chrome and WebRTC" . Дата обращения: 30 марта 2018. Архивировано 30 марта 2018 года.
- ↑WebRTC support in Safari 11 . Дата обращения: 30 марта 2018. Архивировано 30 марта 2018 года.
- ↑Mozilla Wiki: Media/WebRTC . Дата обращения: 30 марта 2018. Архивировано 30 марта 2018 года.
- ↑Dev.Opera: "Head Tracking With WebRTC" . Дата обращения: 30 марта 2018. Архивировано 13 февраля 2018 года.
- ↑WebRTC support in Microsoft Edge browser .
- ↑WebRTC Privacy settings in Edge Browser . Дата обращения: 22 июля 2022.
- ↑webrtc4all - WebRTC for Safari, Opera, Firefox and IE - Google Project Hosting . Дата обращения: 9 января 2013. Архивировано 12 января 2013 года.
- ↑WebRTCАрхивировано 3 июня 2013 года. — Rasta Coding
- ↑WebRTC Media & Broadcasting Server (рус.). Дата обращения: 1 июля 2014. Архивировано 21 октября 2014 года.