Site Tools


software:msd:config

Конфиг файл представляет из себя xml файл.
Размер в килобайтах, время в секундах, кроме параметров для которых явно указаны другие размерности.

Флаг - значение принимающее 1 или 0.
Имя всегда начинается с “f” и за ней следует прописная буква.
Флаг считается установленным, например:

<fSocketHalfClosed>1</fSocketHalfClosed>
<fSocketHalfClosed>y</fSocketHalfClosed>
<fSocketHalfClosed>yes</fSocketHalfClosed>
<fSocketHalfClosed>t</fSocketHalfClosed>
<fSocketHalfClosed>true</fSocketHalfClosed>

идентичные записи того что флаг установлен.
Регистр не важен, те “yes” и “YES” интерпретируются одинаково.

Чтобы флаг считался не установленным можно воспользоваться любым значением из примера ниже:

<fSocketHalfClosed>0</fSocketHalfClosed>
<fSocketHalfClosed>n</fSocketHalfClosed>
<fSocketHalfClosed>n</fSocketHalfClosed>
<fSocketHalfClosed>f</fSocketHalfClosed>
<fSocketHalfClosed>false</fSocketHalfClosed>

Далее перечисляются секции и настройки которые в них хранятся.


log

Лог файл.

<log>
	<file>/root/msd/msd.log</file>
</log>

file

Имя файла. Запись производится если в командной строке не указан -v, иначе лог пишется в stdout.


threadPool

Настройки пула потоков.

<threadPool>
	<threadsCount>0</threadsCount>
	<fBindToCPU>yes</fBindToCPU>
	<fCacheGetTimeSyscall>yes</fCacheGetTimeSyscall>
	<timerGranularity>100</timerGranularity>
</threadPool>

threadsCount

Количество потоков. Если 0 = автоматически по количеству доступных ядер в системе.

fBindToCPU

Прикреплять потоки к процессорным ядрам. Если флаг задан то каждый поток будет выполнятся всегда только на одном ядре процессора. Такое поведение позволяет более эффективно использовать процессорный кеш.

fCacheGetTimeSyscall

Кешировать системный вызов clock_gettime().
clock_gettime() будет вызываться с задержкой указанной в timerGranularity.
На Linux позволяет экономить процессорное время при получении потоков по udp.
На FreeBSD экономия будет меньше заметна.

timerGranularity

Задержка между вызовами clock_gettime() для обновления времени.
Измеряется как 1/1000 секунды. Например: 100 означает 10 раз в секунду, 1000 - один раз в секунду.
Выставление слишком маленького значения приведёт к повышенной нагрузке на процессор, выставление слишком большого значения к излишнему загрублению расчётов основанных на времени.


systemResourceLimits

Задаются лимиты системных ресурсов для msd.

<systemResourceLimits>
	<maxOpenFiles>8192</maxOpenFiles>
	<maxCoreFileSize>unlimited</maxCoreFileSize>
	<maxMemLock>unlimited</maxMemLock>
	<processPriority>-10</processPriority>
</systemResourceLimits>

maxOpenFiles

Максимально доступное для msd количество файлов/сокетов/таймеров (для linux).

maxCoreFileSize

Разрешить записывать дамп памяти (указанного размера) в случае сбоя приложения.

maxMemLock

Максимально доступный объём памяти которую можно блокировать.

processPriority

Приоритет выполнения msd в системе: -20 = высокий, 20 = низкий, 0 = по умолчанию.


HTTP

Настройки HTTP сервера.

<HTTP>
	<skt>
		<rcvBuf>4</rcvBuf>
		<sndBuf>256</sndBuf>
		<rcvTimeout>30</rcvTimeout>
		<sndTimeout>30</sndTimeout>
	</skt>
 
	<ioBufInitSize>4</ioBufInitSize>
	<ioBufMaxSize>4</ioBufMaxSize>
 
	<bindList>
		<bind>
			<address>192.168.1.1:7088</address>
			<ifName>vlan777</ifName>
			<backlog>1024</backlog>
			<fAcceptFilter>no</fAcceptFilter>
			<congestionControl>htcp</congestionControl>
		</bind>
		<bind>
			<address>[::1]:7088</address>
			<backlog>2048</backlog>
			<fAcceptFilter>no</fAcceptFilter>
			<congestionControl>htcp</congestionControl>
			<hostnameList>
				<hostname>localhost</hostname>
			</hostnameList>
		</bind>
	</bindList>
 
	<hostnameList>
		<hostname>netlab.linkpc.net</hostname>
		<hostname>www.netlab.linkpc.net</hostname>
	</hostnameList>
</HTTP>

ioBufInitSize

Начальный размер буфера для приёма http запроса от клиента.

ioBufMaxSize

Максимальный размер буфера для приёма http запроса от клиента.

skt

Настройки сокета клиента.

rcvBuf

Максимальный размер буфера для приёма (SO_RCVBUF).

sndBuf

Максимальный размер буфера для отправки (SO_SNDBUF).

rcvTimeout

Таймаут приёма запроса от клиента.

sndTimeout

Таймаут отправки ответа клиенту.

bindList, bind

bindList содержит секции bind, в которых описывается на каких адресах принимать запросы от клиентов и дополнительные параметры.

address

IPv4Address:Port или [IPv6Address]:Port на котором принимать клиентские запросы.

ifName

Имя интерфейса, не обязательно, если задано то <address> IPv4 или IPv6 заменяется соответствующим IPv4 или IPv6 адресом на указанном интерфейсе перед вызовом bind(). Если на указанном интерфейсе нет IP адреса то выдаётся ошибка, если адресов несколько - используется первый полученный.

backlog

Максимальное количество ожидающих в очереди на подключение (listen(…, backlog) ).

fAcceptFilter

Использовать SO_ACCEPTFILTER(httpready) для FreeBSD (accf_http модуль должен быть загружен) либо TCP_DEFER_ACCEPT под linux.
Использование данного флага позволяет уменьшить использование CPU при большом количестве HTTP запросов.

congestionControl

TCP Congestion Control Algoritm. (TCP_CONGESTION) Алгоритм контроля перегрузки канала в TCP.
Позволяет выжать максимум из канала при передаче клиенту.
Очерёдность применения.

hostnameList, hostname

Список доменных имён которые ассоциированы с этим адресом.
Данная подсекция может быть как в HTTP, тогда она применяется ко всем подсекциям в bindList, так и в отдельной подсекции bind, тогда заданные имена будут считатся локальными только для клиентов которые подключились на указанный в bind адрес.

hostname

Доменное имя или “*” - для любого имени.
IP адреса проверяются автоматически, не имеет смысла добавлять их в этот список.


limits

Лимиты применяемые к параметрам в URL запросов клиентов. См URLs, Дополнительные параметры.

<limits>
	<precacheMin>0</precacheMin>
	<precacheMax>8192</precacheMax>
	<sndBlockSizeMin>32</sndBlockSizeMin>
	<sndBlockSizeMax>512</sndBlockSizeMax>
</limits>

precacheMin, precacheMax

В килобайтах, минимальное и максимальное значение precache доступное клиенту. Минимальное не может быть меньше 0, максимальное ограничено размером кольцевого буфера активного источника.
Ограничивает значение precache в URL запросе клиента.

sndBlockSizeMin, sndBlockSizeMax

В килобайтах, минимальное и максимальное значение sndBlockSize. В основном это значение влияет на производительность, как сервера так и клиента. Если указано слишком маленькое значение, то сервер будет часто пытаться отправить данные клиенту вызывая send(), это приведёт к повешению нагрузки на CPU. Если значение слишком большое, то сервер будет отправлять клиенту большие блоки данных, это может привести к тому, что различные пристаки/плееры со слабы процессором будут слишком активно и долго загружать свой CPU чтобы переместить принятые данные из буфера сокета в буфер плеера, что приведёт к заиканиям звука.
Минимальное значение 0, но на самом деле они ограничено параметром rcvLowat источника.
На Linux rcvLowat (SO_RCVLOWAT) не работает и в случае мультикаста оно будет равно размеру пакета, а в случае TCP не известно и определяется внутренней логикой ядра.
Максимальное значение ограничено размером кольцевого буфера активного источника.
Рекомендую от 16 до 64.
Ограничивает значение blocksize в URL запросе клиента.


hubProfileList, hubProfile

hubProfileList содержит список шаблонов настроек Stream Hub - hubProfile, каждому hubProfile присваивается уникальное имя.

<hubProfileList>
	<hubProfile>
		<name>default</name>
		<fZeroCliPersistent>no</fZeroCliPersistent>
		<fZeroSrcBitratePersistent>no</fZeroSrcBitratePersistent>
		<fPrecacheWait>no</fPrecacheWait>
		<fUsePollingForSend>no</fUsePollingForSend>
		<fDropSlowClients>no</fDropSlowClients>
		<fMPEG2TSAnalyzing>no</fMPEG2TSAnalyzing>
		<fSocketHalfClosed>no</fSocketHalfClosed>
		<fSocketTCPNoDelay>no<fSocketTCPNoDelay>
		<fSocketTCPNoPush>no</fSocketTCPNoPush>
		<fZeroCopyOnSend>no</fZeroCopyOnSend>
		<ringBufSize>32768</ringBufSize>
		<ringBufStorePath>/tmp</ringBufStorePath>
		<zeroCliTimeout>3</zeroCliTimeout>
		<errorRateInterval>60</errorRateInterval>
		<errorRateMax>5</errorRateMax>
		<skt>
			<sndBuf>512</sndBuf>
			<sndTimeout>30</sndTimeout>
			<congestionControl>htcp</congestionControl>
		</skt>
		<precache>4096</precache>
		<sndBlockSize>64</sndBlockSize>
		<headersList>
			<header>Pragma: no-cache</header>
			<header>Content-Type: video/mpeg</header>
			<header>ContentFeatures.DLNA.ORG: DLNA.ORG_OP=01;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01700000000000000000000000000000</header>
			<header>TransferMode.DLNA.ORG: Streaming</header>
		</headersList>
	</hubProfile>
</hubProfileList>

name

Уникальное имя для hubProfile.

fZeroCliPersistent

Продолжать работать даже если все клиенты отключились. Для каналов заданных в конфиге всегда выставлен. Если флаг не выставлен то хаб уничтожается по истечении времени zeroCliTimeout.

fZeroSrcBitratePersistent

Продолжать работать даже если все источники ничего не вещают. Для каналов заданных в конфиге всегда выставлен.

fPrecacheWait

Ожидать пока в кольцевом буфере накопится заданное в precache параметре конфига/запроса количество данных чтобы отправить их клиенту.
Используется чтобы гарантировать что только что подключённый клиент сможет сразу получить указанное количество данных.

fUsePollingForSend

Добавлять сокет клиента в kqueue/epoll.
Клиенты в kqueue/epoll добавляются если количество данных которые нужно отправить клиенту из кольцевого буфера больше чем sndBlock для данного клиента.
Обычно это случается во время отправки прекеша, если у клиента проблемы с задеркажми/потерей пакетов и он медленно принимает. Так же есть клиенты с маленьким буфером сокета (обычно VLC), они всегда висят в поллинге тк не могут принять всех данных которые для них доступны.

fDropSlowClients

Отключать клиентов которые медленно принимают данные. Если флаг выключен то клиентам будет пере запускаться вещание с пропуском/потерей данных в размере: ringBufSize - precache.

fMPEG2TSAnalyzing

Форсировать выставление флага для всех источников данного хаба. Если флаг выставлен то поток MPEG2-TS подвергается анализу: выделяются служебные пакеты, пакеты с данными, строятся PSI таблицы, подсчитывается количество пакетов, CC ошибок и прочих типов ошибок для каждого PID в потоке, лишние PID (на которые нет ссылок в PAT+PMT таблицах) отбрасываются.
Так же этот флаг выключает отсылку всех служебных MPEG2-TS данных новым клиентам перед отправкой данных из кольцевого буфера, что позволяет клиентам не отбрасывать пакеты в поисках пакетов со служебной информацией.
Побочный эффект: дополнительная нагрузка на процессор и увеличение потребления памяти, не значительное на фоне памяти отведённой для кольцевого буфера ringBufSize.

fSocketHalfClosed

Вызывать shutdown(SHUT_RD) для клиентов.
Явно указывает клиенту что больше данные передавать на сервер нельзя.
Некоторые клиенты ошибочно принимают за закрытие соединения и отключаются.

fSocketTCPNoDelay

Выставлять TCP_NODELAY флаг на сокет клиента.

fSocketTCPNoPush

Выставлять TCP_NOPUSH FreeBSD / TCP_CORK Linux флаг на сокет клиента.

fZeroCopyOnSend

ZCoS
Использовать sendfile() вместо sendmsg().
Использование sendfile() позволяет уменьшить нагрузку на процессор при отправке данных клиентам за счёт уменьшения количества операций копирования, всю работу берёт на себя ядро операционной системы. см так же ringBufStorePath
Эффект особенно заметен на качественный сетевых адаптерах с включённым offloading опциями.

flagMergeSources

Экспериментальная возможность объединения потоков разных источников с целью коррекции ошибок, запланировано на будущее.

ringBufSize

В килобайтах, форсировать выставление размера кольцевого буфера для всех источников данного хаба.

ringBufStorePath

Путь к файлам где хранить файлы с содержимым кольцевого буфера.
Актуально только когда выставлен флаг fZeroCopyOnSend
Специальное значение: “shm” - использовать posix shared memory (shm_open()).
Рекомендуется хранить файлы в tmpfs.

Особенности

Если msd аварийно завершился то требуется ручное удаление файлов кольцевых буферов, кроме shm под FreeBSD 10 и выше.

Особенности FreeBSD

shm можно использовать только начиная с версии 10.

Особенности Linux

При использовании shm файлы хранятся в /run/shm, чей размер обычно ограничен. На ubuntu 12.04 - 4 гигабайта.

zeroCliTimeout

В секундах, время для уничтожения хаба без клиентов, если не выставлен флаг fZeroCliPersistent.

errorRateInterval

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

errorRateMax

Форсировать выставление максимального количества ошибок если задан флаг fMPEG2TSAnalyzing для всех источников данного хаба.

precache

В килобайтах, значение прекеша по умолчанию. Указывает сколько килобайт будет отправлено новому клиенту сразу после подключения из кольцевого буфера источника. Клиент может переопределить это значение в URL запроса. Не может превышать ringBufSize для активного источника.
Так же задаётся в URL запроса клиента.
Имеет настраиваемые лимиты.

sndBlockSize

В килобайтах, значение размера блока отправки по умолчанию.
Так же задаётся в URL запроса клиента.
Подробное описание параметра см в секции limits.

skt

Настройки клиентских сокетов

sndBuf

Максимальный размер буфера для отправки клиенту (SO_SNDBUF).

sndTimeout

Таймаут отправки данных клиенту.

congestionControl

TCP Congestion Control Algoritm. (TCP_CONGESTION) Алгоритм контроля перегрузки канала в TCP.
Позволяет выжать максимум из канала при передаче клиенту.
Переопределяет ранее заданные значения в URL запроса клиента, секции HTTP сервер, настройках OS.
Очерёдность применения.

headersList

Дополнительный HTTP заголовок и его значение добавляемые перед отправкой клиенту данных из кольцевого буфера.
Такие заголовки требуются некоторым UPnP/DLNA клиентам для работы.


sourceProfileList, sourceProfile

sourceProfileList содержит список шаблонов настроек источников потока - sourceProfile, каждому sourceProfileприсваивается уникальное имя.

<sourceProfileList>
	<sourceProfile>
		<name>multicast-udp-default</name>
		<fMPEG2TSAnalyzing>no</fMPEG2TSAnalyzing>
		<ringBufSize>0</ringBufSize>
		<errorRateInterval>0</errorRateInterval>
		<errorRateMax>0</errorRateMax>
		<skt>
			<rcvBuf>2048</rcvBuf>
			<rcvLowat>48</rcvLowat>
			<rcvTimeout>2</rcvTimeout>
		</skt>
		<!-- Source connection specific info. -->
		<udp>
			<address>239.0.0.22:1234</address>
		</udp>
		<multicast>
			<ifName>vlan777</ifName>
		</multicast>
	</sourceProfile>
	<sourceProfile>
		<name>tcp-http-default</name>
		<fMPEG2TSAnalyzing>yes</fMPEG2TSAnalyzing>
		<ringBufSize>0</ringBufSize>
		<errorRateInterval>0</errorRateInterval>
		<errorRateMax>0</errorRateMax>
		<skt>
			<rcvBuf>2048</rcvBuf>
			<rcvLowat>48</rcvLowat>
			<rcvTimeout>30</rcvTimeout>
		</skt>
		<!-- Source connection specific info. -->
		<tcp>
			<remonteHostname>SomeServer.tv:7088</remonteHostname>
			<connectTimeout>5</connectTimeout>
			<reconnectInterval>5</reconnectInterval>
			<reconnectCount>5</reconnectCount>
			<fSocketHalfClosed>no</fSocketHalfClosed>
		</tcp>
		<http>
			<urlPath>udp/239.0.0.6:10000</urlPath>
			<headersList>
				<header>Accept: */*</header>
				<header>User-Agent: NSPlayer/7.10.0.3059</header>
				<header>getcontentFeatures.dlna.org: 1</header>
			</headersList>
		</http>
	</sourceProfile>
</sourceProfileList>

name

Уникальное имя для sourceProfile.

fMPEG2TSAnalyzing

Если флаг выставлен то поток MPEG2-TS подвергается анализу. Подробнее в секции hubProfile.

ringBufSize

В килобайтах, размер кольцевого буфера. Не рекомендуется делать меньше, чем нужно для буферизации 2-5 секунд потока. Больше 32 мегабайт имеет смысл только для компенсации очень больших потерь во время приёма от HTTP источника. Меньше 4-8 мегабайт целесообразно ставить для радиостанций.

errorRateInterval

В секундах, интервал времени для подсчёта ошибок если задан флаг fMPEG2TSAnalyzing.

errorRateMax

Максимальное количество ошибок за интервал времени если задан флаг fMPEG2TSAnalyzing, по достижении на источнике выставляется флаг и может быть произведено переключение на следующий по списку источник.

skt

Настройки принимающего сокета источника.

rcvBuf

Максимальный размер буфера для приёма (SO_RCVBUF).

rcvLowat

Минимальный размер данных в буфере сокета для начала считывания в кольцевой буфер и анализа (если задан флаг fMPEG2TSAnalyzing) (SO_RCVLOWAT).
На Linux данный параметр игнорируется ядром и чтение для udp осуществляется по пакетно, что ощутимо повышает нагрузку.
Для tcp чтение осуществляется по мере поступления данных.
Для Linux данный параметр реализован в программе, что позволило немножко сэкономить ресурсы процессора.

rcvTimeout

Таймаут приёма данных, после достижении источник считается не работающим и либо производится попытка переключения на другой источник либо клиенты отключены а хаб уничтожен, зависит от настроек хаба: флаг fZeroSrcBitratePersistent

udp

Настройки и информация для подключения UDP источника.

address

IPv4Address:Port или [IPv6Address]:Port. Данная подсекция в секции sourceProfile даётся только для примера, поскольку для динамического хаба этот параметр извлекается из URL запроса, а для статического хаба подразумевается что он будет задан в настрокойках источника канала.

multicast

Настройки и информация для подключения multicast источника. Так же должны присутствовать настройки для UDP.

ifName

Имя интерфейса для подписки на multicast. Используется как значение по умолчанию.

tcp

Настройки и информация для подключения TCP источника.

remonteHostname

IPv4Address:Port или [IPv6Address]:Port. Адрес для tcp, tcp-http подключения к источнику. Данная подсекция в секции sourceProfile даётся только для примера, поскольку для динамического хаба этот параметр извлекается из URL запроса, а для статического хаба подразумевается что он будет задан в настрокойках источника канала.

connectTimeout

В секундах, таймаут подключения.

reconnectInterval

В секундах, задержка перед следующей попыткой подключения.

reconnectCount

Количество попыток подключения.

fSocketHalfClosed

Использовать полу закрытые соединения (Half Closed Connections).
Вызывать shutdown(SHUT_WR) сразу после: подключения (для TCP) / отправки запроса (HTTP).
Позволяет уведомить сетевой стёк ОС о том что отправки данных больше не будет и можно освободить/не резервировать буфер сокета для отправки данных.
Некоторые реализации HTTP серверов и HTTP прокси не поддерживают полу закрытые соединения.

http

Настройки и информация для подключения HTTP источника. Так же должны присутствовать настройки для TCP.

urlPath

Строка для GET запроса: GET /%urlPath%

headersList

Дополнительные HTTP заголовки и их значения добавляемые в запрос.


streamProxy

Настройки динамически генерируемых стрим хабов. См Виды Stream Hub

<streamProxy>
	<multicast>
		<fEnable>no</fEnable>
		<hubProfileName>default</hubProfileName>
		<sourceProfileName>multicast-udp-default</sourceProfileName>
	</multicast>
	<http>
		<fEnable>no</fEnable>
		<hubProfileName>default</hubProfileName>
		<sourceProfileName>tcp-http-default</sourceProfileName>
	</http>
	<transparent>
		<fEnable>no</fEnable>
		<hubProfileName>default</hubProfileName>
		<sourceProfileName>tcp-http-default</sourceProfileName>
	</transparent>
</streamProxy>

Общие настройки динамических Stream Hub

Эти настройки одинаковые для всех динамических Stream Hub.

fEnable

Разрешить использование динамическим прокси.

hubProfileName

Имя профиля с настройками Stream Hub, см hubProfileList, hubProfile

sourceProfileName

Имя профиля с настройками источника, см sourceProfileList, sourceProfile


channelList

В секции содержится описание каналов (Stream Hub + источники).
Описание каналов может быть вынесено во множество внешних файлов.

<channelList>
	<includeFile>-/root/msd/msd_channels.conf</includeFile>
	<includeFile>-/root/msd/msd_channels2.conf</includeFile>
	<channel>
		<name>Test1.ts</name>
		<hubProfileName>default</hubProfileName>
		<precache>8192</precache>
		<skt>
			<sndBuf>1024</sndBuf>
		</skt>
		<sourceList>
			<source>
				<type>tcp-http</type>
				<sourceProfileName>tcp-http-default</sourceProfileName>
				<tcp> <!-- For: tcp and tcp-http. -->
					<remonteHostname>SomeServer.tv:7088</remonteHostname>
				</tcp>
				<http>
					<urlPath>udp/239.0.0.116:4000</urlPath>
				</http>
			</source>
			<source>
				<type>multicast-udp</type>
				<sourceProfileName>multicast-udp-default</sourceProfileName>
				<fMPEG2TSAnalyzing>yes</fMPEG2TSAnalyzing>
				<udp>
					<address>239.0.0.2:1234</address>
				</udp>
				<multicast>
					<ifName>vlan777</ifName>
				</multicast>
			</source>
			<source>
				<type>multicast-udp</type>
				<sourceProfileName>multicast-udp-default</sourceProfileName>
				<udp>
					<address>239.0.0.3:1234</address>
				</udp>
				<multicast>
					<ifName>vlan777</ifName>
				</multicast>
			</source>
		</sourceList>
	</channel>
</channelList>

includeFile

путь к файлу с каналами. Параметр не обязательный. Можно использовать много раз для загрузки каналов из множества файлов.

channel

Описание канала.
Включается в себя Stream Hub и как минимум один источник.
Особенность этой секции в том, что здесь можно записать любые параметры шаблона настроек Stream Hub, которые даны в hubProfileList, hubProfile.
Порядок загрузки параметров Stream Hub:

  1. Значения по умолчанию встроенные в msd
  2. Содержимое шаблона настроек Stream Hub на которое указывает параметр hubProfileName
  3. Значения определённые в этой секции

В примере выше значения precache и skt/sndBuf заменяют ранее загруженные одноимённые значения из шаблона настроек Stream Hub с именем default.
Флаги не могут быть сброшены, только установлены.
Флаги fZeroCliPersistent и fZeroSrcBitratePersistent устанавливаются всегда.

name

Уникальное имя канала.
По этому имени клиенты будут подключатся к Stream Hub.
Если имя начинается с “/” то оно остаётся без изменений, в противном случае к нему добавляется путь: /channel/
Можно именовать каналы произвольно, например так:

/udp/224.4.4.4:1234

См URLs
Рекомендую использовать окончание “.ts”, это требуется некоторым плеерам, типа WMP, для корректной работы.

hubProfileName

Имя шаблона настроек Stream Hub, см hubProfileList, hubProfile

sourceList, source

Список настроек источников потока.
Настройки источника потока.
Особенность этой секции в том, что здесь можно записать любые параметры шаблона настроек источника потока, которые даны в sourceProfileList, sourceProfile.
Порядок загрузки параметров источника потока:

  1. Значения по умолчанию встроенные в msd
  2. Содержимое шаблона настроек источника потока на которое указывает параметр sourceProfileName
  3. Значения определённые в этой секции

В примере выше флаг fMPEG2TSAnalyzing указывает что анализатор потока всегда включён для данного источника, не зависимо от наличия этого флага в шаблоне настроек источника.
Флаги не могут быть сброшены, только установлены.

type

Тип источника потока, доступны следующие типы:

  • udp
  • udp-rtp
  • multicast-udp
  • multicast-udp-rtp
  • tcp
  • tcp-http
  • tcp-http-hls - не реализовано

sourceProfileName

Имя шаблона источника потока, см sourceProfileList, sourceProfile.

software/msd/config.txt · Last modified: 2022/02/04 18:52 by root