Skip to content

Захват потока по SRT

Sapsan принимает SRT-поток, слушая выделенный UDP-порт (режим listener). Для каждого потока задается свой порт.

Настройка

streams:
  event:
    inputs:
    - srt:
        host: 0.0.0.0
        port: 9000
        passphrase: verysecretpass
Параметр Описание
host, port адрес и UDP-порт, на котором ждем SRT-подключение
passphrase ключ шифрования (AES); при несовпадении ключа подключение отклоняется
stream_id ожидаемый streamid клиента; Flussonic-формат #!::r=<имя> передается как есть
handshake_timeout_ms, peer_timeout_ms таймауты рукопожатия и неактивности

Отправить поток в Sapsan можно, например, так:

ffmpeg -re -i input.mp4 -c copy -f mpegts \
  "srt://server:9000?passphrase=verysecretpass"

Надежность доставки

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

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

Смена адреса, порта, passphrase или stream_id перезапускает источник; смена только таймаутов применяется на лету.

Счетчики

По каждому соединению: принятые пакеты и байты, RTT и его вариация, потерянные и перепосланные пакеты в обе стороны, размеры буферов, таймауты keepalive. Смотрите через Admin API.

Что дальше