WebRTC — это технология, встроенная в современные браузеры, которая позволяет делать голосовые и видеозвонки и передавать данные в реальном времени прямо с веб-страницы, без установки программ и плагинов. Когда вы заходите на встречу по ссылке и через несколько секунд уже разговариваете, скорее всего, за кулисами работает WebRTC. Название расшифровывается как Web Real-Time Communication — «связь в реальном времени через веб».
Чтобы в этом разобраться, не нужно быть программистом. Вот простая версия — с тем, что действительно полезно знать пользователю.
До WebRTC
Несколько лет назад, чтобы поговорить по видео с компьютера, нужно было установить программу или плагин для браузера. У каждого сервиса было своё приложение, и если у гостя его не было, вы теряли десять минут на установку, обновление и создание аккаунтов.
WebRTC это изменил. Сегодня в основных браузерах (Chrome, Edge, Firefox, Safari и основанных на них) он встроен. Поэтому страница может попросить разрешение на микрофон и мгновенно соединить вас с другим человеком.
Как это работает, в четыре шага
Представьте звонок как двух людей, которые хотят поговорить через город, полный стен:
- Разрешение. Браузер спрашивает, можно ли странице использовать ваш микрофон (и камеру, если нужно). Без вашего «разрешить» ничего не происходит.
- Знакомство. Сервер страницы помогает браузерам «найти» друг друга и договориться, как они будут общаться: какие аудиоформаты использовать и как соединиться. Это называется сигнализацией.
- Поиск маршрута. Ваше подключение почти всегда находится за роутером или корпоративной сетью. WebRTC использует вспомогательные серверы (STUN и TURN), чтобы найти путь между участниками. Если прямого пути нет, звук идёт через сервер-ретранслятор.
- Разговор. После соединения звук идёт между участниками в зашифрованном виде и с очень маленькой задержкой.
Всё это происходит за секунду-две.
Что у него получается хорошо
- Без установки. Достаточно ссылки.
- Низкая задержка. Он создан для разговора, а не для просмотра видео с задержкой. Задержка обычно небольшая, поэтому можно естественно перебивать и отвечать.
- Обязательное шифрование. Связь через WebRTC шифруется по умолчанию.
- Подстраивается под сеть. Если связь ухудшается, он снижает качество, чтобы звонок не оборвался.
- Кроссплатформенность. Работает на компьютерах с разными операционными системами и в мобильных браузерах.
Его ограничения
- Зависит от вашего соединения. Если интернет нестабилен, будут обрывы или «роботизированный» голос. Проверьте, какой интернет нужен для удалённой записи.
- Очень закрытые сети. Некоторые сети компаний или вузов блокируют определённые порты; серверы-ретрансляторы помогают, но не всегда.
- Много участников. При прямых соединениях между всеми каждый отправляет свой звук всем остальным. В небольших группах это работает хорошо; для больших сервисы используют промежуточные серверы.
- Это не запись. WebRTC передаёт живой разговор. Запись — отдельная история, которую каждый сервис решает (или не решает) по-своему.
Частые проблемы и как их решить
| Симптом | Вероятная причина | Что делать |
|---|---|---|
| Вас никто не слышит | У браузера нет разрешения на микрофон | Проверьте значок замка или микрофона в адресной строке и разрешите доступ |
| Вас слышат, но с эхом | Кто-то слушает через колонки, а не наушники | Все должны быть в наушниках |
| Голос прерывается или звучит как робот | Нестабильное соединение или перегруженная сеть | Сядьте ближе к роутеру, подключите кабель или остановите загрузки |
| Не подключается в офисной сети | Корпоративный файрвол | Попробуйте другую сеть или спросите техподдержку |
| Используется не тот микрофон | Система выбрала другое устройство | Смените микрофон в настройках браузера или системы |
| Не работает в старом браузере | Устаревшая версия | Обновите браузер |
Общий совет: перед важной сессией зайдите на пять минут раньше и проверьте. Большинство проблем — это разрешения или не то устройство.
WebRTC в повседневной жизни
Даже если вы этого не замечаете, WebRTC есть во многих местах: рабочие встречи в браузере, онлайн-приёмы у врача, техподдержка по видео, игры с голосовым чатом, онлайн-уроки и подкаст-студии в браузере.
В remocast, например, голос между участниками комнаты идёт через WebRTC. Поэтому гости заходят по ссылке, ничего не устанавливая, и до шести человек могут разговаривать в одной 3D-студии. Тем временем аватар каждого двигает губами вслед за голосом; если вам интересна эта часть, прочитайте, что такое липсинк аватара.
Это безопасно?
WebRTC шифрует передаваемые звук и видео, а браузер всегда спрашивает разрешения, прежде чем использовать микрофон или камеру. К тому же многие браузеры показывают индикатор, пока микрофон активен.
Что всё равно зависит от вас и сервиса:
- Заходите только на страницы, которым доверяете.
- Проверяйте, у каких сайтов есть доступ к микрофону, и убирайте те, которыми больше не пользуетесь.
- Нажимайте кнопку выключения микрофона, когда не говорите.
- Если собираетесь записывать разговор другим инструментом, предупредите участников. Подробнее — в статье о разрешении записывать других людей.
Если хотите увидеть это в деле, создайте студию бесплатно и поделитесь ссылкой с кем-нибудь.
Частые вопросы
Нужно ли что-то устанавливать, чтобы пользоваться WebRTC?
Нет. Он встроен в современные браузеры. Нужно лишь разрешить странице использовать микрофон или камеру.
Работает ли WebRTC на телефонах?
Да, в современных мобильных браузерах. Впечатление зависит от страницы: некоторые созданы для компьютеров и лучше выглядят или работают на больших экранах.
Почему мой голос звучит как робот в звонке через браузер?
Почти всегда виновато соединение: слабый Wi-Fi, перегруженная сеть или слишком большое расстояние до роутера. Попробуйте кабель, сядьте ближе к роутеру или остановите другие загрузки.
Источники
- WebRTC: Real-Time Communication in Browsers — W3C
- WebRTC API — MDN Web Docs
- Introduction to WebRTC protocols — MDN Web Docs
- RFC 8827: WebRTC Security Architecture — IETF
- MediaDevices: getUserMedia() method — MDN Web Docs
Если статья была полезной, подписывайся, чтобы не пропустить следующие: