Прочие входы и выходы¶
Подробности настройки входов и выходов, кратко перечисленных в обзоре протоколов (Другие входы и выходы): приём с RTSP-источников и по HLS/HTTP, работа с файлами и устройствами, именованные каналы и мост к внешним приложениям. Названия полей — как в интерфейсе.
Вход RTSP¶
Приём видеопотока с RTSP-источников — IP-камер и RTSP-серверов. Узел открывает RTSP-сессию, читает элементарные потоки и ремультиплексирует их во встроенный MPEG-TS; дальше поток проходит обычный конвейер SPTS. Если в источнике нет звуковых дорожек, добавляется тихая дорожка MPEG-1 Layer II — конвейеру нужна хотя бы одна звуковая дорожка. RTSP — однопрограммный источник, доступен только SPTS-потокам.
Настройки:
URI (rtsp://…) — полный адрес сессии; Login и Password — учётные данные, если сервер требует авторизацию;
Transport — транспорт RTP внутри RTSP: UDP (по умолчанию; низкая задержка, чувствительность к потерям), TCP (проходит NAT и межсетевые экраны) или HTTP-туннель (для прохода через HTTP-прокси);
User-Agent и Cookies (дополнительные настройки) — для серверов с нестандартной авторизацией;
Client timeout — таймаут открытия и чтения, по умолчанию 10 секунд.
Вход HLS / HTTP¶
Приём MPEG-TS поверх HTTP: обычный HLS-плейлист либо непрерывная HTTP-передача. Режим по умолчанию определяется автоматически по типу содержимого ответа; при необходимости задаётся явно. Для адаптивного плейлиста по умолчанию берётся первый вариант из master-плейлиста; номер варианта можно задать явно (дополнительная настройка). Поддерживаются авторизация логином и паролем, Cookies и собственный User-Agent, а также плейлисты, перенаправляющие на плейлист новой сессии. Вход доступен только SPTS-потокам; для MPTS используйте UDP / RTP / TCP, файл или DVB-адаптер.
Файлы и устройства¶
Тип file служит и входом, и выходом:
Выход — запись в TS-файл (например, для последующей диагностики внешними анализаторами) или вывод в устройство: любое устройство в
/dev, в том числе платы SDI и ASI. Для устройства включается признак Is device node.Вход — цикличное воспроизведение из TS-файла либо захват с устройства (например, приём DVB-ASI — DVB-приёмник).
Путь задаётся полем File path — полный путь к файлу или устройству.
Именованные каналы (pipe)¶
Чтение из существующего именованного канала (FIFO) и запись в него. В
отличие от типа std, узел не запускает дочерний процесс: внешняя
программа-источник или получатель должна быть запущена независимо и
держать канал открытым со своей стороны. Поле FIFO path (empty = auto)
задаёт путь к существующему FIFO (создаётся, например, командой
mkfifo); при пустом значении узел сам создаёт FIFO и назначает путь
автоматически (путь виден в статистике входа или выхода). Доступен для SPTS и MPTS.
Внешние приложения (std)¶
Тип std — мост к протоколам, не поддерживаемым встроенными средствами: поток MPEG-TS принимается и передаётся через стандартные потоки ввода-вывода стороннего консольного приложения, которое узел запускает и контролирует сам (перезапуская при завершении).
Контракт приложения:
вход — приложение пишет MPEG-TS в stdout; диагностические сообщения выводите только в stderr — stdout зарезервирован для потока;
выход — приложение читает MPEG-TS из stdin; настройка Packets per write задаёт пакетирование записи (1–16 TS-пакетов за операцию, дополнительная настройка).
Настройки: Command (absolute path) — абсолютный путь к приложению; Arguments — командная строка (кавычки сохраняют пробелы внутри аргумента, обратная косая черта экранирует символы); Env names и Env values — пары переменных окружения, передаваемых приложению.