Skip to content

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

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

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

Порт для отправки потоков по SRT может быть определён как для конкретного потока, так и глобально. Глобальный порт определяется вне настроек потока, а порт для конкретного потока — внутри настроек этого потока.

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

Отправка с Flussonic

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

  • srt://SRT-HOST:SRT_PORT streamid="SOME_RANDOM_STRING"

, где:

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

  • SRT_PORT — порт SRT.

  • "SOME_RANDOM_STRING" — строка свободного формата. При отправке потока на другой сервер Flussonic не предъявляет жёстких требований к формату streamid . Таким образом, Вы можете указать streamid в виде, удобном для стороннего сервера.

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

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

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

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

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

Ниже приведена таблица с параметрами URL для управления отправкой потока по 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 {
  url fake://fake;
  push srt://example.com:9998 passphrase=1234567890 streamid="#!::r=some_random_name"; 
}