Skip to content

Конфигурирование Flussonic Media Server

Содержание:

Перезапуск сервера Flussonic

Для рестарта сервера выполните команду:

service flussonic restart

Глобальные опции сервера

В глобальных опциях указываются порты для протоколов и общие настройки. Актуальный список глобальных настроек и опций сервера вы можете найти в разделе config Flussonic Media Server API Reference.

Протоколы и порты

Опции сервера (Протоколы и порты) Описание
https 443; Включает приём запросов по протоколу HTTPS на указанном порту. Можно указывать несколько раз.
http 80; Включает приём запросов по протоколу HTTP на указанном порту. Можно указывать несколько раз.
http 127.0.0.1:80; Включает приём запросов по протоколу HTTP на указанном порту и заданном IP-адресе. Можно указывать несколько раз.
rtmp 80; Включает приём запросов по протоколу RTMP на указанном порту.
rtmps 1443; Включает приём запросов по протоколу RTMPS на указанном порту.
rtsp 554; Включает приём запросов по протоколу RTSP на указанном порту.
rtsps 1554; Включает приём запросов по протоколу RTSPS на указанном порту.

Замечания

При конфигурации протоколов HTTPS, RTMPS, и RTSPS Flussonic Media Server ожидает наличие сертификатов в каталоге /etc/flussonic.

Для того, чтобы протокол RTMPS заработал, необходимо наличие валидного сертификата, который работает без каких-либо предупреждений или ошибок.

Flussonic Media Server ожидает приватный ключ сервера в файле /etc/flussonic/streamer.key с паролем flussonic. Сертификат сервера будет читаться из файла /etc/flussonic/streamer.crt. Промежуточный и CA сертификаты будут браться из /etc/flussonic/streamer-ca.crt.

Например, при получении купленного комплекта из ключа и сертификатов, надо сделать следующие действия:

cat intermediate.crt ca.crt > /etc/flussonic/streamer-ca.crt
cp server.crt /etc/flussonic/streamer.crt
openssl rsa -des3 -in server.key -out /etc/flussonic/streamer.key

Другие опции сервера

Опция сервера Описание
loglevel debug; Меняет объём записываемых в журнал сообщений. Варианты: debug, notice, error.
logrequests true; Включает запись всех HTTP запросов в /var/log/flussonic/access.log.
total_bandwidth 10G; Указывает максимальную ёмкость канала. Необходим для балансировки серверов в кластере.
auth_token TOKEN; Имя параметра в query string, который будет интерпретироваться как авторизационный токен.
max_sessions 1000; Глобальный лимит по количеству сессий.
cluster_key SECRETKEY; Строка, использующаяся для авторизации других серверов Flussonic Media Server входящих в кластер.
view_auth USER PASSWORD; Включается авторизация для readonly доступа к API.
edit_auth USER PASSWORD; Логин-пароль для административного доступа к серверу.
api_allowed_from 10/8 192.168/16; Можно указать с каких адресов или сетей можно разрешать доступ к API.
event_sink HANDLER_NAME {url http://backend/event.php;}, event_sink HANDLER_NAME {url /etc/flussonic/events.lua;} События Flussonic будут приходить на указанный URL или в указанный скрипт. Подробнее в Events API.
pulsedb /var/lib/flussonic; Указывается, куда будет сохраняться статистика потоков.
session_log /var/lib/flussonic; Указывается, куда будет сохраняться история сессий.c
url_prefix PREFIX, url_prefix http://my.domain.address.com:80; При использовании протокола HLS или DASH, для всех потоков на сервере, адреса отдельных сегментов в сегментном плейлисте будут начинаться с указанного префикса. К вариантному плейлисту опция больше не применяется. Опция применяется для сегментных плейлистов, таких как tracks-v1a1/mono.m3u8 (но не для вариантных таких как index.m3u8). Эта опция может быть использована не только в глобальной части файла конфигурации, но и как часть настроек конкретного потока. Прописанная в настройках потока, опция применяется только к одному этому потоку.
source SOURCE/PREFIX;, source SOURCE/PREFIX { }, source origin1.tv { } Директива, включающая автоматическое зеркалирование потоков с другого сервера на локальный.
stream ntv { input tshttp://source/ntv.ts; } Директива stream включает перманентный поток, который будет поддерживаться рабочим всё время жизни сервера, даже если ни один из источников недоступен.
ondemand ntv { input tshttp://source/ntv.ts; } Директива ondemand описывает поток, который будет запускаться по-запросу. Если он какое-то время недоступен, то он будет автоматически выключаться.
live published { } Директива live включает возможность публикации на сервер потоков с именами, начинающимися с published.
vod vod { storage /storage; } Директива vod включает вещание файлов, лежащих в каталоге /storage под именами, начинающимися с vod/. См. опции директивы file.
cache globalcache /var/www misses=4 2d 40G; Конфигурируется глобальный кэш по имени globalcache в каталоге /var/www с лимитом на 40 гигабайт и 2 дня. Файлы начнут кэшироваться только после 4 запросов от клиентов.
nvidia_monitor true; Директива nvidia_monitor включает (true) или выключает (false) сохранение статистики о производительности Nvidia. Подробнее.
geoip PATH_TO_DATABASE; Директива geoip задаёт путь до файла базы данных GeoLite2, которую Flussonic будет использовать для геолокации вместо встроенной базы. Подробнее.

Запуск Flussonic без файла конфигурации

Файл конфигурации — не единственный источник данных для настройки Flussonic. Некоторые настройки могут быть определены в следующих местах:

  • includes — файлы частичной конфигурации в /etc/flussonic/flussonic.conf.d/*.conf (они не имеют ничего общего со старой опцией конфигурации includes). Эти файлы, как правило, создаются системой, запускающей Flussonic (например, Kubernetes).
  • переменные окружения (environment variables). Для запуска Flussonic без файла конфигурации достаточно определить переменные HTTP_PORT и EDIT_AUTH. Например: HTTP_PORT=80, EDIT_AUTH=login pass.

Настройки Flussonic применяются в следующем порядке:

  1. Includes на диске
  2. Файл конфигурации на диске
  3. Переменные окружения

Таким образом, переменные окружения перекрывают все остальные настройки. Если результирующая конфигурация Flussonic окажется невалидной, Flussonic не запустится и отобразится экран техобслуживания.