Прием SRT

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

::alert Доступно для версий Astra, выпущенных после 2021-12-21 гг. ::

Формат адреса

Прием SRT может осуществляться в двух режимах:

  • Caller mode - Astra посылает запрос на сервер SRT и получает в ответ содержимое. Это наиболее распространенный вариант
  • Listener mode - Astra ожидает, когда SRT-сервер установит соединение и получит содержимое запроса. Это режим "точка-точка".

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

Caller mode

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

Пример:

  • src://example.com:3001 - отправить запрос на сайт example.com

Listener mode

В режиме слушателя формат адреса аналогичен формату адреса 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). Читать далее в официальной документации
  • passphrase=S - пароль для шифрованной передачи. Длина пароля должна быть в диапазоне 10 ... 79 символов
  • pbkeylen=N - длина криптографического ключа в байтах. Возможные значения: 16, 24, 32. Значение по умолчанию: 0
  • streamid=ID - идентификатор потока, предоставляемый SRT-серверу в режиме вызывающего абонента
  • no_tsbpdmode - отключение режима доставки пакетов на основе временных меток
  • oheadbw - ограничивает накладные расходы на пропускную способность, в процентах. Возможные значения в диапазоне: 5 - 100. Значение по умолчанию: 25

Веб-интерфейс

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

Чтобы добавить новый SRT-вход в Astra, пользователи могут перейти в раздел New Stream вкладку или настройки существующего потока и выберите Input Type в качестве опции либо SRT

Слушатель SRT

  • Input type - этот параметр является первой опцией на вкладке настроек SRT и используется для выбора типа входа. Для настройки приема SRT выберите SRT из выпадающего списка. Это позволяет включить опции конфигурации, специфичные для SRT, и ввести необходимую информацию для получения SRT-потока
  • SRT mode - этот параметр определяет, будет ли Astra выступать в роли вызывающего или слушающего абонента при установлении SRT-соединения. Для получения SRT-потока выберите Listener из выпадающего списка. Это указывает Astra на необходимость ожидания входящих соединений от отправителя SRT-потока
  • Local interface - этот параметр задает сетевой интерфейс, который Astra будет использовать для приема потока SRT. По умолчанию используется значение Any interface, что означает, что Astra будет прослушивать входящие SRT-соединения в соответствии с системными правилами маршрутизации. Если вы хотите ограничить Astra определенным интерфейсом, выберите его из выпадающего списка
  • Port - этот необязательный параметр задает сетевой порт, который Astra будет использовать для приема потока SRT
  • Timeout - этот необязательный параметр задает время (в миллисекундах), в течение которого Astra будет ожидать входящих данных из потока SRT, прежде чем прервется работа. По умолчанию это значение равно 5000 миллисекунд (5 секунд), но при необходимости его можно увеличить или уменьшить
  • Latency - этот необязательный параметр вносит в поток SRT заданную величину задержки (в миллисекундах). Значение по умолчанию равно 120 мс. Увеличение задержки может улучшить стабильность, но увеличивает задержку, а уменьшение - уменьшить задержку, но может сделать соединение менее стабильным
  • Passphrase - этот необязательный параметр задает парольную фразу для безопасного обмена данными по потоку SRT. По умолчанию используется пустое значение. Если парольная фраза задана, то отправитель и получатель должны использовать одну и ту же парольную фразу для установления соединения
  • Crypto key length - этот параметр задает длину криптографического ключа, используемого для защиты SRT-потока. По умолчанию используется значение 128 бит, что достаточно для работы SRT-приема. Однако при необходимости можно увеличить или уменьшить длину ключа для усиления или ослабления защиты.
  • Timestamp - режим доставки пакетов на основе временных меток - этот параметр включает или выключает режим доставки пакетов SRT на основе временных меток. Если параметр включен (отмечен), SRT использует временные метки для обеспечения доставки пакетов в правильном порядке, даже если они приходят не по порядку. Это может улучшить качество потока, но может увеличить задержку. По умолчанию этот параметр выключен.