Как оптимально настроить параметры SRT-соединения на кодере

Как оптимально настроить параметры SRT-соединения на кодере

Настройка SRT-потока — это что-то новое для вас? В этой статье вы узнаете основы настройки параметров SRT-протокола для оптимизации производительности именно в вашем конкретном случае. В статье мы приведем чек-лист из 7 пунктов для настройки SRT-потока с использованием кодера Haivision Makito X4 в качестве источника передачи данных и декодера Makito X в качестве принимающего устройства.

Начнем с краткого напоминания о том, что из себя представляет SRT-протокол и как он функционирует.

Основы SRT-протокола

Когда интернет начал все больше распространяться и пропускная способность сети возрастала, все больше людей стали пытаться использовать его для потоковой передачи видео, однако решить проблемы, связанные с потерей пакетов данных и задержками оказалось чрезвычайно сложным. Интернет ведет себя очень непредсказуемо — между любыми двумя точками в сети пропускная способность может сильно различаться, также как и уровень потери пакетов данных, джиттер (из-за проблем с синхронизацией) и временная задержка (в зависимости от расстояния и маршрутов).

SRT-протокол (Secure Reliable Transport) (протокол безопасной и надежной передачи данных) был специально разработан для решения этих проблем, и цель протокола предельно проста — обеспечить надежную передачу видеоконтента через интернет из точки A в точку B и защитить его с помощью шифрования.

Как оптимально настроить параметры SRT-соединения на кодере

SRT-протокол позволяет видео-стримерам снизить задержку вплоть до десятков миллисекунд — даже при передаче видео через интернет в мировом масштабе, что критически важно в организации рабочих процессов интерактивного и двустороннего интервью или удаленного видеопроизводства.

SRT статистика отображает параметры вашей сети

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

Как оптимально настроить параметры SRT-соединения на кодере
Графическое отображение статистических данных кодера Makito X4

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

Чек-лист настройки параметров SRT-протокола

При настройке передающего и принимающего устройства (включая режимы вызова, а также настройки брандмауэра) выполните следующие 7 шагов для настройки SRT-протокола:

1. Измерьте время RTT (Round Trip Time) — время передачи данных туда и обратно

RTT-время передачи данных туда и обратно (измеряется в миллисекундах), также называемое задержкой прохождения данных туда и обратно — это время, необходимое для прохождения пакета данных от источника в конкретный пункт назначения и обратно. Время RTT используется в качестве руководства при настройке пропускной способности и задержки.

Чтобы определить время RTT между двумя устройствами в сети, вы можете использовать ping-команду или, если она не работает или недоступна, настроить тестовый SRT-поток и использовать значение RTT-времени со страницы статистики.

Если время RTT <= 20 мс — используйте 20 мс в качестве базового значения RTT. Это связано с тем, что SRT не реагирует на события в масштабе времени меньше 20 мс.

2. Определите коэффициент потери пакетов данных

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

Если использование iperf-статистики невозможно, настройте тестовую передачу SRT-потока данных, а затем используйте отношение числа повторно-отправленных байтов информации к общему числу отправленных байтов на странице статистики SRT-потока в течение 60-секундного периода, чтобы рассчитать коэффициент потери пакетов следующим образом:

Коэффициент потерянных пакетов данных = повторно-отправленные данные ÷ общее число отправленных данных * 100

3. Определите значение RTT-коэффициента и объем Overhead трафика

RTT-коэффициент — это значение, используемое при расчете задержки SRT-потока. Он отражает взаимосвязь между степенью загруженности сети и временем RTT. Overhead трафик — это часть общего объема трафика передаваемых данных, которая требуется для обмена управляющими пакетами данных и восстановленными пакетами.

Стоит отметить, что диапазон коэффициента RTT составляет от 3 до 20. Все что ниже 3 — слишком мало, чтобы SRT-протокол мог эффективно функционировать, а все что выше 20 — подразумевает сеть со 100% потерей пакетов данных.

Чтобы определить значение RTT-коэффициента и значение Overhead трафика передаваемых данных, которые соответствуют определенному ранее коэффициенту потери пакетов данных, используйте таблицу:

Как оптимально настроить параметры SRT-соединения на кодере
4. Определите SRT-задержку

Определите значение SRT-задержки, используя следующую формулу

SRT-задержка = RTT-коэффициент * RTT-время

Если время RTT < 20мс, используйте минимальное значение SRT-задержки в таблице, приведенной выше.

5. Определите номинальную пропускную способность канала

Используя утилиту iperf, определите номинальную пропускную способность канала, доступную для SRT-потока.

Если iperf не работает или недоступен, настройте тестовый поток SRT и используйте значение max bandwidth (максимальная пропускная способность) или path max bandwidth (максимальная пропускная способность пути) на странице статистики.

6. Определите битрейт потока данных

Битрейт потока данных — это суммарное значение битрейта видео-, аудио- и метаданных, а также Overhead протокола SRT. Должно соблюдаться следующее соотношение:

Пропускная способность канала > SRT-трафик передаваемых данных * (100 + Overhead трафика) ÷ 100

Если это соотношение не соблюдается, то битрейт видео-, аудио- и метаданных должен быть снижен до тех значений, при которых соотношение не будет соблюдено полностью. Рекомендуется добавить также значительный запас по объему — в связи с изменяющимся значением пропускной способностью канала на практике, поэтому более надежным соотношением будет:

0.75 * пропускная способность канала > SRT-трафик передаваемых данных * (100 + Overhead трафика) ÷ 100

7. Убедитесь, что SRT-протокол настроен корректно

Лучший способ определить это — настроить передачу тестового SRT-потока и посмотреть на график буфера отправки SRT-данных на странице статистики устройства передачи данных. Значение буфера отправки никогда не должно превышать предельное значение SRT-задержки. Если эти линии графика расположены близко друг ко другу — увеличьте значение SRT-задержки.

Haivision Play Pro — оптимальный, БЕСПЛАТНЫЙ, мобильный SRT-плеер

Протокол SRT позволяет справиться с джиттером, потерями пакетов и колебаниями полосы пропускания канала, обеспечивая наилучшее качество просмотра — даже при передаче через непредсказуемые сети, такие как общедоступный Интернет. Используйте Play Pro и убедитесь в надежности и отказоустойчивости SRT на своем мобильном устройстве, где бы вы ни находились!

Технический обзор протокола SRT

Для более глубокого изучения вариантов настройки SRT соединений загрузите Технический обзор протокола SRT.

Поделиться постом