HLS / HTTP, RTSP и RTMP¶
Транспорты этой группы работают по схеме «узел — клиент»: соединение всегда устанавливает сам узел, а не встречная сторона. Поэтому у них нет ни порта прослушивания, ни выбора режима — вместо адреса и порта задаётся полный URL. Приём в MPEG-TS и ограничения каждого источника описаны в Прочие входы и выходы и Публикация и приём RTMP.
HLS / HTTP¶
Вход забирает MPEG-TS по HTTP: либо разбирает плейлист HLS и скачивает сегменты, либо читает непрерывный поток из ответа сервера (Вход HLS / HTTP). Доступен только SPTS-потокам; выхода этого типа нет — раздача по HLS настраивается на вкладке «OTT» самого потока (OTT и DVR).
Вход¶
Поле |
Назначение |
Значения |
|---|---|---|
URI |
Адрес плейлиста или потока. Принимаются только схемы |
|
Login, Password |
Учётные данные HTTP. Узел отправляет их не сразу: сначала выполняется обычный запрос, и только на ответ 401 повторяется запрос с той схемой авторизации, которую назвал сервер. Данные прикладываются и к плейлисту, и к каждому сегменту. Пара работает целиком: логин с пустым паролем не используется. |
по умолчанию пусто |
Mode |
Как трактовать ответ сервера. Auto-detect — по типу содержимого: тип плейлиста означает разбор HLS, любой другой — чтение непрерывного MPEG-TS. HLS — всегда разбирать как плейлист (для серверов, отдающих плейлист с неверным типом содержимого). Plain HTTP / MPEG-TS — всегда читать поток, не разбирая. |
Auto-detect (по умолчанию), HLS, Plain HTTP / MPEG-TS |
Client timeout (s) |
Таймаут одной сетевой операции — подключения, отправки запроса и чтения ответа, и для плейлиста, и для каждого сегмента. Меньшее значение ускоряет переход на резервный вход, большее — терпимее к далёкому или медленному источнику. |
от 1, по умолчанию 10 |
Adaptive stream id |
Какой вариант брать из мастер-плейлиста — по порядку перечисления в плейлисте, считая с единицы, а не по битрейту. Значение больше числа вариантов приводит к выбору последнего. Для обычного (не мастер) плейлиста поле не действует. |
от 1, по умолчанию 1 |
Chunks preloading |
Сколько сегментов скачивается одновременно. Единица — строго последовательное скачивание; большее значение скрывает задержку канала до источника и помогает нагнать отставание, но открывает столько же параллельных соединений. |
1–10, по умолчанию 1 |
User-Agent |
Значение заголовка |
по умолчанию пусто |
Cookies |
Готовое значение заголовка |
по умолчанию пусто |
Disable URL encode |
Отправлять путь и параметры запроса в раскодированном виде. Нужно для серверов, неверно обрабатывающих процентное кодирование в ссылках плейлиста; для корректного сервера включение может, наоборот, испортить ссылку. |
по умолчанию выключено |
Trace |
Подробная запись в журнал: каждый запрос и его результат, перенаправления, тело плейлиста, очередь и размер сегментов. Диагностическая настройка — в обычной работе выключена. |
по умолчанию выключено |
Особенности приёма, о которых стоит знать при диагностике: сегменты должны быть MPEG-TS
(плейлист с сегментами fMP4/CMAF не принимается); узел проходит не более трёх
перенаправлений подряд; сертификат сервера при https не проверяется.
RTSP¶
Вход открывает RTSP-сессию, читает элементарные потоки и ремультиплексирует их в MPEG-TS (Вход RTSP). Только для SPTS-потоков; выхода этого типа нет.
Вход¶
Поле |
Назначение |
Значения |
|---|---|---|
URI (rtsp://…) |
Полный адрес RTSP-сессии. Обязательное поле. В отличие от входа HLS схема здесь не проверяется при сохранении — ошибка в ней выяснится при запуске входа. |
|
Login, Password |
Учётные данные RTSP. Узел подставляет их в адрес сессии, поэтому дальше работает та схема авторизации, которую требует камера. Логин используется и с пустым паролем. Если адрес уже содержит учётные данные, значения этих полей их заменяют. |
по умолчанию пусто |
Transport |
Транспорт RTP внутри сессии. UDP — отдельные датаграммы: наименьшая задержка, чувствительность к потерям. TCP — RTP внутри управляющего соединения: проходит NAT и межсетевые экраны. HTTP — туннель RTSP поверх HTTP для прохода через прокси. |
UDP (по умолчанию), TCP, HTTP |
Client timeout (s) |
Предельное время одной сетевой операции сессии. По его истечении молчащий источник считается отказавшим, и поток переключается или переподключается. |
от 1, по умолчанию 10 |
User-Agent, Cookies |
Значения одноимённых полей запроса — для устройств, отвечающих только известным клиентам, и для сессий, привязанных к cookie. |
по умолчанию пусто |
Trace |
Запись смены состояний сессии в журнал потока. |
по умолчанию выключено |
RTMP¶
Узел работает с RTMP и RTMPS только как клиент: вход забирает поток по URL, выход публикует поток на внешнюю точку приёма. Приём входящих публикаций не поддерживается (Публикация и приём RTMP). Только для SPTS-потоков.
Вход¶
Поле |
Назначение |
Значения |
|---|---|---|
URL (rtmp(s)://…) |
Адрес источника. Обязательное поле. |
|
Bind interface |
Локальный интерфейс исходящего соединения; выбирается из списка интерфейсов узла. |
по умолчанию любой |
Client timeout (s) |
Таймаут подключения и чтения. |
1–120, по умолчанию 10 |
Verify TLS certificate |
Для |
по умолчанию выключено |
Trace |
Запись смены состояний подключения RTMP в журнал потока. |
по умолчанию выключено |
Выход¶
Те же поля, что у входа, и дополнительно:
Поле |
Назначение |
Значения |
|---|---|---|
Allow HEVC (Enhanced RTMP) |
Разрешить публикацию HEVC через расширение Enhanced RTMP. Выключение не переводит поток в H.264: публикуется только источник H.264, а источник HEVC при выключенной настройке не публикуется вовсе — причина видна в статистике выхода. |
по умолчанию включено |
Публикуется одна программа: одно видео и не более одной звуковой дорожки AAC. Отбирать дорожки вручную не требуется — выход сам берёт первое подходящее видео и первую дорожку AAC, а остальные отбрасывает и перечисляет отброшенное в статистике. Публикация не выполняется только тогда, когда подходящего видео нет вовсе. Если ограничить нужно сам поток, PID-фильтры задаются на вкладке «MPEG-TS PID» окна входа и действуют на весь поток целиком, со всеми его выходами (Фильтрация MPEG-TS).