28 Марта 2022

Бондинг: новый подход к решению проблемы

Все чаще наши клиенты при проведении трансляций, сталкиваются с проблемой слабых каналов интернета. Это связано с тем, что на локациях отсутствует проводной интернет и приходится пользоваться мобильным интернетом (4G\LTE). Как правило, мобильный интернет ограничен по скорости и зачастую, в лучшем случае, получается выжать скорость только 5 Mbs. Но учитывая публичность мобильного интернета, скорость скорее всего будет нестабильна, поскольку и другие абоненты на этом мероприятии будут использовать этот канал.

Поэтому, в свое время появилась идея так называемого бондинга. Она заключается в объединении нескольких физических каналов связи в один логический. Например, можно взять несколько 4G модемов и вести трансляцию одновременно через все. При этом пропускная способность будет близка к сумме пропускных способностей всех модемов.

Варианты решения


Вкратце рассмотрим самые доступные решения для агрегации каналов, такие как Speedify и OpenMPTCP. А потом перейдем к вариантам, которые предлагаем мы.

При этом, мы будем анализировать эти решения именно в контексте проведения онлайн трансляций по протоколу SRT.

Приготовьтесь! Будет интересно!

Speedify


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

Плюсы:
  • очень популярен
  • доступен на всех платформах
  • позволяет агрегировать не только 4G модемы, но и составлять сетапы из мобильных телефонов

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

OpenMPTCP

Является стандартным протоколом поверх TCP и в теории каждый может развернуть сервис на его основе. Особенно учитывая, что в публичном доступе есть код агрегирующего сервера.

Плюсы:
  • доступность
  • бесплатность

Минусы:
  • протокол не поддерживается в Windows
  • развертывание агрегирующего сервиса требует специалиста
  • использование протокола SRT также похоже на перевозку спортивного болида на грузовом автомобиле. Поскольку OpenMPTCP базируется на TCP, в то время как SRT задумывался именно чтобы обойти ограничения TCP протокола.
SRT & OpenMPTCP

Выводы

Рассмотренные выше сервисы являются универсальными. Они решают более широкую задачу по предоставлению интернета, в основном для серфинга. Но они не учитывают специфику онлайн трансляций по протоколу SRT.

Как вы наверное знаете, SRT был спроектирован на основе UDP, чтобы обойти ограничения по скорости протокола TCP. Рассмотренные выше варианты решений как бы загоняют SRT обратно в TCP, что как вы понимаете, далеко не оптимально. Поэтому, мы решили сделать свое решение на “чистом” SRT, о котором мы расскажем вам далее.
Существующие решения принижают скорость SRT

Что предлагаем мы

По многочисленным просьбам наших клиентов мы реализовали функцию "бондинга", в нашем SRTMiniServer. При этом наше решение использует исключительно SRT протокол и его мощь.
Суть нашего решения заключается в том, что на передающей стороне ставится достаточно простая программа. Она расщепляет входящий SRT поток, на несколько SRT-потоков и передает по всем доступным каналам.
Например, вы можете подключить несколько USB модемов и программа, которую мы назвали SRTBondingAgent, будет задействовать всю их мощность.

SRTMiniServer в свою очередь, будет агрегировать входящие потоки.

Преимущества нашего решения

  • используется только SRT
  • можно использовать с любыми энкодерами (vMix, OBS, Haivision, JVC и т.д.)
  • не требует специального оборудования: вы можете запустить программу SRTBondingAgent, даже на слабом Netbook, либо на том компьютере, где стоит vMix
  • можно использовать доступные роутеры с балансировкой нагрузки
  • совместим с SRT - прокси серверами
  • не требует агрегирующего сервера: в качестве него выступает SRTMiniServer

Что дальше

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

Примечание: На данный момент программа SRTBondingAgent реализована под платформу Windows, в будущем у нас есть планы портировать ее на Linux.
Made on
Tilda