Документация на Flussonic Media Server

  1. Быстрый старт
  2. How-to
  3. Потоковое вещание
    1. Публикация
    2. Прием мультикаста
    3. Варианты источников
    4. Переключение источников
    5. Плейлисты
    6. Наложение логотипа
    7. Миксер
    8. WebRTC публикация
    9. SDI
    10. Отправка на другие сервера
    11. Распознавание DVB субтитров
  4. Транскодер
    1. Логотип
    2. Hardware
    3. Скриншоты
    4. Мозаика
  5. DRM
    1. Simple CAS
    2. Conax DRM
    3. BuyDRM (KeyOS)
  6. Авторизация
    1. Конструктор бэкендов
    2. Сервис сбора статистики
    3. Domain lock
    4. Middleware
    5. Secure links
    6. Ограничение сессий
    7. Мультиавторизация
    8. Бан IP адресов
    9. DVR
    10. Aliaser
  7. API
    1. HTTP API
    2. Events API
    3. MySQL API
    4. SQL API для кластеров
    5. SNMP
  8. Кластер
    1. Ретрансляция
    2. Кластерный захват
    3. Балансировщик нагрузки
    4. Пиринг
    5. Организация CDN
  9. VOD
    1. Кэш
    2. Облако
    3. Транскодирование файлов
  10. DVR
    1. Настройка
    2. Timeshift
    3. Catchup
    4. Проигрывание
    5. Экспорт в MP4
    6. Доступ по протоколам
    7. Timelapse
    8. API
    9. Кластеризация DVR
    10. Репликация
    11. Облако
  11. Воспроизведение
    1. HLS
    2. embed.html
    3. HTML5 с низкой задержкой
    4. Плеер HTML5 с низкой задержкой
    5. MPEG-TS
    6. RTMP
    7. DASH
    8. HDS
    9. RTSP
    10. multicast, CBR UDP
    11. WebRTC проигрывание
    12. H.265
  12. Администрирование
    1. Установка
    2. Обновление
    3. Конфигурация
    4. Мониторинг
    5. Производительность
    6. Лицензия
    7. LUA скрипты
    8. Безопасность
    9. Let's Encrypt
    10. Миграция
  13. IPTV
    1. Захват спутникового видео
    2. Транскодирование
    3. Middleware в IPTV OTT
    4. Экспорт EPG со спутника
    5. Группы каналов

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

Здесь мы расскажем о том, как настроить публикацию видео на сервер Flussonic и чем эти настройки отличались в предыдущих версиях Flussonic Media Server.

Об URL для доступа к публикуемому потоку по разным протоколам см. в разделе о публикации.

Начиная с версии 19.01, используется новый параметр для настройки публикации видео в статический поток. Новый параметр url publish:// автоматически заменяет старый publish_enabled при первом сохранении конфигурации.

Важно! Рекомендуем сделать резервную копию конфигурационного файла Flussonic перед внесением в него изменений в новой версии 19.01. Обновленный файл конфигурации станет несовместим с предыдущими версиями Flussonic.

Как включить публикацию в версии 19.01 и выше:

stream published {
    url publish://;
}

Включение публикации в версиях младше 19.01 — не используйте такой конфиг в новых версиях:

# такая запись больше не используется
stream published {
    publish_enabled;
}

Параметр 'url publish://' предлагает больше возможностей для управления публикуемым потоком. Он позволяет:

Переключение источников, timeout Anchor Anchor x2

В предыдущих версиях можно было лишь включать и выключать источник публикации.

Теперь правила переключения источников в соответствии с их приоритетом и состоянием (работает поток или нет) распространяются и на публикуемые источники. Поэтому можно добавить в поток с публикуемым источником другие, альтернативные, источники и переключаться на них по timeout.

Если источник публикации недоступен, по умолчанию Flussonic сразу переключается на следующий источник. Но можно и указывать свой timeout.

Пример с несколькими источниками и timeout источников:

stream published {
    source_timeout 3;
    url publish://;
    url file://vod/stub.mp4;
}

Timeout можно указать и для каждого источника:

stream published {
    url publish:// source_timeout 3;
    url file://vod/stub.mp4 source_timeout 2;
}

Запрещение публикации и событие publish_forbidden Anchor Anchor x2

Когда источник url publish:// ниже приоритетом, чем остальные указанные источники потока, то это может значить, что публикация фактически не произойдет. Вы можете запрещать публикацию и вновь разрешать ее, изменив приоритет источников. Это можно сделать и во время трансляции.

Если публикация невозможна, Flussonic генерирует событие publish_forbidden. Например, это событие возникнет при следующей конфигурации, если файл stub.mp4 существует и успешно проигрывается:

stream published {
    source_timeout 3;
    url file://vod/stub.mp4;
    url publish://;
    ...
}

Чтобы разрешить публикацию, поместите источник публикации перед файлом.

Транскодирование публикации Anchor Anchor x2

Укажите директиву transcoder в настройках потока для перекодирования входного потока. Flussonic понимает такую запись для RTMP потоков. Для WebRTC директива transcoder будет работать в будущих версиях, однако сейчас можно использовать специфичные для WebRTC опции транскодирования (ниже на этой странице).

stream published {
    source_timeout 3;
    url publish://;
    url file://vod/stub.mp4;
    transcoder vb=2048k size=1280x720 preset=fast ab=128k;
}

Поддержка WebRTC потоков Anchor Anchor x2

Для источников WebRTC предусмотрены специфичные опции транскодирования, которые вы можете использовать вместе с 'url publish: //'.

Синтаксис настройки транскодирования для WebRTC потоков:

url publish:// [output_audio=(aac|aac_opus|opus)] [prefer_codec=(h264|vp8|vp9)]

  • output_audio=(aac|aac_opus|opus). Указывает, как транскодировать аудио. Можо получить результирующий поток в AAC, AAC+Opus или Opus. По умолчанию используется aac_opus — входные потоки, которые обычно имеют аудио в Opus, на выходе получают также дорожку в AAC.

  • prefer_codec=(h264|vp8|vp9). Позволяет на старте публикации предложить один из перечисленных видеокодеков. По умолчанию используется кодек H264. Видео в VP8 и VP9 проходит без транскодирования, его поддержка будет реализована в будущем.

Пример:

stream published {
    url publish:// output_audio=aac;
}