WebRTC

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
WebRTC
Тип

Real-time communication

Автор

Global IP Solutions

Разработчик

Google

Лицензия

Лицензия BSD

Сайт

webrtc.org

WebRTC (англ. real-time communications — коммуникации в реальном времени) — проект с открытым исходным кодом, предназначенный для организации передачи потоковых данных между браузерами или другими поддерживающими его приложениями по технологии точка-точка.
Его включение в рекомендации W3C поддерживается Google Chrome, Mozilla и Opera[1][2][3].

WebRTC распространяется по лицензии BSD-3 и исходный код основывается на продукте от Global IP Solution, которая была куплена компанией Google в мае 2010[4][5][1][6].

Применение и технология[править | править вики-текст]

После встраивания WebRTC в Chrome, Mozilla Firefox (а возможно ещё и в ряд других популярных браузеров), браузеры могут составить конкуренцию Skype[7].

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

В WebRTC используются два аудиокодека, созданных в GIPS,[прояснить][каких?] а также видеоформат VP8 (WebM).

Черновик стандарта «WebRTC Audio Codec and Processing Requirements» от 15 октября 2013 года содержит требование поддержки клиентами форматов Opus и G.711[8].

Интеграция в браузеры[править | править вики-текст]

Технология WebRTC в той или иной степени поддерживается в Google Chrome с 17 версии, Opera с 12 версии и Firefox с 18 версии (без флага — с 22-й). Для других браузеров можно использовать расширение webrtc4all[9].

В начале 2013 года осуществлён первый видеозвонок между Chrome и Firefox[10][11].

Пример использования[править | править вики-текст]

Браузеры, которые поддерживают WebRTC имеют функцию getUserMedia с вендорным префиксом. Она используется для получения доступа к устройствам и принимает на вход 3 параметра: вид устройства (аудио, видео или оба), функция, которая получит управление, если всё пройдёт успешно, и функция, которая получит управление в случае ошибки[12].

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[13].

Существует несколько готовых реализаций WebRTC-серверов. Для ASP.NET доступен NuGet под наименованием XSockets.Samples.WebRTC[прояснить].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Ссылки[править | править вики-текст]