Перейти к содержимому

Задержка при приёме SRT

Задержка (latency) — это параметр SRT, который определяет максимальное время ожидания приёмником повторной передачи потерянных пакетов. Большая задержка повышает надёжность в нестабильных сетях, но увеличивает отставание потока.

Рекомендуемое значение задержки — это 4-кратное значение времени кругового прохода (RTT) между отправителем и приёмником.

Чтобы измерить RTT, используйте команду ping:

ping example.com

Пример вывода:

64 bytes from example.com: icmp_seq=1 ttl=52 time=58.5 ms
64 bytes from example.com: icmp_seq=2 ttl=52 time=57.8 ms
64 bytes from example.com: icmp_seq=3 ttl=52 time=59.1 ms

В этом примере средний RTT составляет примерно 58 мс. Оптимальное округлённое значение задержки будет:

Latency = RTT * 4 = 58 * 4 = 240

Для сетей с переменным RTT используйте для расчёта максимальное наблюдаемое значение. Например, если RTT колеблется между 25 мс и 50 мс, рассчитывайте задержку, исходя из 50 мс.

В Astra задайте параметр задержки в опциях входа SRT:

srt://example.com:port#latency=240

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

RCV-DROPPED 1 packet(s). Packet seqno %579915997 delayed for 0.556 ms

Это сообщение означает, что пакеты были отброшены, потому что пришли слишком поздно для доставки. Чтобы устранить проблему, увеличьте значение задержки.