Для изменения параметров работы сервера доступны 2 метода настройки: правки в конфигурационном файле стримера (ms.conf) или через Web-панель сервера.
Для опытных пользователей и тех, кто нуждается в более тонких и специализированных настройках, мы рекомендуем использовать конфигурационный файл для настройки сервера. Для пользователей, не имеющих профессионального опыта, доступен веб-интерфейс, который облегчает процесс настройки.
Однако, вся документация далее будет основываться на примерах настройки сервера через конфигурационный файл.
Конфигурационный файл представляет собой текстовый документ, в котором содержатся основные настройки сервера, такие как указание дисков для архивной записи, настройки портов подключения, использование SSL-сертификата, а также указание домена и другие параметры.
Преимуществом настройки через конфигурационный файл является возможность задать обширный набор параметров работы службы MainStreamer.
Однако, недостатком данного способа настройки является необходимость понимать синтаксис файла и быть внимательным при его редактировании, поскольку допущенная ошибка может привести к остановке службы MainStreamer и прекращению записи видео.
Изменения в файле и настройка производятся при подключении непосредственно к серверу, локально или же удаленно с доступом по SSH (требуется пробросить 22 порт в роутере).
Для начала редактирования
Получаем права суперпользователя командой:
sudo -i
Затем открываем файл конфигурации командой:
nano /opt/main-streamer/ms.conf
После ввода команды запускается редактор, выводится содержание файла конфигурации.
После внесения правок, подается команда «ctrl+X» с подтверждением сохранения изменений и для применения изменений выполняется рестарт службы стримера командой:
service main-streamer restart
Описание конфигурационного файла сервера (ms.conf)
ms.conf
{
"allow_recording_secondary_stream": "true", // архивирование вторичного потока, true/false
"archive_record_mode": "v1", // версия архива, v1/v2
"crt_file": "", // полный путь до стороннего файла сертификата SSL
"disable_audio_recording": "false", // отключение аудиопотока со всех камер, true/false
"disks": [ // папки (точки монтирования) для записи архива из директории /ms-storage
"sdc",
"sdd",
"sde"
],
"domain": "streamer01.domain.com", // домен для web-панели
"easy_screenshot_creation_mode": "false", // создание скриншотов в менее ресурсоёмком режиме, 1 раз в 1 мин., true/false
"http_port": "8083", // HTTP-порт web-панели, 1024—65535
"https_port": "8443", // HTTPS-порт web-панели, 1024—65535
"log_file_size": "100M", // максимальный размер каждого лог-файла, M/G
"log_level": "debug", // уровень логгирования MainStreamer'a, fatal/error/warning/info/debug
"log_storage_period": 5, // период хранения логов MainStreamer'a, кол-во дней
"maximum_load_archive_disks": "95", // максимальная загрузка архивных дисков, %, 1—100
"minThumbnails": "true", // миниатюры архива на таймлайне, true/false
"motion_detect": { // детекция движения
"smtp": { // SMTP-сервер для приёма сообщений ДД от камер
"enabled": "true", // включение/отключение SMTP-сервера, true/false
"port": "1025" // порт SMTP-сервера, 1024—65535
}
},
"motion_detection_recording_post": "40", // постзапись при записи по ДД, сек
"motion_detection_recording_prev": "25", // предзапись при записи по ДД, сек, 30 max
"onvif_external_port": "9099", // внешний порт ONVIF для событий при NAT
"onvif_internal_port": "9099", // внутренний порт ONVIF для событий
"pem_file": "", // полный путь до стороннего ключевого файла SSL сертификата
"rtsp_output": { // RTSP-сервер для приёма потоков с MS-Gate и MS-Agent и ретрансляции потоков камер
"enabled": "true", // включение/отключение RTSP-сервера, true/false
"port": "8554" // порт RTSP-сервера, 1024—65535
},
"rtsp_transport": "tcp", // протокол передачи RTSP, tcp/udp
"rtsp_users": [ // пользователи RTSP сервера
{
"login": "admin", // логин для авторизации на RTSP сервере
"password": "e3E3hy53OkqVK" // пароль для авторизации на RTSP сервере
}
],
"ssl": "true", // HTTPS на web-панели MainStreamer'a, true/false
"ssl_auto_update": "false", // автообновление SSL-сертификата, true/false
"users": [ // доступ к web-панели стримера
{
"login": "admin", // логин для авторизации в web-панели MainStreamer'a
"password": "dhTT6sd7B" // пароль для авторизации в web-панели MainStreamer'a
}
]
}
Здесь требуется указать список папок (дисков) для записи архива, находящихся в директории /ms-storage. Каждая папка (диск) должна быть в кавычках и отделена запятой.
В папки, указанные в параметре "disks", ведётся запись архива, будь то обычная папка в /ms-storage или диск, смонтированный в неё.
Если требуется остановить запись на диск — удалите его из ms.conf. В этом случае архив перестанет записываться на диск, но старый архив с него будет доступен. Папки, находящиеся в /ms-storage, но не прописанные в параметре "disks", будут доступны стримеру в режиме "read only".
Чтобы архив корректно записывался, архивная папка (диск) должна:
располагаться в директории /ms-storage
быть прописана в конфигурационном файле ms.conf (например, ["sdс", "sdd", "sde"])
иметь права drwxr-xr-x (755) или выше
иметь пользователя main-streamer в качестве владельца
иметь группу main-streamer в качестве владельца
Проверить права доступа для архивных папок можно командой:
ls -la /ms-storage
Пример корректных прав на архивные каталоги:
server1@sv1:~$ ls -la /ms-storage
total 24
drwxr-xr-x 6 main-streamer main-streamer 4096 Jul 14 2022 .
drwxr-xr-x 21 root root 4096 Nov 16 11:26 ..
drwxr-xr-x 4 main-streamer main-streamer 4096 Jul 18 2022 sda3
drwxr-xr-x 4 main-streamer main-streamer 4096 Jul 18 2022 sda4
drwxr-xr-x 4 main-streamer main-streamer 4096 Oct 6 07:40 sdb
drwxr-xr-x 2 main-streamer main-streamer 4096 Jan 13 09:39 system
Максимальная загрузка архивных дисков в процентах может принимать значение 1—100. По умолчанию значение равно 95%.
Если на архивных дисках становится занято более 95%, то MainStreamer 1 раз в час запускает процесс удаления фактического архива размером в 1 час, начиная с самого старого.
Параметр отвечает за детекцию движения (ДД). Позволяет проставлять метки детекции на таймлайне и вести запись архива по детекции движения.
"smtp": SMTP-сервер MainStreamer'a принимает тревожные сообщения (письма) о детекции движения от камер. Работает в паре с камерой, где настраивается детекция движения и отправка тревоги по e-mail.
"enabled": Параметр может принимать значения:
"true" — включён приём сообщений о ДД, включён SMTP-сервер, отображаются метки ДД на таймлайне.
"false" — отключён приём сообщений о ДД, отключён SMTP-сервер, не отображаются метки ДД на таймлайне.
"port": Порт SMTP-сервера, по умолчанию 1025. Также этот порт указывается в настройках камеры при настройке ДД. Может принимать значение 1024—65535. Не требуется менять без необходимости.
Локальный порт для приёма событий детекции движения по ONVIF от камеры. Этот порт сообщается камере, чтобы она отправляла на него события ONVIF, если камера и сервер находятся в одной локальной сети. По умолчанию имеет значение 9099. Изменять не требуется.
Внешний порт (виртуальный, локально не слушается) для приёма событий детекции движения от камеры по ONVIF. Этот порт сообщается камере, чтобы она отправляла на него события ONVIF, если камера находится удаленно и имеет не локальный IP адрес. По умолчанию имеет значение 9099. Требует изменения, если нет возможности сделать прямой проброс за NAT (public_server_ip:9099 → local_server_ip:9099) и/или за NAT находятся несколько серверов.
"true" — включён приём потоков с MS-Gate и MS-Agent, а также есть возможность ретранслировать входящие потоки со стримера.
"false" — отключён приём потоков с MS-Gate и MS-Agent, и нет возможности ретранслировать входящие потоки со стримера.
"port": Порт RTSP-сервера, по умолчанию 8554. Также значение изменяется через файл конфигурации: **/opt/main-streamer/programms/rtsp-simple-server/rtsp-simple-server.yml**, в параметре: "rtspAddress". Может принимать значение 1024—65535. Не рекомендуется менять без необходимости.
Авторизация на RTSP-сервере. Используется при ретрансляции камер, которые добавлены в MainStreamer. Нужен для формирования RTSP-ссылки.
В данный блок можно добавлять неограниченное количество пользователей RTSP-сервера.
"login" — логин для авторизации. Используется в RTSP-ссылке для ретрансляции
"password" — пароль для авторизации. Используется в RTSP-ссылке для ретрансляции
Пример RTSP-ссылки: rtsp://admin:Ct6Hh8tK@streamer.domain.com:8554/camName/0
Также можно авторизовываться на RTSP-сервере по значению пароля токена камеры. Это тот же самый токен, который используется для получения скриншотов, потоков для плеера и так далее. Время жизни такого токена 1 сутки. Логин такой же.
Пример RTSP-ссылки: rtsp://admin:1b8f9ef6af96e072c0147ae4b514f17929dc0463-1703154546@server.domain.com:8554/camName/0
Данный токен можно получить также с помощью API из cloud.dvor24.com.
Параметр отвечает за HTTPS для веб-сервера MainStreamer'a. Необходим для работы с сервисом. По умолчанию выключен. Включается автоматически, после установки встроенного SSL сертификата от Let's Encrypt командой:
main-streamer install_ssl
Если используется личный (сторонний) SSL сертификат, то необходимо включать вручную.
Параметры:
"true" — административная web-панель стримера работает по HTTPS на порту, указанному в параметре "https_port", при наличии валидного SSL сертификата.
"false" — административная web-панели стримера не работает по HTTPS
Автообновление SSL сертификата. Работает только для встроенного сертификата от Let's Encrypt. Запрашивает новый сертификат, если текущий старше 60 дней. Проверка происходит раз в сутки.
В административной панели сервера (веб-панель), можно изменять некоторые параметры файла конфигурации. Эта настройка доступна через браузер с любого устройства.
Для доступа к веб-панели сервера из локальной сети необходимо в адресной строке браузера указать IP-адрес сервера и порт (по умолчанию 8443, например, http://192.168.1.50:8083/). Чтобы получить доступ к административной панели из интернета, необходимо настроить проброс порта на маршрутизаторе (роутере). Затем можно будет обращаться к серверу через DNS-имя или статический белый IP-адрес.
Логин/пароль по умолчанию для доступа к серверу:
Логин: admin
Пароль: 123
Однако, стоит отметить, что не все настройки конфигурационного файла можно изменить через административную панель.
Описание настроек в веб-панели
Смена пароля (для текущего пользователя) - настройка пункта "users"->"password" в конфигурационном файле - Изменение пароля авторизации в web-панели стримера.
домен - настройка пункта "domain" в конфигурационном файле - домен веб-сервера. Необходим для установки SSL-сертификата.
http-порт - настройка пункта "http_port" в конфигурационном файле - HTTP-порт веб-сервера. Диапазон: 1024 — 65535. По умолчанию порт имеет значение 8083. Рекомендуется использовать стандартный порт.
https-порт - настройка пункта "https_port" в конфигурационном файле - HTTPS-порт веб-сервера. Диапазон: 1024 — 65535. По умолчанию порт имеет значение 8443. Рекомендуется использовать стандартный порт.
ssl - настройка пункта "ssl" в конфигурационном файле. Включение/отключение ssl-протокола.
автоматическое обновление сертификата - настройка пункта "ssl_auto_update" в конфигурационном файле. Вкл. / выкл. автообновления ssl-сертификата. Опция доступна только для сертификатов от Let’s Encrypt.
диски - настройка пункта "disks" в конфигурационном файле - папки (диски) для записи архива из директории /ms-storage. Записывается через пробел или через запятую.
максимальная заполненость дисков (в процентах) - настройка пункта "maximum_load_archive_disks" в конфигурационном файле - максимальная загрузка архивных дисков (в процентах).
миниатюры архива - настройка пункта "minThumbnails" в конфигурационном файле - вкл. / выкл. миниатюры архива на таймлайне, в режиме просмотра камер.
включен - настройка пункта "smtp"->"enabled" в конфигурационном файле - вкл. / выкл. SMTP-сервер для приёма сообщений детекции движении от камер. Влияет на отображение меток детекции движении на таймлайне.
порт - настройка пункта "smtp"->"port" в конфигурационном файле - порт SMTP-сервера. Диапазон: 1024—65535. По умолчанию порт имеет значение 1025. Рекомендуется использовать стандартный порт.
Вести логи запросов smtp - настройка пункта "smtp_log" в конфигурационном файле - вкл. / выкл. логгирование SMTP-сервера. Включается в случае, если при тестировании файл занимает много места в системном (корневом) разделе.
включен - настройка пункта "rtsp_output"->"enabled" в конфигурационном файле - вкл. / выкл. RTSP-сервер.
порт - настройка пункта "rtsp_output"->"port" в конфигурационном файле - порт RTSP-сервера. Диапазон: 1024—65535. По умолчанию порт имеет значение 8554. Рекомендуется использовать стандартный порт.
Отключить прием звука с источников - настройка пункта "disable_audio_recording" в конфигурационном файле - вкл. / выкл. прием аудиопотока камер.
Транспорт rtsp - настройка пункта "rtsp_transport" в конфигурационном файле - протокол передачи RTSP. Выбор параметра только tcp или udp. Использование протокола udp желательно только в том случае, если камеры не поддерживают tcp.