Что такое WebRTC и как сделать онлайн коммуникацию комфортнее?
В живых стриминговых сервисах, таких как блоггинг, платформы для дистанционного обучения и гейминг, важно активное взаимодействие между автором и зрителями, которое позволяет им обмениваться мнениями и принимать важные решения в реальном времени. Для всех участников таких трансляций есть свои выгоды, но основным ресурсом для получения прибыли являются зрители и авторы. Поэтому платформа должна удовлетворять требованиям обеих сторон, иначе они просто перейдут на другую платформу.
Что такое WebRTC?
Существуют множество технологий и средств организации живых трансляций. Однако если, помимо самой трансляции, критически важным элементом является обеспечение комфортного общения группы людей в формате видео, разговора или чата в сети Интернет, то оптимальный и доступный вариант – это WebRTC.
WebRTC - это стандарт, реализующий высокоскоростную передачу данных через веб-браузер. В частности, он используется для видеочатов и веб-конференций, поскольку может отправлять и получать большие объёмы данных, таких как аудио и видео, в реальном времени. Проект был запущен в 2011 году для реализации дальнейшей коммуникации в реальном времени через API.
Метод связи WebRTC - P2P. P2P - это сокращение от «Peer to Peer» и значит что терминалы обмениваются данными напрямую друг с другом, минуя сервер. Однако в веб-конференцях, с большим колличеством участников, P2P увеличивает нагрузку и ухудшает качество, поэтому используется метод клиент-сервер, который может решать проблемы с линией, отправляя и получая данные через сервер.
WebRTC позволяет начать трансляцию без установки дополнительного ПО, позвонив прямо из браузера, а ощущение реальности между участниками создается за счет низкой и стабильной задержки.
Зачем WebRTC, если есть готовые платформы?
Существует множество готовых и популярных платформ. Среди них - Twitch, YouTube, Periscope, Zoom, Facebook, VK Live и OK Live, которые позволяют стримить вживую и получать обратную связь. Но есть ситуации, когда эти платформы ограничиваются пользовательским контентом и технологиями, которые могут не соответствовать поставленным задачам.
Например, в некоторых странах Zoom заблокирован или имеет ограничения для использования отдельными организациями, связанными с государством. Кроме того, популярные сервисы, такие как Twitch и YouTube, могут ограничивать некоторый контент, например, adult-стриминг, который может не пройти модерацию. Люди, которые записались на консультацию у психолога или виртуальный медицинский прием, вряд ли захотят использовать общедоступные сервисы, чтобы защитить свои данные. Компании, проводящие живые трансляции тренингов, также могут захотеть защитить свой контент. Кроме того, стоит учитывать, что на YouTube действуют строгие правила по авторским правам. Платформа имеет полное право заблокировать весь контент автора, если он нарушает эти правила, что может привести к серьезным последствиям для автора, вплоть до закрытия его канала.
Будьте всегда в курсе новых возможностей WebRTC!
Подпишитесь, чтобы получать последние новости отрасли и оставаться в курсе событий.
А что с технологиями?
В техническом плане большинство платформ, которые перечислены выше, используют достаточно эффективные технологии ( MPEG-DASH и RTMP, HLS), но у них есть свои ограничения, связанные с качеством звука, подстройкой под нестабильные каналы интернета, не все они дают ожидаемо низкую задержку на iOS. И самое важное - все эти популярные платформы требуют установки приложений, чтобы начать трансляцию, что не всегда бывает удобно как автору, так и зрителю.
Действительно, не для каждого кейса живого стриминга нужна технология WebRTC, но если в конкретном случае критичен эффект физического присутствия, быстроты реакции, качества звука, каналов связи для авторов и зрителей, или на платформах действуют ограничения, указанные выше, тогда, конечно, логичнее остановиться на создании стриминговой платформы на базе WebRTC.
К чему нужно быть готовым перед началом работы с WebRTC?
Есть возможность самостоятельно разработать и интегрировать WebRTC в свою стриминговую платформу, так как WebRTC является открытым стандартом, но могут возникнуть сложности. WebRTC - сравнительно молодая технология и специалистов по разработке сервисов, в которые интегрирована технология WebRTC не так много. И если не вдаваться в подробности - это очень и очень сложно и ресурсозатратно.
Более эффективным решением может быть использование готового и проверенного инструмента. В Flussonic Media Server уже давно успешно реализована технология WebRTC. В нём удалось использовать все преимущества стека технологий WebRTC , чтобы стриминговые платформы могли адаптироваться к нужным сценариям использования и реальным условиям работы их авторов и зрителей.
Использование Flussonic Media Server для организации общения по типу связи “один-ко-многим” при помощи WebRTC в стриминговой платформе дает множество преимуществ, которые помогут создать ощущение присутствия во время лайвстриминга.
При этом решение отличают следующие характеристики:
- Высокий уровень безопасности: все соединения защищены и зашифрованы согласно протоколам DTLS и SRTP. При этом WebRTC работает только по протоколу HTTPS, а использующий технологию сайт должен быть подписан сертификатом.
- Минимальная задержка. WebRTC - самая быстрая из доступных технологий. Задержка менее 0,5 сек достигается за счёт возможности передавать данные без прохождения через сервер. Обычная односторонняя связь использует протокол TCP. В этом протоколе передача данных осуществляется через сервер: Поток идёт от клиента на сервер -> сервер подтверждает что вторая сторона его получила. Данные передаются путём постоянного повторения этих шагов. WebRTC же, напротив, использует протокол UDP. В отличие от TCP он отправляет данные напрямую от клиента к клиенту, и не требует никакой обработки для начала или завершения коммуникации.
- Гарантированное качество звука с минимальной задержкой, достаточной для телефонных разговоров, поможет сохранить качество звука и скорость реакции во время лайвстриминга.
- Наконец, использование WebRTC позволяет снизить задержку для зрителей, использующих iPhone, до субсекундного значения. Это особенно важно для лайвстриминга, так как любая задержка может сильно повлиять на восприятие контента.
Помимо этого, Flussonic Media Server:
- Обеспечивает точную балансировку с учетом загрузки узлов, позволяющую направлять поток на нужный сервер и эффективно утилизировать аппаратную инфраструктуру.
- Осуществляет автоматическое переключение между TCP и UDP и позволяет выбирать оптимальный протокол для передачи данных в зависимости от типа данных и сетевых условий.
- Постоянно анализирует состояние каналов и позволяет быстро реагировать на изменения качества исходящего видео.
- Отлично масштабируется и обеспечивает бесперебойную доставку видео с максимально возможным качеством для тысяч, сотен тысяч и миллионов зрителей
- Поддерживает адаптивное вещание WebRTC ABR: для каких-то зрителей максимально возможное качество будет только в низком разрешении (больше их канал не потянет), другие смогут без проблем потреблять максимально возможный битрейт
Недостатки WebRTC
Хоть WebRTC и имеет множество значимых преимуществ, но в некоторых случаях выгоднее использовать TCP-связь. Давайте разберём в каких:
-
WebRTC использует UDP в качестве протокола. Это упрощает общение, но снижает надёжность с точки зрения безопасности. Как упоминалось выше, TCP представляет собой серию шагов от момента, когда клиент начинает подключаться к серверу, до момента, когда другая сторона подтверждает, что сигнал был получен. Другими словами, доступность гарантируется возможностью каждый раз подтверждать, получила ли другая сторона данные. C другой стороны, UDP, который отправляет данные беспрерывно, не может подтвердить, действительно ли другая сторона их получила.
-
Все WebRTC решения несовместимы между собой, т. к. стандарт описывает лишь способы передачи видео и звука, оставляя реализацию способов адресации абонентов, отслеживания их доступности, обмена сообщениями и файлами, планирования и прочего за разработчиком. Другими словами, вы не сможете позвонить из одного WebRTC приложения в другое.
-
WebRTC определяет реальные IP-адреса пользователей. При этом сохранить анонимность не поможет ни прокси, ни использование сети Tor. Скрыть IP-адрес можно с помощью различных VPN сервисов, а также при использовании TURN-сервера.
Популярность
На сегодняшний день технология WebRTC является второй по популярности после проприетарного протокола Zoom и опережает все остальные стандартные (H.323 и SIP) и проприетарные (Microsoft Teams и Cisco Webex) протоколы.
Flussonic Media Server гарантирует все преимущества стека технологий WebRTC без необходимости разрабатывать инфраструктуру с нуля. Это готовая платформа, которая позволит сосредоточиться на бизнесе, монетизации контента, привлечении авторов и зрителей, которым необходим “эффект присутствия”, в то время как Flussonic позаботится о технических аспектах стриминга.