Публикация по RTMP во Flussonic¶
Flussonic поддерживает прием публикации видео по протоколу RTMP. Публикация потоков по протоколу RTMP широко применяется при вещании живого видео через Интернет, поскольку RTMP гарантирует доставку контента, позволяя при этом получить низкую задержку. Подробнее об RTMP см. на странице Использование протокола RTMP.
Настройка публикации в Flussonic осуществляется стандартным образом, как описано в разделе Публикация видео на сервер. Пример настройки см. на странице Публикация из OBS Studio в Flussonic Media Server.
Ниже приведены URL, которые можно использовать для публикации из стороннего ПО во Flussonic. Подробнее об особенностях формирования URL при использовании протокола RTMP читайте здесь.
Note
Для публикации по RTMP или RTMPS необходимо задать порты.
Порядок настройки¶
Чтобы настроить публикацию во Flussonic Media Server по протоколу RTMP:
- Создайте поток с источником
input publish://
, как описано здесь. - Настройте порт для RTMP.
- Начните публиковать поток во Flussonic, например как описано здесь.
Публикация в статический поток¶
Для публикации по RTMP в статический поток можно использовать такие URL:
-
rtmp://FLUSSONIC-IP/stream_name
. В этом случае имя приложения должно быть указано как часть имени потока во Flussonic. Например, можете указать название потока в Flussonicclient15/published1
, а в стороннем приложении:- server URL:
rtmp://FLUSSONIC-IP/client15
- stream name:
published1
- server URL:
-
rtmp://FLUSSONIC-IP/static/stream_name
. В этом случае в стороннем приложении можете указать имя приложенияstatic
, а Flussonic распознает это зарезервированное слово как имя приложения и отбросит его.:- server URL:
rtmp://FLUSSONIC-IP/static
- stream name:
published
Note
Если вы явно настроите во Flussonic поток с составным именем
static/stream_name
,static
будет считаться частью имени потока. - server URL:
Публикация в динамический поток¶
При публикации по RTMP в динамический поток используется следующая логика:
- Сервер склеивает имя приложения с путем публикации. Так пары
rtmp://FLUSSONIC-IP/template/my
,chat-15
иrtmp://FLUSSONIC-IP/template
,my/chat-15
превратятся в имя публикуемого потокаtemplate/my/chat-15
. - Ищется первый префикс публикации, который подходит под это имя. Например, для приведенных выше URL может быть выбран префикс публикации с именем
template
. - Дальше во всех интерфейсах авторизации и т.п. имя потока будет полное:
template/my/chat-15
.
Имейте в виду, что при публикации по RTMP по динамическому имени нельзя использовать шаблон с зарезервированным названием static
. Если вы используете в URL сегмент static
, этот сегмент будет считаться именем приложения и будет отбрасываться при создании потока во Flussonic. Например:
rtmp://FLUSSONIC-IP/static/test
В этом случае во Flussonic создастся поток test
. Если вы не хотите, чтобы часть static
отбрасывалась, вместо использования шаблона явно настройте поток для публикации со статическим именем static/test
.
Транскодирование звука¶
Если публикуемый RTMP поток содержит аудио в PCMU, то вы можете транскодировать его в AAC либо указать, что аудио транскодировать не следует:
output_audio=(keep|add_aac|aac)
. Опция указывает, как транскодировать аудио. Можно получить результирующее аудио только в AAC (aac
), в AAC+PCMU (add_aac
) или оставить исходный кодек (keep
). По умолчанию используетсяkeep
.
template chats {
prefix chats;
input publish://;
output_audio aac;
}