Документация на 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)
    4. Widevine
    5. PallyCon
    6. EzDRM
  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. Транскодирование файлов
    4. Мультибитрейтный VOD из файлов
  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. Группы каналов
    6. Реклама

Настройки потока или группы

Настройки потока или группы Anchor Anchor x2

Эти настройки можно указывать внутри директив stream, ondemand, rewrite и live. Мы называем их опции.

auth

auth http://backend/; Включение авторизации для потока. Более подробно в разделе про авторизацию.

domains

domains host1.ru *.host1.ru; Указание доменов, на которых можно проигрывать это видео. Не работает для клиентов, которые не передают Referer. Для правильной работы в WEB в списке доменов должен присутствовать домен, с которого загружается embed плеер.

allowed_countries

allowed_countries RU UA KZ; Cписок стран (двухбуквенные коды как в БД maxmind) с которых разрешен доступ.

url

url tshttp://transcoder:port/; Адрес источника. Можно перечислить несколько директив url для выбора источника по кругу.

Важно! Если используется UDP-источник, то в файле конфигурации этот UDP-адрес должен использоваться только один раз. Если несколько потоков будут использовать один и тот же адрес, то, скорее всего, это просто не будет работать.

urls

urls source1 source2; Список адресов источников. Подробнее про механизм переключения источников.

url_prefix

url_prefix prefix При использовании протокола HLS, адреса отдельных сегментов и плейлистов в вариантном плейлисте будут начинаться с указанного префикса. Эта опция может быть использована не только как часть настроек конкретного потока, но и в глобальной части файла конфигурации. Прописанная глобально опция применяется ко всем потокам на этом сервере. Пример: url_prefix http://my.domain.address.com:8080

dvr

dvr /storage 1d 50% schedule=8:00-16:00;

dvr @my_raid 1d 50% schedule=8:00-16:00;

Включение архива. Flussonic Media Server будет писать в каталог /storage/streamname или дисковый массив @my_raid. Очищать архив он будет либо через день, либо когда диск, на который пишут, заполнится на 50%. Вместо дней можно указывать часы: 20h. Параметр schedule позволяет задать расписание для записи архива в виде интервалов. Время указывается в UTC в часах и опционально минутах, интервал может перехлёстываться через полночь: 22-1:30. Расписание может содержать несколько интервалов, разделенных запятой: 8:00-16:00,22-1:30.

dvr_offline

dvr_offline /storage 1d 50%; При указании этой опции, поток не будет включать запись на старте. Её надо будет включать явно через API. Эта опция указывается вместо опции `dvr`.

udp

udp 239.0.0.1:4501 multicast_loop;

udp 239.0.0.1:4501;
Flussonic Media Server будет посылать поток по UDP MPEG-TS. Чтобы задать UDP сокету параметр MULTICAST_TTL, используйте следующий синтаксис: udp 239.0.0.1:4501?ttl=8;. Чтобы задать постоянный битрейт (CBR), используйте следующий синтаксис: udp 239.0.0.1:4501?cbr=2000;, где 2000 — битрейт в kbit/sec.

thumbnails

thumbnails; Включается генерация превьюшек потока. Требуется установить пакет flussonic-ffmpeg.

retry_limit

retry_limit 10; Количество раз, которое Flussonic Media Server будет пытаться подключиться к источникам, прежде чем отключить не статический поток.

clients_timeout

clients_timeout 10; Количество секунд которое Flussonic Media Server будет держать нестатический стрим после последнего обращения клиента.

source_timeout

source_timeout 10; Количество секунд, которое Flussonic Media Server будет ожидать кадры от источника. По прошествии этого времени Flussonic Media Server переподключится к источнику. По умолчанию значение source_timeout равно 60 секундам.

frames_timeout

frames_timeout 3; Время в секундах, в течение которого Flussonic Media Server ожидает кадры от источника прежде чем генерировать событие frames_timed_out. Это время должно быть меньше, чем source_timeout. Событие frames_timed_out уведомляет вас о том, что источник, возможно, скоро отключится. Если от источника снова начали поступать кадры, до наступления source_timeout, Flussonic генерирует событие frames_restored.

password

password secret; Пароль, который должен передаваться в query string (http или rtmp) для публикации в поток или в группу.

push

push rtmp://destination-server/name; При указании этой опции Flussonic Media Server будет публиковать поток на другой сервер.

backup

backup vod/blank.mp4; Указание этой опции в потоке будет запускать указанный файл vod/blank.mp4 пока нет видео от источника.

url publish://

url publish://; Указание этой опции в потоке позволяет публиковать в него видео. Не используется для группы потоков.

on_publish

on_publish http://host/publish.php;

on_publish /etc/flussonic/publish.lua;
При публикации в этот поток или группу потоков будет вызывать скрипт или делаться HTTP запрос с параметрами в виде названия потока, IP адреса публикующего и т.п. В ответ можно либо отказать в публикации, либо разрешить:
— HTTP бэкенд должен вернуть либо 200 OK, либо 403 Forbidden;
— .lua скрипт должен вернуть либо {true, {}}, либо {false, {}}.

max_sessions

max_sessions 1000; Лимит по количеству сессий на поток.

settings_rtp

rtp udp; Включает принудительное использование UDP для работы с RTSP камерами.

add_audio_only

add_audio_only; Добавляет в HLS плейлист ссылку на поток только с аудио. Требуется для прохождения валидации приложения в Apple.

no_prepush

no_prepush; Отключается [prepush](#prepush), т.е. более быстрый старт. Может быть нужно для сохранения риалтайма в потоке.

prepush

prepush 10; Включает буфер заданной продолжительности. Если соединение клиента с сервером прерывается или замедляется, то он проигрывает видео из буфера, что позволяет плееру стартовать быстрее, но с отставанием.

max_bitrate

max_bitrate 1000; Лимит битрейта публикуемого потока.

logo

В версии 4.6.15 и выше.

logo path=flu/embed-logo.png height=100 width=100 left=0 top=0; Добавить логотип при воспроизведении потока. Такой логотип не будет отображаться на мобильных устройствах и в DVR плеере. Чтобы добавить логотип к видео используйте транскодер.
path (Обязательный параметр) — путь относительно директории wwwroot.
height, width — размер изображения логотипа в пикселях. Если задан только один из этих параметров, то второй будет изменен пропорционально. Не указывайте эти параметры, чтобы оторазить логотип в исходном размере.
left, top, right, bottom — положение логотипа заданное в виде смещения в пикселях от левого, верхнего, правого и нижнего края видео. Например, чтобы отобразить логотип в правом нижнем углу: `right=0, bottom=0`. Не используйте одновременно параметры left, top, right и bottom.

mpegts_pids

mpegts_pids pmt=4095 sdt=0x12 v1=211 v2=212 a0=220 t0=16#fb; С помощью этого параметра задаются значения PID исходящему MPEG-TS потоку. Можно задать PID для PMT, SDT, дорожек с видео, аудио и субтитрами. Дорожки нумеруются начиная с 1: `a1=123` установит PID для первой аудио дорожки. Можно задать базовый PID для дорожек определённого типа с помощью индекса 0. Например, `t0=100` установит первой дорожке субтитров PID равный 101, второй - 102 и т.д. Числа могут быть заданы в десятичном виде (по умолчанию) или префиксом `0x` для шестнадцетиричных чисел.

segments

segments 5; Регулирует количество сегментов в HLS и HDS плейлистах.

segment_duration

segment_duration 4; Регулирует длительность сегмента в HLS и HDS потоках (в секундах). Не для всех получаемых потоков Flussonic сможет применить указанную длительность сегмента. Всё зависит от длины GOP у потока. Нужно, чтобы сегмент был кратен GOP, потому что GOP нельзя порезать на части. Например, для потока с GOP в 4 секунды допустима длина сегмента 4 секунды, 8 секунд, 12 секунд и т.д. Если это не так, то Flussonic создаёт сегменты равные GOP.

segment_count

segment_count 4; Количество сегментов для буферизации.

group

group sport; Используется только на сервере-источнике, чтобы отнести поток к одной или нескольким группам ТВ-каналов. Подробнее

disabled

disabled; Отключить поток.