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

Contents

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

Содержание:

Управление конфигурацией Flussonic Media Server

Настройки Flussonic Media Server хранятся в конфигурационном файле /etc/flussonic/flussonic.conf.

Есть несколько способов задать настройки Flussonic:

  • Отредактировать файл /etc/flussonic/flussonic.conf и применить настройки — cм. ниже.
  • Задать настройки через веб-интерфейс. Веб-интерфейс поддерживает большинство необходимых настроек, но иногда настройку можно указать только через файл.
  • Воспользоваться HTTP API для управления настройками.
  • Воспользоваться Cluster SQL API.

После изменения параметров в конфигурационном файле flussonic.conf, необходимо применить настройки сервиса Flussonic Media Server следующей командой:

/etc/init.d/flussonic reload

Также для применения новых настроек можно воспользоваться HTTP API :

curl -u user:pass http://localhost:8080/flussonic/api/reload

Где user:pass — логин и пароль из настройки edit_auth (см. Другие опции сервера ниже на странице).

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

Для рестарта сервера выполните команду:
/etc/init.d/flussonic restart

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

В глобальных опциях указываются порты для протоколов и общие настройки.

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

Опции сервера (Протоколы и порты) Описание
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 на указанном порту.
mysql 3306; включает приём запросов по протоколу MySQL на указанном порту.

Замечания

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

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

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

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

bash

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

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

Опция сервера Описание
loglevel info; Меняется объём записываемых в журнал логов. Варианты: debug, info, alert.
logrequests true; Включается запись всех HTTP запросов в /var/log/flussonic/access.log
total_bandwidth 10G Указывается максимальная ёмкость канала. Нужно для балансировки серверов в кластере.
auth_token TOKEN; Имя параметра в query string, который будет интерпретироваться как авторизационный токен.
auth false; Глобальное отключение авторизации.
auth http://backend/auth.php; Глобальное включение авторизационного бекенда.
max_sessions 1000; Глобальный лимит по количеству сессий.
no_auto_token;

auto_token false;
При указании этой опции запросы пришедшие без опции token в query string будут немедленно отключаться.
auto_token UUID; При указании этой опции авторизационный token будет автоматически генерироваться, если он не указан в query string.
auto_token blank; При указании этой опции авторизационный token будет учитываться как пустой, если он не указан в query string. Режим по умолчанию.
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.
notify HANDLER_NAME {
  sink http://backend/event.php;
}


notify HANDLER_NAME {
  sink /etc/flussonic/events.lua;
}
События Flussonic будут приходить на указанный URL или в указанный скрипт. Подробнее в Events API
pulsedb /var/lib/flussonic; Указывается, куда будет писаться статистика потоков.
session_log /var/lib/flussonic; Указывается, куда будет писаться история сессий.
session_log false; Отключает запись сессий.
url_prefix PREFIX;

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

source origin1.tv {
}
Директива, включающая автоматическое зеркалирование потоков с другого сервера на локальный.
stream ntv {
  url tshttp://source/ntv.ts;
}
Директива stream включает перманентный поток, который будет поддерживаться рабочим всё время жизни сервера, даже если ни один из источников недоступен. Опции директивы stream описаны ниже.
ondemand ntv {
  url tshttp://source/ntv.ts;
}
Директива ondemand описывает поток, который будет запускаться по-запросу. Если он какое-то время недоступен, то он будет автоматически выключаться. Опции директивы ondemand описаны ниже.
rewrite client16/* {
  url rtmp://origin/%s;
}
Директива rewrite включает динамический запуск потоков по запросу, чьи имена попадают под маску clients16/*. Опции директивы rewrite описаны ниже.
live published { } Директива live включает возможность публикации на сервер потоков с именами, начинающимися с published. Опции директивы live описаны ниже.
file vod {
  path /storage;
}
Директива file включает вещание файлов, лежащих в каталоге /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. Статистику можно посмотреть, выполнив запрос в разделе Pulse в UI, например: `sum:1m-avg:gpu_dec{from=-2h,gpu=nv0}`. Подробнее
geoip PATH_TO_DATABASE; Директива geoip задаёт путь до файла базы данных GeoLite2, которую Flussonic будет использовать для геолокации вместо встроенной базы. Подробнее