Skip to content

Отправка потока по SRT

Flussonic поддерживает отправку потока по протоколу SRT.

Flussonic выполняет функцию SRT Caller, когда сам является источником потока и отправляет поток на другой сервер.

Давайте посмотрим каким образом можно настроить передачу потока по SRT.

Отправка с Flussonic

Чтобы настроить отправку потока по протоколу SRT из Flussonic Media Server на сторонний сервер, необходимо указать URL и streamid в одном из следующих форматов:

  • Параметры SRT в параметрах URL:

srt://SRT-HOST:SRT_PORT streamid="#!::r=STREAM_NAME,m=publish"

  • Параметры SRT в URL query string:

srt://SRT-HOST:SRT_PORT?streamid=#!::r=STREAM_NAME,m=publish

, где:

  • SRT-HOST — IP-адрес целевого сервера.

  • SRT_PORT — порт SRT.

  • "STREAM_NAME" — имя локации, в которую Flussonic будет отправлять SRT-поток.

Рассмотрим пример:

stream push_srt {
  input fake://fake;
  push srt://example.com:9998 streamid="#!::r=my-stream-id";
}

В примере выше мы определили глобальный порт 9998 и настроили отправку потока на сторонний сервер example.com.

Вы также можете указать параметры для управления передачей потока по SRT.

Параметры для управления отправкой потока по SRT

Ниже приведена таблица с параметрами для управления отправкой потока по SRT:

Параметры Тип данных Описание Пример
streamid строка Строка, задаваемая в сокете перед подключением. Максимальная длина составляет 512 символов. Значение по умолчанию — пустая строка (""). streamid="SOME_RANDOM_STRING"
minversion 0xXXYYZZ или x.y.z Минимальна версия SRT, требуемая от пира. По умолчанию значение равно (0x010000) или 1.0.0.. minversion=1.1.0.
version 0xXXYYZZ или x.y.z Необходимая для установления соединения версия SRT. По умолчанию значение равно (0x010000) или 1.0.0. . version=1.3.0.
enforcedencryption булево значение Если значение равно true, то отправитель и получатель должны иметь один и тот же пароль (включая пустую строку (""), иными словами, без защиты). Если пароли не совпадают или только одна из сторон использует защиту, то соединение разрывается. По умолчанию значение параметра равно true . enforcedencryption=false
passphrase строка Пароль для защиты передачи данных. Длина пароля должна быть не менее 10 и не более 79 символов. Значение по умолчанию — пустая строка (""). passphrase=9876543210
timeout секунды Если равно -1 , то время отправки данных не ограничено. Поведение по умолчанию. timeout=-1
linger секунды Время ожидания получения данных сокетом. По умолчанию равно 180 (подставляется автоматически в зависимости от вида передачи данных). linger=1
connect_timeout секунды Время ожидания подключения. По умолчанию значение равно 0. connect_timeout=2
latency миллисекунды Время ожидания, необходимое на доставку пакета данных от отправителя к получателю. По умолчанию равно 120. latency=100

Примеры:

stream srt_push {
  input fake://fake;
  push srt://example.com:9998?streamid=#!::r=some_random_name&passphrase=1234567890;
}