ТОП-5 новых возможностей для трансляций по WebRTC - Дайджест обновлений

13.10.2023

7мин. чтения

Дайджест обновлений: WebRTC

Дайджест обновлений: WebRTC

Команда Flussonic выпускает более сотни обновлений ежемесячно. Чтобы вам было легче следить за всеми изменениями, мы подготовили дайджесты о самых значимых обновлениях за последний год.

Сегодня мы рассмотрим интересные возможности технологии WebRTC в Flussonic Media Server и их пользу для клиентов. В этой статьей мы выбрали топ-5 самых интересных фич, на наш взгляд. Эти обновления наиболее актуальны для тех, кто планирует создать стриминг-сервисы для пользовательского контента, такие как блоги, развлечения для взрослых и гейминг. Также они полезны для тех, кто собирается проводить онлайн-трансляции с минимальной задержкой, включая концерты, спортивные мероприятия и ставки.

Удивительно, что некоторые наши клиенты из области IPTV/OTT, которые изначально не связаны с UGC-стримингом, начали экспериментировать с WebRTC. Они создают собственные веб-конференции и подобные сервисы. Несмотря на то, что это не типичное применение WebRTC, мы поддерживаем подобные инициативы и предоставляем необходимые инструменты для их реализации, кроме того в этом также и прелесть нашего продукта, что разные, не связанные между собой сервисы можно запустить на одном сервере, при помощи одной лицензии!!

Почему выгоднее покупать готовое решение, а не разрабатывать самим?

Да, WebRTC - это общедоступный стандарт, но есть несколько ключевых причин, почему клиенты предпочитают наше решение. Наш опыт работы с WebRTC начался ещё в 2014 году в рамках эксперимента. Нам было невозможно предвидеть, насколько сильно эта технология изменит мир видеостриминга и онлайн-коммуникаций. Однако наша инженерная компетенция и вера в WebRTC позволили нам быстро интегрировать эту технологию.

Первые наши клиенты начали использовать WebRTC в 2016 году, и с тех пор мы продолжаем активно развивать функциональность для области UGC-стриминга. Несмотря на то, что клиенты могли бы попытаться самостоятельно интегрировать WebRTC, они предпочли выбрать нашу компанию из-за нашего богатого опыта и наличия высококвалифицированных разработчиков, способных успешно внедрять WebRTC. К тому же, специалистов, обладающих такой экспертизой, ограниченное количество, и их услуги могут быть дорогостоящими.

Крупные платформы, такие как Discord и Twitch, могут интегрировать WebRTC в свои сервисы самостоятельно, и это было актуально на ранних этапах развития стандарта. Однако в современном мире большинство компаний и стартапов предпочитают использовать готовые решения, такие как Flussonic. Почему? Потому что Flussonic не только предоставляет поддержку и готовые решения для WebRTC, но также включает в себя все необходимые компоненты и инструменты для создания конкурентоспособных услуг.

Мы можем смело утверждать, что среди медиа-серверов Flussonic Media Server предлагает наиболее обширное решение для WebRTC. Множество компаний предоставляют WebRTC в своих продуктах или услугах по интеграции этой технологии в видеосервисы, но только Flussonic предоставляет готовую функциональность для захвата видео из различных источников, транскодирования (что необходимо для реализации адаптивного битрейта), а также готовый open-source плеер/паблишер. Более подробно о возможностях, которые позволяют не просто использовать WebRTC, а создавать конкурентоспособные сервисы, мы расскажем ниже.

  1. WebRTC ABR - Адаптивный битрейт

Для наших клиентов использующих WebRTC важно предоставлять максимально качественный сервис зрителям в условиях разной/ограниченной пропускной способности интернета. При этом качестве сервиса предполагает, чтобы зритель мог смотреть в максимально доступном качестве, которое предоставляет сеть - для каких-то зрителей максимально возможное качество будет только в низком разрешении (больше их канал не потянет), другие смогут без проблем потреблять максимально возможный битрейт

Мы приняли вызов этой проблемы и решили разработать адаптивный битрейт для WebRTC. Это означало изменения как “внутри”, так и “снаружи”.

Снаружи это выглядело так: мы создали WebRTC и MSE-LD плеер, способный самостоятельно регулировать качество видео в зависимости от скорости интернет-соединения пользователя. Если у зрителя было медленное соединение, плеер автоматически снижал разрешение видео, чтобы предотвратить буферизацию и обеспечить более стабильное воспроизведение. И когда соединение улучшалось, качество видео автоматически повышалось для лучшего просмотра. Это сделало процесс просмотра более плавным и приятным для пользователей.

Но мы не ограничились только автоматическим регулированием качества. Мы также предоставили пользователям возможность выбирать качество видео сами. Мы добавили опции выбора, аналогичные популярным плеерам HLS, включая “авто”, “1080p”, “720p”, “480p” и другие. Теперь пользователи могли контролировать качество видео согласно своим предпочтениям.

Что касается изменений внутри, нам пришлось адаптировать ядро медиа-сервера, чтобы оно могло взаимодействовать с новым плеером и предоставлять доступ к различным профилям качества. Проигрывая потоки через WebRTC, Flussonic использует протокол RTP для отправки видео и аудио кадров. Для измерения пропускной способности доступны два механизма: REMB и TWCС. Flussonic может использовать любой из них в алгоритме ABR (Adaptive Bitrate) для принятия решения о переключении битрейта на более высокое значение. Мы также обучили Flussonic принимать видео с переменным битрейтом (MBR) и транскодировать аудио в формат OPUS, обеспечивая высокое качество звука.

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

  1. WebRTC AV1: Оптимизация и адаптация

WebRTC AV1 - это последнее достижение в мире видеокодирования, и Flussonic Media Server активно внедряет эту инновацию. AV1 был создан с учетом потребностей WebRTC, и его интеграция оказывает значительное влияние на эту технологию.

Телевизионная индустрия известна своей медленной скоростью внедрения новых кодеков, так как множество телевизионных устройств поддерживает устаревшие кодеки, и обновление их занимает годы, а иногда и десятилетия. В то время как современные мобильные устройства и компьютеры давно поддерживают AV1, и большинство веб-браузеров использует его для потоковой передачи видео. Популярные приложения для видеоконференций, такие как Zoom, Skype, также активно используют AV1 для улучшения качества видеопередачи и экономии трафика.

Учитывая этот контекст, предлагать клиентам использовать устаревшие кодеки в 2023 году для онлайн-трансляций кажется странным. Современные компьютеры способны более эффективно обрабатывать видео с использованием AV1, и интеграция этого кодека в WebRTC стала неизбежным шагом для оптимизации и совершенствования технологии видеопередачи.

  1. JIT-packaging: автоматический выбор аудио-кодеков в зависимости от протокола WebRTC, RTMP или HLS

Здесь мы хотим рассказать про уникальный механизм Flussonic Media Server, который позволяет в рамках одной инсталляции и одной лицензии обрабатывать как потоки H.264 с аудио в формате OPUS (по протоколу WebRTC), так и потоки H.264 с аудио в формате AAC (по протоколу RTMP).

Итак, у нас есть две группы источников видеопотоков:

  • Браузеры, которые могут публиковать видео в формате H.264 и аудио в формате OPUS с использованием протокола WebRTC.
  • OBS и аналогичные паблишеры, которые используют протокол RTMP и предоставляют видео в формате H.264 с аудио в формате AAC.

Проблема здесь заключается в том, что нельзя просто взять поток H.264 в RTMP и опубликовать на сайт через WebRTC, так как аудиопоток WebRTC c AAC несовместимы.

scheme_webrtc_rtmp_opus_aac

Flussonic решает эту проблему, автоматически генерируя оба варианта звуковых дорожек, независимо от того, какой формат аудио был получен на входе. Если пришло видео в H.264 по WebRTC c аудио в формате OPUS, Flussonic добавит аудио в формате AAC и наоборот, если видео пришло по RTMP с аудио в AAC, будет добавлена аудиодорожка в OPUS.

Таким образом, у нас всегда есть оба варианта звуковых дорожек (AAC и OPUS) для видео H.264. Это позволяет обеспечивать воспроизведение через разные протоколы, включая WebRTC и HLS (который требует AAC), и с учетом различных требований устройств и браузеров.

Этот подход предоставляет больше вариантов и гибкости при организации онлайн-трансляций и учитывает различные потребности авторов контента и ограничения устройств и браузеров у зрителей.

WebRTC Canvas

  1. WebRTC Canvas: креативность в реальном времени

Запросы наших клиентов вдохновили на интеграцию инструментов Canvas в WebRTC, чтобы предоставлять авторам контента больше инструментов для создания уникального и привлекательного контента. Canvas - это впечатляющий инструмент, который дает возможность настраивать видеопоток в режиме реального времени, добавляя индивидуальные элементы и эффекты. С этой функцией авторы могут создавать удивительные визуальные решения прямо из браузера.

WebRTC паблишер (плеер) теперь обогащен возможностью добавления разнообразных эффектов в видеопоток с камеры, предоставляемых разработчиками сайта. Эта функция позволяет пользователям легко придавать своему видео уникальный стиль. Примеры таких эффектов включают наложение логотипа компании, бегущую строку, размытие видео, создание чатов и многе другое.

WebRTC Canvas не только воплощает в жизнь творческие идеи, но и делает это без лишней нагрузки на серверную сторону при транскодировании, что снижает нагрузку как на пользователей, так и на провайдеров. Например, прожечь логотип на стороне сервера - это вариант, но использование Canvas является предпочтительным вариантом с точки зрения удобства пользователя и оптимизации ресурсов провайдера.

  1. WebRTC Load Balancer: оптимизация и управление трафиком

Ранее Flussonic Media Server использовал WebRTC через протокол web-socket, и в связи с этим балансировщик Flussonic не мог эффективно управлять WebRTC-соединениями, так как web-socket не предоставлял средства для равномерного распределения нагрузки. Балансировка при использовании web-socket осуществлялась случайным образом.

Теперь у Flussonic есть собственная функция балансировки, которая поддерживает различные протоколы, включая HLS, DASH и WebRTC. Это стало возможным благодаря переходу на реализацию WebRTC через протоколы WHIP/WHEP (WebRTC HTTP Ingest/Egress Protocol), которые основаны на стандартных HTTP-протоколах. HTTP-протоколы лучше подходят для балансировки нагрузки.

Балансировщик Flussonic может выбирать оптимальный сервер как для передачи видеопотока, так и для его просмотра с использованием WebRTC. Эта функция балансировки предоставляет пользователям большую гибкость и оптимизацию при передаче видео и работает как на стороне зрителей, так и на стороне паблишеров. Это обеспечивает более эффективное использование серверных ресурсов и улучшенное качество обслуживания.

Для того, чтобы попробовать весь стек функциональности WebRTC в рамках Flussonic Media Server - запросите бесплатный триальный ключ или воспользуйтесь своей текущей лицензией Flussonic Media Server

img
Автор:
Максим Клюшков
Flussonic Media Server Team Lead
На передовой инноваций Flussonic: отвечает за разработку Flussonic Media Server, видео-аналитики, UI-сервисов

Бесплатный триал Flussonic Media Server

Отправляя заявку, вы соглашаетесь с правилами и условиями

Пожалуйста, заполните форму для получения бесплатного тестового ключа.

Если вы не получите от нас письмо в течение 30 мин, проверьте в спаме и добавьте наш адрес в избранные контакты.

Email: support@flussonic.com Phone: +7 (717) 272-78-21