---
title: HLS / HTTP, RTSP и RTMP
url: https://doc2.pstreamer.tv/ru/manual/webui/io/client.html
lang: ru
product: Perfect Streamer
version: 2.0.1.264
---

# HLS / HTTP, RTSP и RTMP

Транспорты этой группы работают по схеме «узел — клиент»: соединение всегда устанавливает сам узел, а не встречная сторона. Поэтому у них нет ни порта прослушивания, ни выбора режима — вместо адреса и порта задаётся полный URL. Приём в MPEG-TS и ограничения каждого источника описаны в [Прочие входы и выходы](../../streamer/other_io.md#streamer-other-io) и [Публикация и приём RTMP](../../streamer/rtmp.md#streamer-rtmp).

## HLS / HTTP

Вход забирает MPEG-TS по HTTP: либо разбирает плейлист HLS и скачивает сегменты, либо читает непрерывный поток из ответа сервера ([Вход HLS / HTTP](../../streamer/other_io.md#streamer-other-io-hls)). Доступен только SPTS-потокам; выхода этого типа нет — раздача по HLS настраивается на вкладке «OTT» самого потока ([OTT и DVR](../../streamer/ott_dvr.md#streamer-ott-dvr)).

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| URI | Адрес плейлиста или потока. Принимаются только схемы `http://` и `https://`; адрес с другой схемой окно не сохранит. Обязательное поле. | `http://…` или `https://…` |
| 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 | Значение заголовка `User-Agent` во всех запросах. Пустое поле — заголовок не отправляется вовсе. | по умолчанию пусто |
| Cookies | Готовое значение заголовка `Cookie`, целиком, как его ожидает сервер. Обмена cookie нет: то, что устанавливает сервер, узел не запоминает и не возвращает. | по умолчанию пусто |
| Disable URL encode | Отправлять путь и параметры запроса в раскодированном виде. Нужно для серверов, неверно обрабатывающих процентное кодирование в ссылках плейлиста; для корректного сервера включение может, наоборот, испортить ссылку. | по умолчанию выключено |
| Trace | Подробная запись в журнал: каждый запрос и его результат, перенаправления, тело плейлиста, очередь и размер сегментов. Диагностическая настройка — в обычной работе выключена. | по умолчанию выключено |

Особенности приёма, о которых стоит знать при диагностике: сегменты должны быть MPEG-TS (плейлист с сегментами fMP4/CMAF не принимается); узел проходит не более трёх перенаправлений подряд; сертификат сервера при `https` не проверяется.

## RTSP

Вход открывает RTSP-сессию, читает элементарные потоки и ремультиплексирует их в MPEG-TS ([Вход RTSP](../../streamer/other_io.md#streamer-other-io-rtsp)). Только для SPTS-потоков; выхода этого типа нет.

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| URI ([rtsp://](rtsp://)…) | Полный адрес RTSP-сессии. Обязательное поле. В отличие от входа HLS схема здесь не проверяется при сохранении — ошибка в ней выяснится при запуске входа. | `rtsp://…` |
| 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](../../streamer/rtmp.md#streamer-rtmp)). Только для SPTS-потоков.

### Вход

| Поле | Назначение | Значения |
| --- | --- | --- |
| URL (rtmp(s)://…) | Адрес источника. Обязательное поле. | `rtmp://…` или `rtmps://…` |
| Bind interface | Локальный интерфейс исходящего соединения; выбирается из списка интерфейсов узла. | по умолчанию любой |
| Client timeout (s) | Таймаут подключения и чтения. | 1–120, по умолчанию 10 |
| Verify TLS certificate | Для `rtmps://` — проверять сертификат сервера. По умолчанию выключено, поэтому соединение устанавливается и с самоподписанным сертификатом. | по умолчанию выключено |
| Trace | Запись смены состояний подключения RTMP в журнал потока. | по умолчанию выключено |

### Выход

Те же поля, что у входа, и дополнительно:

| Поле | Назначение | Значения |
| --- | --- | --- |
| Allow HEVC (Enhanced RTMP) | Разрешить публикацию HEVC через расширение Enhanced RTMP. Выключение не переводит поток в H.264: публикуется только источник H.264, а источник HEVC при выключенной настройке не публикуется вовсе — причина видна в статистике выхода. | по умолчанию включено |

Публикуется одна программа: одно видео и не более одной звуковой дорожки AAC. Отбирать дорожки вручную не требуется — выход сам берёт первое подходящее видео и первую дорожку AAC, а остальные отбрасывает и перечисляет отброшенное в статистике. Публикация не выполняется только тогда, когда подходящего видео нет вовсе. Если ограничить нужно сам поток, PID-фильтры задаются на вкладке «MPEG-TS PID» окна входа и действуют на весь поток целиком, со всеми его выходами ([Фильтрация MPEG-TS](../../streamer/spts.md#streamer-spts-filter)).
