Напоминание

Web. Протокол WebRTC


Автор: Гафуров Айрат Ильфатович
Должность: автор
Учебное заведение: Казанский Национальный Исследовательский Технологический Университет
Населённый пункт: Казань
Наименование материала: Web. Протокол WebRTC
Тема: Web. Протокол WebRTC
Раздел: высшее образование





Назад




Web. Протокол WebRTC

Автор:

Гафуров Айрат Ильфатович

Студент, Казанский Национальный Исследовательский Технологический

Университет

Россия, г. Казань

Научный Руководитель:

Галимянов Фанис Анисович

Старший преподаватель, кафедра «Информатика и прикладная

математика», Казанский национальный исследовательский технологический

университет, Россия, г. Казань

Казань, 2023

Аннотация:

в приведённой статье рассматривается протокол WebRTC и то,

как он работает.

Что такое WebRTC?

WebRTC (Web Real

Time Communications)

— это стандарт,

который

описывает передачу потоковых аудиоданных, видеоданных и контента между

браузерами (без

установки плагинов или иных расширений)

или другими

поддерживающими его приложениями в режиме реального времени.

Данная

технология

позволяет

превратить

браузер

в

оконечный

терминал

видеоконференцсвязи.

Чтобы начать общение,

достаточно просто открыть

веб-страницу конференции.

Где используется WebRTC?

WebRTC часто используется в видеочатах,

подобных Skype,

Zoom и

Google Meet.

Как работает WebRTC?

1.

Пользователь открывает страницу, содержащую WebRTC контент.

2.

Браузер запрашивает

доступ к

веб-камере

и микрофону,

если это

необходимо. Пока пользователь не разрешит доступ к устройству,

оно

не будет использоваться. В случаях, когда это необязательно (например,

при просмотре трансляций),

никаких дополнительных разрешений не

требуется.

3.

В браузере,

инициирующем соединение,

формируется SDP-пакет.

По

сути это текстовый файл,

содержащий всю необходимую информацию

о параметрах соединения.

Например,

что будет

передаваться (звук,

видео,

данные),

с

помощью каких

кодеков,

какие

параметры

поддерживаются браузером и т. д.

4.

В зависимости

от

реализации

технологии,

инициатор

соединения

передаёт

этот

пакет

другим

участникам.

Зачастую для

этого

используется сигнальный сервер и WebSocket протокол.

5.

На

принимающей

стороне

браузер

получает

SDP-пакет,

а

затем

генерирует подобный,

но с учетом информации из

первого.

Второй

пакет

отправляется

назад,

к

инициирующей стороне.

Теперь

оба

клиента уже имеют минимальное представление друг о друге.

6.

В зависимости от реализации,

параллельно с предыдущими шагами

происходит

анализ

состояния

подключения

к

сети.

Клиентам

передаётся адрес STUN-сервера,

который используется,

чтобы узнать

внешний

IP-адрес

устройства.

Он

сравнивается

с

внутренним

IP-адресом для того,

чтобы определить используется ли NAT в данном

подключении и,

если да,

то как маршрутизируются UDP-пакеты.

В

более сложных случаях (например,

когда используется двойной NAT),

применяются TURN-сервера. Они, по сути, являются ретрансляторами,

превращая соединение клиент-клиент (P2P) в клиент-сервер-клиент.

7.

Если все шаги пройдены успешно,

то соединение устанавливается.

Периодически вызывается

событие onicecandidate,

которое передаёт

информацию об IP-адресах,

настройках NAT,

попытках подключения

между клиентами.

Преимущества стандарта

1.

Высокое качество связи.

2.

Безопасность.

3.

Открытый исходный код.

4.

Кросс-платформенность.

WebRTC

будет

хорошо

работать

на

компьютерах и мобильных устройствах,

достаточно иметь хороший

интернет.

Недостатки стандарта

1.

Отсутствие приватности.

Перспективы

Данный стандарт передачи потоковых данных стремительно набирает

популярность ввиду своей относительной простоты и открытости.



В раздел образования