Skip to main content
Skip table of contents

Пример настроек конфигурационного файла Mediaserver

Ниже представлен пример настроек конфигурационного файла медиасервера.

Конфигурационный файл – файл, который содержит информацию, необходимую для успешной работы программы.

CODE
[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

Резервное место хранения архива

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.