Skip to content

Публикация по 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:

  1. Создайте поток с источником input publish://, как описано здесь.
  2. Настройте порт для RTMP.
  3. Начните публиковать поток во Flussonic, например как описано здесь.

Публикация в статический поток

Для публикации по RTMP в статический поток можно использовать такие URL:

  • rtmp://FLUSSONIC-IP/stream_name. В этом случае имя приложения должно быть указано как часть имени потока во Flussonic. Например, можете указать название потока в Flussonic client15/published1, а в стороннем приложении:

    • server URL: rtmp://FLUSSONIC-IP/client15
    • stream name: published1
  • rtmp://FLUSSONIC-IP/static/stream_name. В этом случае в стороннем приложении можете указать имя приложения static, а Flussonic распознает это зарезервированное слово как имя приложения и отбросит его.:

    • server URL: rtmp://FLUSSONIC-IP/static
    • stream name: published

    Note

    Если вы явно настроите во Flussonic поток с составным именем static/stream_name, static будет считаться частью имени потока.

Публикация в динамический поток

При публикации по RTMP в динамический поток используется следующая логика:

  1. Сервер склеивает имя приложения с путем публикации. Так пары rtmp://FLUSSONIC-IP/template/my, chat-15 и rtmp://FLUSSONIC-IP/template, my/chat-15 превратятся в имя публикуемого потока template/my/chat-15.
  2. Ищется первый префикс публикации, который подходит под это имя. Например, для приведенных выше URL может быть выбран префикс публикации с именем template.
  3. Дальше во всех интерфейсах авторизации и т.п. имя потока будет полное: 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;
}