Skip to main content
Skip table of contents

Поток (stream.ini)

Для начала захвата потока медиасервером, необходимо его правильно сконфигруировать. Каждый файл конфигурации должен содержать параметры одного потока. Путь к файлам конфигурации потока задается в параметре server.media.streams см. 'Mediaserver/Конфигурирование/Cервер (mediaserver.ini)'.

Сервер загружает из директории все файлы с расширением `.ini`. Остальные файлы игнорирует.

Пример файла конфигурации (stream.ini)
YAML
[sample-camera-uid] # stream uid max 36 char length # uid notation is perfect
  primary-node          # stream primary node for dvr and live restreaming
  secondary-node        # stream secondary nodes for dvr and live restreaming
  camera-uid            # optional stream camera id
  stream-name           # optional stream name
  stream-enable         # true\false\on-demand stream
  stream-url =      'rtsp://usr:pwd@host:port/path/stream'
  #stream-url =      'publish://usr:pwd@node-host/sample-camera-uid/'

  stream-proto = rtsp             # enabled restreaming protocols [ rtsp, hls, mse, webrtc ]
  stream-tracks = video           # enabled stream tracks [ video, audio, data ]
  stream-limit = 0                # number of clients. 0 - unlimit
  stream-access = public         # stream access method
                                  # private - need auth-token
                                  # public - access without authorization
                                  # protected - stream-white-list ip restriction
  stream-whitelist = # 173.124.1.1/32

  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

  dvr-enable = true               # enable or disable dvr archive
  dvr-archive = /opt/dvr          # root archive directory
  dvr-duration = 10d              # stored archive duration
  dvr-capacity = 10G              # stored archive disk capacity: N[G|M|%]
  dvr-chunk = 2m                  # archive chunk duration
  dvr-ondemand = false            # enable\disable dvr ondemand mode ( default is false )"
ПАРАМЕТРЫ КОНФИГУРАЦИИ
[sample-camera-uid]required
uid
Уникальный идентификатор потока в рамках одной инсталляции.

Строка максимальной длины в 36 символов
(a-z, A-Z, 0-9, -, ., _){1,48}
stream-urlrequired
url
URL подключения к потоку.

- rtsp://[user:password]@host[:port]/... - URL, к которому сервер будет подключаться для захвата потока - publish://[user:password]@hostname[:port]/... - URL, на котором сервер будет ожидать подключения потока
stream-enablerequired
bool
Разрешает\Запрещает подключение к потоку

true - Разрешает загрузку и подключение к {@hint:'своему потоку'}, false - Конфигурация потока загружается, но подключение к нему не производится (отдается только DVR) on-demand - Конфигурация потока загружается, но подключение к нему производится только в момент запроса клиентом.
true
camera-uidrequired
uid
Уникальный идентификатор камеры в рамках одной инсталляции

Строка максимальной длинны в 48 символов. Если параметр не указан, то будет взято значение UID потока.
(a-z, A-Z, 0-9, -, ., _){1,48}
stream-namerequired
string
Название камеры. Используется для отображения в качестве имени скачиваемого видео и для улучшения восприятия в API

Если параметр не указан, то будет взят UID камеры.
stream-tracksrequired
array
Каналы RTSP потока, которые будет захватывать сервер. Если указанный канал не существует в исходном потоке, то подключение к нему не производится.

Возможные значения типов каналов: - video - Канал видео данных. Отсутствие в исходном RSTP потоке канала video приводит к отключению от потока и прекращению работы с ним - audio - Канал звуковых данных. Отсутствие в исходном RSTP потоке канала audio приводит к отключению от потока и прекращению работы с ним - application - Разрешает серверу подключаться к onvif каналу потока
[ video, audio ]
stream-protorequired
array
Протоколы, по которым клиенту разрешено подключаться к серверу для просмотра потока (указывается индивидуально для каждого потока).[ rtsp, hls ]
stream-accessrequired
string
Определяет тип авторизации клиентов при подключении к просмотру потока.

none - Подключение клиентов к потоку для просмотра невозможно. При этом функции захвата и работы через API доступны public - Авторизация клиента не требуется. Общедоступный поток, любой клиент может просматривать поток с разрешенных IP-адресов protected - Подключение к потоку требует авторизации с использованием имени пользователя и пароля private - Подключение к потоку требует токен авторизации {@see:Mediaserver/Web API/Authorization/CreateAccessToken}
public
stream-whitelistrequired
array
Список разрешенных IP-адресов, с которых могут производиться подключения к просмотру потока

Whitelist - является приоритетным параметром, если он задан, то всегда проверяется вхождение IP-адреса подключения клиента, а затем авторизация. Возможно использование следующих форматов: 192.168.1.100, 192.168.1.100/24, 192.168.1.100-192.168.1.105
[]
stream-limitrequired
int
Ограничивает максимальное количество одновременных подключений клиентов для просмотра потоков по всем видам протоколов.0
dvr-enablerequired
bool
Разрешает\Запрещает серверу записывать и хранить копию потока.false
dvr-archiverequired
path
Задает корневую директорию хранения DVR.
dvr-durationrequired
seconds
Задает длительность хранения записи.
dvr-capacityrequired
bytes
Ограничивает размер дискового пространства для записей. Параметр информационный. Физических ограничений не накладывает.
dvr-chunkrequired
seconds
Задает длительность сегмента записи.
reconnect-numbersrequired
int
Задает количество попыток переподключения к потоку в случае разрыва соединения перед отключением потока.500
reconnect-invalidrequired
int
Количество 'плохих' пакетов до того, как камера перейдет в состояние 'недоступна'10
reconnect-timeoutrequired
seconds
Таймаут между попытками подключения к потоку10
reconnect-intervalrequired
seconds
Максимальный интервал подключения к потоку30m
primary-noderequired
string
Если включена функция кластера см. Mediaserver/Конфигурирование/Cервер (mediaserver.ini), то параметр задает имя хоста, который является основным для захвата потока
secondary-noderequired
string
Задает имя хоста, который является резервным для захвата потока в случае недоступности основного хоста
access.auth
typerequired
enum
Определяет тип web-авторизации

basic - Basic авторизация с использованием имени пользователя и пароля digest - Digest авторизация с использованием имени пользователя и пароля
digest
userrequired
string
Имя пользователя для Basic или Digest авторизации
passwordrequired
string
Пароль пользователя для Basic или Digest авторизации
JavaScript errors detected

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

If this problem persists, please contact our support.