WebRTC
WebRTC | |
---|---|
![]() | |
Тип | Real-time communication |
Автор | Global IP Solutions |
Разработчик | |
Репозиторий | github.com/w3c/webrtc-pc |
Лицензия | Лицензия BSD |
Сайт | webrtc.org |
![]() |
WebRTC (англ. real-time communications — коммуникации в реальном времени) — проект с открытым исходным кодом, предназначенный для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии точка-точка.
Его включение в рекомендации W3C поддерживается Google Chrome (и других на его основе), Mozilla и Opera[1][2][3].
WebRTC распространяется по лицензии BSD-3 и исходный код основывается на продукте от Global IP Solution, которая была куплена компанией Google в мае 2010[1][4][5][6].
Применение и технология
[править | править код]После встраивания WebRTC в Chrome, Mozilla Firefox (а возможно ещё и в ряд других популярных браузеров) браузеры могут составить конкуренцию Skype[7].
Сторонние веб-разработчики смогут создавать собственные приложения на основе технологии WebRTC для голосовой и видеосвязи.
В WebRTC используются два аудиокодека, G711 и OPUS, а также видеоформат VP8 (WebM).
Черновик стандарта «WebRTC Audio Codec and Processing Requirements» от 15 октября 2013 года содержит требование поддержки клиентами форматов Opus и G.711[8].
Технология WebRTC делает возможным общение через окно браузера, необходимо лишь отправить собеседнику ссылку на ресурс, что значительно упрощает процесс участия в видеоконференциях[9].
Интеграция в браузеры
[править | править код]Технология WebRTC в той или иной степени поддерживается в Chrome с 17 версии, Opera с 12 версии и Firefox с 18 версии (без флага — с 22-й). Для других браузеров можно использовать расширение webrtc4all[10].
В начале 2013 года осуществлён первый видеозвонок между Chrome и Firefox[11][12].
Пример использования
[править | править код]Браузеры, которые поддерживают WebRTC, имеют функцию getUserMedia с вендорным префиксом. Она используется для получения доступа к устройствам и принимает на вход 3 параметра: вид устройства (аудио, видео или оба), функция, которая получит управление, если всё пройдёт успешно, и функция, которая получит управление в случае ошибки[13].
navigator.getUserMedia({audio: true, video: true}, success, error);
function success(pLocalMediaStream) {
/* обработка видеопотока */
}
function error(pError) {
/* вывод ошибки */
console.log(pError);
}
WebRTC на стороне сервера
[править | править код]Применение технологии выходит за рамки peer-to-peer между браузерами и широко используется на серверной стороне, главным образом для того, чтобы обеспечить совместимость с другими сигнальными и коммуникационными протоколами и кодеками. С помощью сервера можно организовывать WebRTC трансляции не только из браузеров, но и со стационарных IP-камер, использующих протокол RTSP/RTP и видеокодек H.264[14].
Существует несколько готовых реализаций 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
- ↑ WebRTC von Google: Freies HTML5-Framework zur Echtzeitkommunikation // Golem.de
- ↑ WebRTC Audio Codec and Processing Requirements (англ.).
- ↑ Видеопрезентация технологии на примере Firefox Hello
- ↑ webrtc4all - WebRTC for Safari, Opera, Firefox and IE - Google Project Hosting . Дата обращения: 9 января 2013. Архивировано 12 января 2013 года.
- ↑ Первый видеозвонок между Chrome и Firefox
- ↑ Maire Reavy, Robert Nyman. Hello Chrome, it’s Firefox calling! (4 февраля 2013). Дата обращения: 5 февраля 2013.
- ↑ WebRTC — Rasta Coding
- ↑ WebRTC Media & Broadcasting Server .