Воспроизведение SRT¶
Flussonic поддерживает проигрывание SRT-потоков. Подробнее об SRT см. на странице Использование протокола SRT.
Настройка SRT-порта обычно производится для одного потока, т. е. один SRT-поток на один порт. Кроме того, Flussonic предоставляет Вам способ настроить один глобальный SRT-порт для нескольких потоков. Например, если Вы используете протокол SRT для ретрансляции. От способа задания порта зависит вид URL для проигрывания, подробнее читайте здесь.
Один SRT-поток на один порт¶
Чтобы настроить SRT-порт для проигрывания потока, используйте srt_play
в настройках потока:
stream example_stream {
input fake://fake;
srt_play {
port 9998;
}
}
Формат ссылки для проигрывания потока выглядит следующим образом:
srt://FLUSSONIC-IP:SRT_PORT
, где:
FLUSSONIC-IP
— IP-адрес сервера Flussonic.SRT_PORT
— порт для проигрывания.
Следовательно, применительно к нашему примеру ссылка будет следующая: srt://localhost:9998
. Таким образом, с помощью настройки srt_play
вы разрешаете проигрывать
SRT-поток по указанному порту.
Вы также можете определить SRT-порт для конкретного потока и для публикации (подробнее о публикации SRT-потоков во Flussonic, см. Публикация по SRT). Чтобы настроить один порт одновременно для публикации и проигрывания потока, используйте опцию srt PORT_NUMBER
:
stream example_stream {
input publish://;
srt 9998;
}
В примере выше мы можем публиковать SRT-поток example_stream
по порту 9998
и проиграть его по этому же самому порту, используя URL следующего формата:
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::m=request
, где:
streamid
— строка, сформированная как описано здесь.
m=request
— режим для проигрывания.streamid
используется для того, чтобы указать режимm=
для проигрывания потокаexample_stream
, поскольку иначе неочевидно будем мы публиковать поток или проигрывать его.
Таким образом, URL для проигрывания потока example_stream
будет выглядеть так: srt://localhost:9998?streamid=#!::m=request
.
Flussonic позволяет не только использовать один SRT-порт для одного потока, разрешая проигрывание для этого потока, но и настроить один порт для проигрывания нескольких потоков.
Один SRT-порт для проигрывания нескольких потоков¶
Для того, чтобы настроить SRT-порт для проигрывания нескольких потоков, используйте srt_play
в качестве глобальной настройки:
srt_play {
port 9998;
}
stream example_stream {
input fake://fake;
}
Чтобы проиграть example_stream
по SRT-порту 9998
, используйте URL следующего вида:
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME
, где:
streamid
— строка, сформированная как описано здесь.r=STREAM_NAME
— имя потока.
Следовательно, для примера выше ссылка выглядит так: srt://localhost:9998?streamid=#!::r=example_stream
.
Рассмотрим еще один пример. Допустим, вам необходимо публиковать SRT-поток во Flussonic по отдельному определённому для публикации порту, а затем проигрывать этот поток наряду с несколькими другими. В таком случае конфигурация выглядит следующим образом:
srt_play {
port 9998;
}
stream example_stream {
input fake://fake;
}
stream another_stream {
input publish://;
srt_publish {
port 8888;
}
}
URL для проигрывания another_stream
отличается от URL для example_stream
и имеет следующий вид:
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME,m=request
, где:
m=request
— режим для проигрывания.r=STREAM_NAME
— имя потока.
Тогда URL для проигрывания another_stream
выглядит так: srt://localhost:9998?streamid=#!::r=another_stream,m=request
.
Для вашего удобства мы собрали всё в одну таблицу:
URL для проигрывания | Конфигурация | Описание | Пример URL |
---|---|---|---|
srt://FLUSSONIC-IP:SRT_PORT |
stream example_stream { input fake://fake; srt_play { port 9988; } } |
Разрешает проигрывать только один поток для одного порта. Поддерживается большинством плееров. |
srt://localhost:9988 |
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::m=request |
" _wzxhzdk:21_=" " input="input" publish:_wzxhzdk:22_="publish://; " srt="srt">stream example_stream |
Разрешает публиковать и проигрывать поток по одному и тому же порту. | srt://localhost:8888?streamid=#!::m=request |
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME |
srt_play { port 9999; } stream example_stream { input fake://fake; } |
Разрешает проигрывать несколько потоков по одному SRT-порту. | srt://localhost:9999?streamid=#!::r=example_stream |
srt://FLUSSONIC-IP:SRT_PORT?streamid=#!::r=STREAM_NAME,m=request |
srt_play { port 9988; } stream example_stream { input fake://fake; } stream another_stream { input publish://; srt_publish { port 8888; } } |
Разрешает проигрывать поток по глобально определённому порту при условии, что в настройках этого потока определён также и порт для публикации. | srt://localhost:9988?streamid=#!::r=another_stream,m=request |
Параметры для управления проигрыванием потоков по SRT¶
Flussonic также даёт возможность управлять проигрыванием потока с помощью параметров.
Пример с passphrase
:
stream example_stream {
input fake://fake;
srt_play {
passphrase 0987654321;
port 9998;
}
}
URL будет иметь следующий вид:
srt://FLUSSONIC-IP:9998?passphrase=0987654321&streamid=#!::m=request