Короткое определение

Доля пакетов, не дошедших до получателя. Стриминговые протоколы маскируют её ретрансмитом (ARQ), избыточностью (FEC) или деградацией качества (пропущенные кадры).

Packet loss происходит, когда IP-пакет ушёл от отправителя и не дошёл до получателя – дропнут на перегруженном роутере, убит шумным радиоканалом, отвергнут неправильным файрволом. Для TCP и QUIC потери невидимы приложению: транспорт ретранслирует, приложение видит только короткий всплеск задержки. Для UDP-based real-time-протоколов (WebRTC, SRT, RIST) потери видимы, и приложение само решает, что делать.

У стриминговых протоколов три классических ответа. ARQ (automatic repeat request, в SRT и TCP) просит отправителя переслать – стоит один RTT на восстановление. FEC (forward error correction, в WebRTC и RIST) шлёт избыточные parity-пакеты, чтобы приёмник восстановил потерянное без ожидания – стоит дополнительной полосы. И graceful degradation: специально для видео энкодер строит кадры так, чтобы декодер мог дропнуть потерянные и продолжить на пониженном качестве.

Потери редко равномерны. В реальных сетях они bursty – короткая Wi-Fi-коллизия дропает 5 пакетов подряд. SRT и подобные протоколы меряют профиль потерь и выбирают окно ретрансмита под самый длинный ожидаемый burst. До 0.5 % потерь большинство стриминговых протоколов работает нормально. Между 0.5 % и 3 % начинает играть выбор FEC vs ARQ. Выше 3 % нужна реальная инженерия – bonded-транспорт (SRT bonding, multi-path QUIC) или откат на битрейт, помещающийся в оставшуюся ёмкость.

Считаете параметры для своего продукта?

Поможем собрать энкодер-леддер и посчитать стоимость доставки – до старта разработки.