Skip to main content
Skip table of contents

Cервер (mediaserver.ini)

Перед запуском медиасервера необходимо отредактировать параметры запуска в файле mediaserver.ini (по умолчанию находится в каталоге /opt/xxxx/media-server/)

Пример файла конфигурации (mediaserver.ini)

YAML
[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&amp;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     = host1.<xxxx>.video
    1088    = host2.<xxxx>.video

# Optional section with virtual storages forward declaration
[storages]
    default         = /storage
    secondary       = /storage2

ПАРАМЕТРЫ КОНФИГУРАЦИИ

server

node-idrequired

int

Идентификатор текущей ноды сервера.

0

node-host

string

Позволяет указать hostname, который будет использоваться сервером. Если не указан, то будет взят из /etc/hostname

cluster-enablerequired

bool

Включает поддержку кластера в медиасервере.

false

cluster-idrequired

int

Числовой идентификатор кластера.

0

cluster-controller

string

Задает endpoint, на который будут отправляться события медиасервера

Если значение не указано или не поддерживается протокол, то события не будут отправляться. Поддерживаемые типы endpoint: http://, https://

cluster-warming-uprequired

seconds

Время, в течении которого ноды кластера могут не отсылать ping после растарта. Чем больше потоков, тем больше времени необходимо на 'разогрев' ноды

10s

cluster-tolerancerequired

int

Временной интервал, после последней проверки работоспособности

20

cluster-ping-intervalrequired

seconds

Интервал между запросами ping

10s

sys-limitrequired

Системная настройка для настройки предела

sys-umaskrequired

Системная настройка для создания маски

threads-mediarequired

int

Количество потоков для отдачи стримов камер.

10

threads-mediumrequired

int

Количество системных потоков, которые будут запущены для захвата стримов.

10

threads-webrequired

int

Количество потоков, для работы API\WEB.

5

server.stream

enablerequired

bool

Разрешает\Запрещает подключение к потоку: true | false | rtsp, publish, web.

true

rtsprequired

string

Cетевой порт, на котором будут ожидаться подключения клиентов по {@hint:RTSP} протоколу

*:5554:/

publishrequired

string

Cетевой порт, на котором будут ожидаться подключения для медиабриджа.

*:7554:/

webrequired

string

Cетевой порт, на котором будут ожидаться подключения по Web-протоколам. {@hint:HLS, MSE}

*:8443/

whitelist-access

array

Определяет список разрешенных IP-адресов, с которых можно осуществлять подключения к Mediaserver. Всем разрешено, если не указаны конкретные IP-адреса.

Возможно использование следующих форматов: 192.168.1.100, 192.168.1.100/24, 192.168.1.100-192.168.1.105

whitelist-publishersrequired

array

Ограничение, кто может отправлять потоки.

auth-modulerequired

path

Производит проверку токена при авторизации.

auth-secretrequired

string

Задает seed для создания токена доступа. Рекомендуется использовать случайно сгенерированную последовательность более 32 символов.

null

ssl-enablerequired

bool

Включает или отключает поддержку SSL\TLS соединения (для web, api, hls, mse т.д).

false - Отключает поддержку SSL\TLS. true - Включает поддержку защищенного соединения.

false

ssl-certrequired

string

Cодержит путь к файлу сертификата SSL.

ssl-keyrequired

string

Cодержит путь к private ключу SSL сертификата.

reconnect-numbersrequired

int

Глобальный параметр. Настройки переподключения. Возможно настроить в файле конфигурации потока.

500

reconnect-invalidrequired

int

Количество 'плохих' пакетов до того, как камера перейдет в состояние 'недоступна'.

10

reconnect-timeoutrequired

seconds

Повторное соединение раз в указанное количество секунд.

10

reconnect-intervalrequired

seconds

Максимальный интервал попыток подключения к потоку.

30m

keep-aliverequired

bool

Включить\Отключить поддержку активности tcp между сервером и потоками (глобально для всех потоков, по умолчанию включено).

true

server.module

listen

string

Назначает интерфейс и порт, на котором будут доступны подключения клиентов к Web-модулям API и CPanel.

*:8081

cpanel-enable

bool

true - Подключает поддержку web модуля CPanel.

true

cpanel-baseurl

string

Маршрут запросов к панели управления Mediaserver.

/cpanel

cpanel-module

string

Путь к LUA скрипту модуля CPanel.

module/cpanel.default.lua

cpanel-whitelist

array

Определяет список разрешенных IP-адресов, с которых можно осуществлять подключения к CPanel

[]

cpanel-auth

enum

Определяет тип авторизации пользователя в CPаnel.

none - Авторизация в CPanel отключена basic - Basic авторизация по имени пользователя и паролю

none

api-enable

bool

Подключает поддержку API модуля.

true

api-module

string

Путь к LUA скрипту модуля Web API.

modules/api/api.v2.lua

api-baseurl

string

Маршрут запросов к Web API.

/api

api-whitelist

array

Определяет список разрешенных IP-адресов, с которых можно осуществлять подключения к Web API

[]

api-auth

enum

Определяет тип авторизации пользователя к Web API.

none - Подключение возможно без авторизации basic - Есть авторизация

none

ssl-enablerequired

bool

Включает или отключает поддержку SSL\TLS соединения (для web, api, hls, mse т.д).

false - Отключает поддержку SSL\TLS. true - Включает поддержку защищенного соединения.

false

ssl-certrequired

string

Cодержит путь к файлу сертификата SSL.

ssl-keyrequired

string

Cодержит путь к private ключу SSL сертификата.

usersrequired

object

Создание пользователей. \nФормат ввода role = [login]:[plain-password]. \nРоль - root, admin, guest, user (если оставить пустой, то возможность будет отключена).

Логин определяет права пользователя в панели управления. admin - password root - ...

dvr

record-tmp-dir

string

Путь для создания временных файлов.

/storage/tmp

streams

include

string

Расположение файлов конфигурации потоков. см. Mediaserver/Конфигурирование/Поток (stream.ini)

streams/*.ini

nodes

includerequired

string

Сопоставление нода и имя хоста. Раздел работает при наличии кластеров.

101 = host1.[xxxx].video - Медиасервер с нодом 101 имеет указанное имя хоста 1088 = host2.[xxxx].video - Медиасервер с нодом 1088 имеет указанное имя хоста

media-server.nodes

storages

default

string

Указание дисков, где может быть сохранен DVR потоков.\nДанный параметр используется как информационный при вызове метода см. Mediaserver/Web API/Server/GetServerStorageByPath

/storage

secondary

string

Резервное место хранения DVR потоков.\nДанный параметр используется как информационный при вызове метода см. Mediaserver/Web API/Server/GetServerStorageByPath

/storage2

JavaScript errors detected

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

If this problem persists, please contact our support.