Skip to content

Приём по SRT и RIST

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

SRT

На вкладке Источники нажмите + Добавить источник и выберите протокол SRT. Станция ждёт подключение на выделенном UDP-порту, отправитель подключается к нему.

Поле Что задаёт
Хост, Порт адрес и UDP-порт, на котором ждём подключение
Passphrase ключ шифрования AES; при несовпадении подключение отклоняется на рукопожатии
Stream ID ожидаемый идентификатор отправителя
Латентность приёма (мс) бюджет на восстановление потерь (см. ниже); по умолчанию 120
Таймаут рукопожатия (мс), Таймаут пира (мс) таймауты установления связи и неактивности

Вставленный целиком srt://-адрес раскладывается по полям, а собранный обратно SRT URL показан рядом — его копируют и отдают отправителю.

Латентность — это бюджет, а не задержка ради задержки

Латентность приёма задаёт, сколько пакет ждёт в приёмном буфере до выдачи. Потерянный пакет успеет приехать повторно только если запрос перепосылки и ответ уложатся в это окно — отсюда практическое правило, записанное прямо в подсказке поля: не меньше трёх-четырёх RTT до источника.

На канале с RTT 100 мс стандартные 120 мс не дают ни одной попытки восстановления: потеря становится дырой в сигнале. Плата за увеличение честная и предсказуемая — ровно такая же задержка на выходе и память под приёмный буфер.

Значение подбирается по измеренному RTT, а не по ощущениям: RTT и его вариация есть в счётчиках соединения.

Что делает транспорт

Реализован полный механизм ARQ: подтверждения (ACK/ACKACK), запросы перепосылки (NAK) с периодом, подстроенным под измеренный RTT, выдача пакетов по порядку из буфера задержки, отбрасывание безнадёжно опоздавших (too-late drop), keepalive для простаивающих соединений.

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

RIST

Протокол RIST заводится тем же + Добавить источник. Отличий от SRT два, и оба видны в форме:

  • Профиль RISTSimple (пара портов), где медиа и RTCP занимают соседние порты (медиапорт обязан быть чётным), либо Main (туннель GRE), где на проводе один Порт туннеля. У туннеля выбирается Роль в туннеле — стучаться самим или ждать — и Пароль PSK, шифрующий содержимое; он должен совпадать на обеих сторонах.
  • Приёмный буфер (мс) — тот же по смыслу бюджет восстановления, что и латентность у SRT; по умолчанию 1000. Рядом — Секция переупорядочивания (мс), Число попыток и Интерфейс мультикаста для приёма группы.

Применение изменений

Смена адреса, порта, ключа или идентификатора перезапускает источник. Смена одних лишь таймаутов применяется на лету.

Что дальше