Что такое WebRTC: звонки в браузере без установки

WebRTC простыми словами: как браузер делает голосовые и видеозвонки без установки программ, что нужно для работы и как решить частые проблемы со связью.

Аватары и 3D6 мин чтения

Leer en españolRead in EnglishLer em portuguêsहिंदी में पढ़ें阅读中文版

WebRTC — это технология, встроенная в современные браузеры, которая позволяет делать голосовые и видеозвонки и передавать данные в реальном времени прямо с веб-страницы, без установки программ и плагинов. Когда вы заходите на встречу по ссылке и через несколько секунд уже разговариваете, скорее всего, за кулисами работает WebRTC. Название расшифровывается как Web Real-Time Communication — «связь в реальном времени через веб».

Чтобы в этом разобраться, не нужно быть программистом. Вот простая версия — с тем, что действительно полезно знать пользователю.

До WebRTC

Несколько лет назад, чтобы поговорить по видео с компьютера, нужно было установить программу или плагин для браузера. У каждого сервиса было своё приложение, и если у гостя его не было, вы теряли десять минут на установку, обновление и создание аккаунтов.

WebRTC это изменил. Сегодня в основных браузерах (Chrome, Edge, Firefox, Safari и основанных на них) он встроен. Поэтому страница может попросить разрешение на микрофон и мгновенно соединить вас с другим человеком.

Как это работает, в четыре шага

Представьте звонок как двух людей, которые хотят поговорить через город, полный стен:

  1. Разрешение. Браузер спрашивает, можно ли странице использовать ваш микрофон (и камеру, если нужно). Без вашего «разрешить» ничего не происходит.
  2. Знакомство. Сервер страницы помогает браузерам «найти» друг друга и договориться, как они будут общаться: какие аудиоформаты использовать и как соединиться. Это называется сигнализацией.
  3. Поиск маршрута. Ваше подключение почти всегда находится за роутером или корпоративной сетью. WebRTC использует вспомогательные серверы (STUN и TURN), чтобы найти путь между участниками. Если прямого пути нет, звук идёт через сервер-ретранслятор.
  4. Разговор. После соединения звук идёт между участниками в зашифрованном виде и с очень маленькой задержкой.

Всё это происходит за секунду-две.

Что у него получается хорошо

  • Без установки. Достаточно ссылки.
  • Низкая задержка. Он создан для разговора, а не для просмотра видео с задержкой. Задержка обычно небольшая, поэтому можно естественно перебивать и отвечать.
  • Обязательное шифрование. Связь через WebRTC шифруется по умолчанию.
  • Подстраивается под сеть. Если связь ухудшается, он снижает качество, чтобы звонок не оборвался.
  • Кроссплатформенность. Работает на компьютерах с разными операционными системами и в мобильных браузерах.

Его ограничения

  • Зависит от вашего соединения. Если интернет нестабилен, будут обрывы или «роботизированный» голос. Проверьте, какой интернет нужен для удалённой записи.
  • Очень закрытые сети. Некоторые сети компаний или вузов блокируют определённые порты; серверы-ретрансляторы помогают, но не всегда.
  • Много участников. При прямых соединениях между всеми каждый отправляет свой звук всем остальным. В небольших группах это работает хорошо; для больших сервисы используют промежуточные серверы.
  • Это не запись. WebRTC передаёт живой разговор. Запись — отдельная история, которую каждый сервис решает (или не решает) по-своему.

Частые проблемы и как их решить

Симптом Вероятная причина Что делать
Вас никто не слышит У браузера нет разрешения на микрофон Проверьте значок замка или микрофона в адресной строке и разрешите доступ
Вас слышат, но с эхом Кто-то слушает через колонки, а не наушники Все должны быть в наушниках
Голос прерывается или звучит как робот Нестабильное соединение или перегруженная сеть Сядьте ближе к роутеру, подключите кабель или остановите загрузки
Не подключается в офисной сети Корпоративный файрвол Попробуйте другую сеть или спросите техподдержку
Используется не тот микрофон Система выбрала другое устройство Смените микрофон в настройках браузера или системы
Не работает в старом браузере Устаревшая версия Обновите браузер

Общий совет: перед важной сессией зайдите на пять минут раньше и проверьте. Большинство проблем — это разрешения или не то устройство.

WebRTC в повседневной жизни

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

В remocast, например, голос между участниками комнаты идёт через WebRTC. Поэтому гости заходят по ссылке, ничего не устанавливая, и до шести человек могут разговаривать в одной 3D-студии. Тем временем аватар каждого двигает губами вслед за голосом; если вам интересна эта часть, прочитайте, что такое липсинк аватара.

Это безопасно?

WebRTC шифрует передаваемые звук и видео, а браузер всегда спрашивает разрешения, прежде чем использовать микрофон или камеру. К тому же многие браузеры показывают индикатор, пока микрофон активен.

Что всё равно зависит от вас и сервиса:

  • Заходите только на страницы, которым доверяете.
  • Проверяйте, у каких сайтов есть доступ к микрофону, и убирайте те, которыми больше не пользуетесь.
  • Нажимайте кнопку выключения микрофона, когда не говорите.
  • Если собираетесь записывать разговор другим инструментом, предупредите участников. Подробнее — в статье о разрешении записывать других людей.

Если хотите увидеть это в деле, создайте студию бесплатно и поделитесь ссылкой с кем-нибудь.

Частые вопросы

Нужно ли что-то устанавливать, чтобы пользоваться WebRTC?

Нет. Он встроен в современные браузеры. Нужно лишь разрешить странице использовать микрофон или камеру.

Работает ли WebRTC на телефонах?

Да, в современных мобильных браузерах. Впечатление зависит от страницы: некоторые созданы для компьютеров и лучше выглядят или работают на больших экранах.

Почему мой голос звучит как робот в звонке через браузер?

Почти всегда виновато соединение: слабый Wi-Fi, перегруженная сеть или слишком большое расстояние до роутера. Попробуйте кабель, сядьте ближе к роутеру или остановите другие загрузки.

Источники

  1. WebRTC: Real-Time Communication in Browsers — W3C
  2. WebRTC API — MDN Web Docs
  3. Introduction to WebRTC protocols — MDN Web Docs
  4. RFC 8827: WebRTC Security Architecture — IETF
  5. MediaDevices: getUserMedia() method — MDN Web Docs

Если статья была полезной, подписывайся, чтобы не пропустить следующие: