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

Приём по SRT

Протокол Secure Reliable Transport (SRT) — это открытый протокол видеотрансляции, разработанный для обеспечения низкой задержки и высокого качества видеопотока в ненадёжных сетях. SRT использует сквозное шифрование и предоставляет набор функций для повышения надёжности и безопасности, включая коррекцию ошибок, управление перегрузкой сети и повторную передачу потерянных пакетов. SRT часто используется для трансляции живого видео, например спортивных и новостных программ, где критично поддерживать стабильное и качественное соединение.

Приём по SRT возможен в двух режимах:

  • Caller mode — Astra отправляет запрос на SRT‑сервер и получает контент в ответ. Это самый распространённый вариант
  • Listener mode — Astra ожидает установления соединения от SRT‑сервера и получает контент в запросе. Это режим «точка‑точка»

Формат адреса зависит от выбранного режима.

srt://address:port[#options]
  • address — IPv4‑адрес или имя хоста удалённого сервера
  • port — удалённый порт

Пример:

  • srt://example.com:3001 — отправить запрос на example.com

В режиме listener формат адреса похож на UDP‑адрес, с добавлением символа @ для указания имени локального интерфейса.

srt://[interface]@:port[#options]
  • interface — имя локального интерфейса, на котором ожидается соединение. По умолчанию Astra ждёт соединение на всех интерфейсах
  • port — локальный порт для приёма входящих соединений
  • options — дополнительные параметры протокола SRT

Примеры:

  • srt://@:3001 — ожидать соединение на любом интерфейсе
  • srt://eth0@:3001 — ожидать соединение на интерфейсе eth0
  • timeout=N — перезапускает приёмник, если данные не поступают в течение заданного интервала в секундах. По умолчанию: 5 секунд
  • latency=N — максимально допустимая задержка передачи в миллисекундах. По умолчанию: 120 миллисекунд
  • packetfilter=S — добавляет дополнительные инструкции обработки в начале и/или в конце передачи для реализации прямой коррекции ошибок (FEC). Подробнее{target=“_blank”} в официальной документации
  • passphrase=S – пароль для шифрованной передачи. Длина: 10–79 символов
  • pbkeylen=N – длина криптографического ключа в байтах. Значения: 16, 24, 32. По умолчанию: 0
  • streamid=ID – идентификатор потока, передаваемый SRT‑серверу в режиме caller
  • no_tsbpdmode – отключает режим доставки пакетов на основе временных меток
  • oheadbw — ограничивает накладные расходы по полосе пропускания в процентах. Диапазон: 5–100. По умолчанию: 25

Для настройки приёма по SRT откройте New Stream или настройки существующего потока и установите Input Type в значение SRT.

SRT Listener

  • Input type: Выберите SRT, чтобы включить параметры конфигурации SRT.
  • SRT mode: Определяет, будет ли Astra работать как Caller или Listener. Выберите Listener, чтобы ожидать входящие соединения.
  • Local interface: Сетевой интерфейс для приёма потока. По умолчанию — Any interface.
  • Port: Сетевой порт для приёма потока.
  • Timeout: Время ожидания входящих данных в миллисекундах до срабатывания тайм‑аута. По умолчанию: 5000 мс (5 секунд).
  • Latency: Задержка в миллисекундах для повышения стабильности. По умолчанию: 120 мс. Более высокая задержка увеличивает стабильность, но добавляет задержку. Подробности см. в разделе Latency for SRT Receiving.
  • Passphrase: Пароль для защищённого соединения. Должен совпадать с паролем отправителя.
  • Crypto key length: Длина криптографического ключа (16, 24 или 32 байта). По умолчанию: 16 байт (128 бит).
  • Timestamp-based packet delivery mode: При включении использует временные метки для обеспечения правильного порядка пакетов. По умолчанию: выключено.