Протокол PS1¶
Протокол PS1 работает по принципу Automatic Repeat reQuest (ARQ). Имеет низкую ресурсоемкость и позволяет передавать потоки с высоким битрейтом.
На передатчике — настраивается в настройках выхода. Для одного стрима доступен только один экземпляр. Требуется прописать в Peer логины для приемников. Задается UDP listen port, должен быть уникальным для каждого стрима.
На приемнике — настраивается в input. Указывается host и port передатчика, также логин и пароль.
Доступно шифрование потоков (Crypto protection), используется AES-128. Для включения шифрования на обеих сторонах ввести Crypt Passphrase — общий ключ.
При работе приемник (клиент) передает передатчику (серверу) свои данные статистики. Это можно посмотреть в разделе Peers, выбрав клиента из списка.
Задержка потока и способность исправлять потери зависят от настроек получателя (клиента):
Round Trip Time — RTT, ms, default 300. Оценочная задержка (ping) в канале. После запуска потока реальный RTT можно увидеть в статистике (PS1 recovery delay).
Client Latency (RTT multiplexor) — множитель к RTT, по умолчанию 10, определяющий задержку потока на буфере отправителя. То есть по умолчанию задержка на буфере 3000 мс.
Со стороны отправителя есть настройка задержки (длины буфера) — Latency (ms). Она должна быть больше заданных у клиентов задержек.
Способность протокола компенсировать потери определяется количеством запросов на повторную передачу и зависит от Client Latency (RTT multiplexor). Большие потери приводят к дополнительному сетевому трафику. Для уменьшения задержки следует более тонко настроить эти параметры.
Для контроля корректности работы протокола см. статистику клиента. Счетчики PS1 recovery — при Not found увеличить буфер отправителя, Duplicates — увеличить RTT.
При переключении входа потока (смене источника) на передатчике может кратковременно вырасти очередь отправки. PS1 отрабатывает это плавно: самые старые пакеты тихо отбрасываются, а нумерация (seqID) и метки времени у приёмников остаются непрерывными — приёмники добирают потери штатным механизмом повторной передачи (retr), без переинициализации соединения. Число отброшенных таким образом пакетов видно в расширенной статистике PS1-выхода.
Так как инициирование соединения происходит со стороны приемника, то для передатчика требуется аутентификация, приемники прописываются в peer. Обязателен логин и пароль. Возможна авторизация по IP сервера, для этого у пира необходимо указать только IP приёмника.