410013796724260
• Webmoney
R335386147728
Z369087728698
Технология WebRTCСодержание
ВведениеWebRTC (Web Real Time Communication) – это открытый стандарт мультимедийной связи между пользователями, реализованный непосредственно в браузере. Поскольку WebRTC интегририруется в браузер, то пользователю не нужно устанавливать дополнительные программы, надстройки и расширения. На уровне API технология WebRTC стандартизирована консорциумом W3C, а на протокольном уровне – сообществом IETF. WebRTC позволяет организовывать коммуникации в реальном времени без использования дополнительных плагинов при помощи API на основе Javascript. WebRTC состоит из нескольких взаимосвязанных программных интерфейсов (API) и протоколов, которые работают вместе, и поддерживает видеокодек VP9 (Video Compression Format or Video Compression Specification) – это спецификация для кодирования и декодирования высококачественного видео, являющегося файлом или цифровым потоком для просмотра изображения. Достоинство технологии WebRTCСкорость WebRTC позволяет легко встраиваться в WEB-страницы и устанавливать соединение пользователей через Интернет. Больше не нужно специалистам маршрутизировать соединение через сервер, что снижает задержку и расширяет полосу пропускания. Кроме этого, не требуется дополнительное программное обеспечения, плагины : прямое общение повышает скорость передачи данных и обмена файлами. Совместимость реализаций Технология WebRTC поддерживается такими популярными браузерами, как Google Chrome, Microsoft Edge, Mozilla Firefox, Safari, Opera. Кроме этого, данная технология поддерживается также Android, Chrome OS, Firefox OS, BlackBerry 10, iOS, Tizen. Большое количество провайдеров WebRTC, включая и их разработчиков, неизбежно могут внести незначительные отличия в реализацию данной технологии. И поскольку в каждом браузере имеется различный уровень поддержки кодеков и функций WebRTC, то Google настоятельно рекомендует использовать библиотеку adapter.js. В примере использования интерфейса RTCDataChannel (API WebRTC) для обмена данными между пользователями демонстрируется включение adapter.js в контент страницы. Быстрая реализация WebRTC позволяет снизить усилия и сократить время разработки для реализации однорангового соединения P2P. Все функциональные возможности могут быть реализованы в клиентской части. Разработчикам просто необходимо использовать WebRTC-совместимый браузер. Представленные на странице примеры позволяют проверить совместимость используемого Вами браузера с технологией WebRTC. Безопасное соединение Обязательной функцией всех компонентов WebRTC является шифрование. Поскольку WebRTC не плагин, а интегрированная в браузер технология, то никакие вредоносные программы не могут проникнуть в созданную разработчиками систему. Дополнительным бонусом использования WebRTC является отсутствие необходимости контроля обновлений; вместе с обновлением браузера Вы получаете обновленную версию WebRTC. Видеокодек VP9Одно из преимуществ использования WebRTC связано с потоковым видео. Поскольку «живое» видео получает всё бо́льшее распространение и начинает приобретать бо́лее высокое качество, то для него требуется более быстрая передача данных и меньший размер пакета. Видеокодек VP9, являющийся улучшением VP8, представляет собой формат сжатия и распаковки аудио и/или видео, и способствует распространению потокового видео. VP9 позволяет использовать WebRTC для потоковой передачи видео без потери пакетов или задержки, а также может поддерживать видеовызов при той же полосе пропускания и помогает сократить количество плохих соединений. Данный видекодек позволяет скрыть потерю пакетов и очистить зашумленные изображения, а также обеспечивает возможность захвата видеокадра и воспроизведения на нескольких платформах. Кандидаты ICEКаналы связи между узлами определяются разными параметрами. А поскольку условия сети могут варьироваться в зависимости от ряда факторов, то прежде чем два одноранговых узла установят канал связи с помощью WebRTC, им необходимо обменяться информацией о подключении. Для обнаружения возможных «кандидатов» на подключение к одноранговому узлу обычно используется внешний сервис, называемый ICE (Internet Connectivity Establishment). Сервис ICE использует либо сервер STUN, либо TURN. В большинстве приложений WebRTC использует TURN (Traversal Using Relay NAT) - это более продвинутое решение, которое включает протоколы STUN (Session Traversal Utilities for NAT). Аббревиатура NAT расшифровывается как Network Address Translation. ICE-кандидаты бывают трех типов : host, srflx и relay. Тип host содержит локальную информацию, srflx включает информацию для внешнего сервера STUN, а relay включает информацию для проксирования трафика через сервер TURN. Если узел находится за NAT’ом, то host-кандидаты с локальными адресами будут бесполезны, кандидаты srflx можно будет использовать только при определенных видах NAT. И только relay могут позволить пропустить трафик через промежуточный сервер. Формат определения серверов STUN/TURN может быть представлен следующим образом : var servers = { "iceServers" : [ { "url": "stun:stun.stunprotocol.org:3478" },{ "url": "turn:user@host:port", "credential": "password" } ] }; В интернете много публичных STUN-серверов. Публичных же TURN-серверов практически нет, поскольку они пропускают через себя медиапотоки и значительно загружают сетевой канал, и сам сервер. Сетевой протокол SDPSDP (Session Description Protocol) — это сетевой протокол прикладного уровня, используемый для описания сессии передачи потоковых данных. Согласно SDP может быть реализовано несколько потоков данных : аудио, видео, данные, управление и приложения (поточные), сходные с MIME типами электронной почты в Интернет-адресах. В сообщение SDP может быть указано :
|