Пример настроек конфигурационного файла
Ниже представлен пример настроек конфигурационного файла медиасервера.
Конфигурационный файл – файл, который содержит информацию, необходимую для успешной работы программы.
[server]
node-id = 101 # node id
node-host = # if empty then resolve by hostname
cluster-enable = true
cluster-id = 100 # cluster id, leave empty for disabled
cluster-controller = rabbitmq:// # rabbitmq:// mysql:// pg:// tarantool://
cluster-warming-up = 10s # startup timeout. for warming-up all cluster nodes
cluster-tolerance = 20s # time interval after last check when node start grab the secondary cameras
cluster-ping-interval = 10s # time interval in seconds between health checking
sys-limit = 4096 # set fd limitis
sys-umask = 777 # set file\folder creation mask
threads-medium = 10 # Number of medium worker threads
threads-media = 10 # Number of media worker threads
threads-web = 5 # Number of web worker threads
[[stream]]
enable = true # true | false | rtsp,publish,web
rtsp = *:5554:/ # rtsp streaming endpoint
publish = *:7554:/ # push rtsp endpoint
web = *:8443/ # hls\mse\etc... streaming endpoint
whitelist-access = #127.0.0.1/24 media client rtsp\http\https whitelist
whitelist-publishers = #127.0.0.1/24 rtsp pushers whitelist
auth-module = modules/auth/validate.lua
auth-secret = "}2F+fUnU8!@(<`5]9@]6P3,rkwD&XRvV[Rr`;CQR^wr$h#79SQw-[[>amr7ZX(dN"
ssl-enable = true # enable\disable SSL for (web, api, hls, mse etc.)
ssl-cert = # ssl cert file
ssl-key = # ssl key file
reconnect-numbers = 500 # number of reconnects, before turn off stream
reconnect-timeout = 10s # timeout before reconnect attempt
reconnect-interval = 30m # maximum timeout interval
reconnect-invalid = 10 # number of bad packets before camera go in state invalid
keep-alive = true # enable\disable (default is enable) tcp keepalive between server and streams (global for all streams, metro bad network fix)
[[module]]
listen = *:8080
cpanel-enable = true # enable\disable web module
cpanel-baseurl = /cpanel
cpanel-module = modules/cpanel/cpanel.lua
cpanel-whitelist = #127.0.0.1/24
cpanel-auth = none # basic, none
api-enable = true # enable\disable web module
api-baseurl = /api
api-module = modules/api/api.v2.lua
api-whitelist = #127.0.0.1/24, 192.168.1.150/28, 192.168.1.1
api-auth = none # basic, none
ssl-enable = true # enable\disable SSL for (web, api, hls, mse etc.)
ssl-cert = # ssl cert file
ssl-key = # ssl key file
[[[users]]]
# role = <login>:[<plain-password>]
# role - root, admin, guest, user, if leave empty, role is disabled
admin = siteadmin:
root =
user =
guest =
[dvr]
record-tmp-dir = /storage/tmp #temporary directory to export records
[streams]
include = streams/*.ini
[nodes]
include = media-server.nodes # external file nodes id list
101 = testnsms1.<xxxx>.video
1088 = testnsms2.<xxxx>.video
# Optional section with virtual storages forward declaration
[storages]
default = /storage
secondary = /storage2
Термин | Определение |
---|---|
node-id | Номер узла установленного медиасервера |
node-host | Имя медиасервера. Если значение пустое, то будет используется hostname системы |
cluster | Группа объединенных узлов (node) медиасерверов |
cluster-enable | true – включение кластерной группы false – выключение кластера |
cluster-id | Номер кластера – группы серверов |
cluster-controller | cluster-controller = rabbitmq:// # rabbitmq:// mysql:// pg:// tarantool:// |
cluster-ping-interval | Интервал между запросами ping |
cluster-warming-up | Тайм-аут запуска. для проверки и включения всех нодов кластера |
cluster-tolerance | Временной интервал, после последней проверки работоспособности |
sys-limit | Системная настройка для настройки предела |
sys-umask | Системная настройка для создания маски |
[threads] | Потоки. Необходим для выполнения настроек потоков |
threads-medium | Количество системных потоков, которые будут запущены для захвата стримов |
threads-media | Количество потоков для отдачи стримов камер |
threads-web | Количество потоков, для работы API/WEB |
[stream]enable | true | false | rtsp,publish,web |
rtsp = *:5554:/ publish = *:7554:/ web = *:8443/ | Подходит для толстых клиентов Подходит для медиабриджа Подходит для веб формата и мобильных устройств |
whitelist | Настройка ip-адреса для подключения |
whitelist-access | Всем разрешено, если не указаны конкретные ip-адреса |
whitelist-publishers | Ограничение того кто может отправлять потоки |
auth-module | Производит проверку токена при авторизации |
auth-secret | для проверки и создания access token |
ssl | Сертификаты. Протокол, который обеспечивает более безопасную связь |
ssl-enable | Включение или отключение SSL сертификатов (для web, api, hls, mse т.д) |
ssl-cert | Хранит расположение файла серт |
ssl-key | Хранит расположение приватного ключа |
reconnect-numbers | Глобальный параметр. Настройки переподключения. Возможно настроить в файле конфигурации в потоке |
reconnect-timeout | Повторное соединение раз в указанное количество сек |
reconnect-interval | Интервал попыток подключения |
reconnect-invalid | Количество попыток подключения |
keep-alive | keep-alive = true Включить\отключить (по умолчанию включено) поддержку активности tcp между сервером и потоками (глобально для всех потоков, исправление плохой сети в метро) |
[module] | Дополнительный функционал для подключения CPanel и API |
listen | порт |
cpanel-enable | true Подключение web модуля CPanel |
cpanel-baseurl = /cpanel | Название путь к модулю |
cpanel-module = modules/cpanel/cpanel.lua | Скрипт для реализации функционала CPanel модуля |
cpanel-whitelist = #127.0.0.1/24 | IP-адреса, кто может подключаться |
cpanel-auth = none # basic, none | basic – есть авторизация none – подключение возможно без авторизации |
api-enable = true | true/false Подключение API модуля |
api-baseurl = /api | Путь к API |
api-module = modules/api/api.v2.lua | Скрипт для реализации функционала API модуля |
api-whitelist = #127.0.0.1/24, 192.168.1.150/28, 192.168.1.1 | IP-адреса, кто может подключаться r API |
api-auth = none # basic, none | basic – есть авторизация none – подключение возможно без авторизации |
ssl-enable = false # enable\disable SSL for (web, api, hls, mse etc.) | Включение или отключение SSL сертификатов (для web, api, hls, mse т.д) |
ssl-cert = # ssl cert file | Хранит расположение файла серт |
ssl-key = # ssl key file | Хранит расположение приватного ключа |
[users] | Формат ввода role = <login>:[<plain-password>] |
role = <login>:[<plain-password>] | role - root, admin, guest, user, если оставить пустым, роль отключена |
admin = siteadmin:siteadmin root = user = guest = | Возможные роли пользователей |
dvr | Функция, которая дает возможность создания архивов на медиасервере |
record-tmp-dir = /storage/tmp | Путь для создания временных файлов |
include = streams/*.ini | Путь откуда подключать конфигурационные настройки |
[nodes] | Раздел работает при наличие кластеров |
include = media-server.nodes | Сопоставление нода и имя хоста |
101 = testnsms1.<xxxx>.video | Медиасервер с нодом 101 имеет указанное имя хоста |
1088 = testnsms2.<xxxx>.video | Медиасервер с нодом 1088 имеет указанное имя хоста |
[storages] | Указание дисков, которые доступны для записи архива |
default = /storage | Основное место хранения архива |
secondary = /storage2 | Резервное место хранения архива |