WebRTC
WebRTC | |
---|---|
![]() | |
Тип | Real-time communication |
Автор | Global IP Solutions |
Разработчик | |
Репозиторий | github.com/w3c/webrtc-pc |
Лицензия | Лицензия BSD |
Сайт | webrtc.org |
![]() |
WebRTC (англ. real-time communications — коммуникации в реальном времени) — проект с открытым исходным кодом, предназначенный для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии точка-точка.
На уровне API технология стандартизируется консорциумом W3C, а на протокольном уровне - сообществом IETF.[1]
Его включение в рекомендации W3C поддерживается Google Chrome (и других на его основе), Mozilla и Opera[2][3][4].
WebRTC распространяется по лицензии BSD-3 и исходный код основывается на продукте от Global IP Solution, которая была куплена компанией Google в мае 2010[2][5][6][7].
Технология
Технология WebRTC делает возможной видеосвязь через окно браузера, так что для присоединения к звонку необходимо только перейти по ссылке на соответствующую веб-страницу.[8]
В WebRTC используются два аудиокодека, G711 и OPUS, а также видеокодеки VP8 и H.264.[9][10]
Преимущества технологии
- проведение конференции в браузере значительно упрощает процесс проведения конференции - пользователю не нужно устанавливать для этого отдельные приложения;
- используемые кодеки обеспечивают хорошее качество связи;
- возможность реализации любых элементов интерфейса средствами HTML5 и JavaScript;
- открытый исходный код даёт больше возможностей для использования.
Недостатки технологии
- технология определяет только общий стандарт передачи данных (видео и звука), но отдельные решения разных браузеров относительно адресации абонентов и прочих управляющих процессов не совместимы между собой.[9] Поэтому даже звонки между парой различных браузеров представляют отдельную сложность. сложность.[11][12][13]
- обеспечение групповых конференций требует дополнительных разработок поверх WebRTC.
Поддержка в бразуерах
Chrome | Safari | Firefox | Opera |
---|---|---|---|
23+[14] | 11+[15] | 40+[16] | 12+[17] |
В браузере Edge используется собственная альтернатива этой технологии: ORTC (Object Real-Time Communications)
Для IE9+ существует аналогичное приложение webrtc4all.[18]
Пример использования
Браузеры, которые поддерживают WebRTC, имеют функцию getUserMedia с вендорным префиксом. Она используется для получения доступа к устройствам и принимает на вход 3 параметра: вид устройства (аудио, видео или оба), функция, которая получит управление, если всё пройдёт успешно, и функция, которая получит управление в случае ошибки[19].
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 терминалов.[20][21]
См. также
Примечания
- ↑ Технология WebRTC
- ↑ 1 2 Google open source WebRTC for open video/audio chat — The H Open Source: News and Features
- ↑ WebRTC
- ↑ Introducing WebRTC — an open real-time communications project — WebRTC
- ↑ License & Rights — WebRTC
- ↑ iLBC Freeware — WebRTC
- ↑ FAQ — WebRTC
- ↑ Видеопрезентация технологии на примере Firefox Hello
- ↑ 1 2 WebRTC. Видеоконференции в браузере
- ↑ WebRTC Audio Codec and Processing Requirements (англ.).
- ↑ Как Chrome и Firefox договариваются о передаче двух видеопотоков;
- ↑ Первый видеозвонок между Chrome и Firefox
- ↑ Maire Reavy, Robert Nyman. Hello Chrome, it’s Firefox calling! (4 февраля 2013). Дата обращения: 5 февраля 2013.
- ↑ onsip: "Chrome and WebRTC"
- ↑ WebRTC support in Safari 11
- ↑ Mozilla Wiki: Media/WebRTC
- ↑ Dev.Opera: "Head Tracking With WebRTC"
- ↑ webrtc4all - WebRTC for Safari, Opera, Firefox and IE - Google Project Hosting . Дата обращения: 9 января 2013. Архивировано 12 января 2013 года.
- ↑ WebRTC — Rasta Coding
- ↑ WebRTC Media & Broadcasting Server .
- ↑ TrueConf WebRTC Server