Поля входов и выходов по транспортам¶
Справочник полей окна «Редактор входа и выхода» (Редактор входа и выхода): что задаёт каждое поле, какие значения оно принимает и чем различаются вход и выход одного транспорта. Общие для всех транспортов поля и приёмы работы с окном описаны на этой странице, поля отдельных транспортов — на страницах ниже. Выбор протокола передачи и планирование канала описаны в Планирование и протоколы передачи данных, обработка потока на узле — в Streamer: особенности реализации.
Подписи полей самого транспорта интерфейс не переводит: это технические обозначения, и на любом языке они выводятся по-английски. Здесь они приведены так же, как в окне, вместе с единицей измерения, которую интерфейс дописывает к подписи: «Latency (ms)», «Client timeout (s)». Исключение одно — логин и пароль у входов PS1 и SRT: их рисует отдельный блок авторизации, и подписи «Логин» и «Пароль» там переведены.
Состав полей зависит прежде всего от типа транспорта и от направления: у одного и того же транспорта вход и выход — разные наборы, поэтому ниже они описаны отдельно даже там, где подписи совпадают. Часть полей, кроме того, появляется и исчезает по обстановке — от того, SPTS это поток или MPTS, от режима listener или caller, от выбранного декодера и от того, включена ли автоматическая раскладка PID.
Вкладок в окне тоже бывает разное число. У входа их всегда не меньше двух — «Свойства» и
«MPEG-TS PID», а у входов UDP, RTP, Pro-MPEG, PS1, SRT, RIST, TCP и входов
file, pipe, std добавляется третья, «BISS». У выхода вкладка одна,
«Свойства»; исключение — выход-мультиплексор, у которого есть и «MPEG-TS PID»
(Мультиплексор (muxer)). Когда вкладка всего одна, полоса вкладок не показывается вовсе.
Тип транспорта задаётся полем «Тип» в самом верху окна: при создании это список доступных транспортов, при изменении — недоступное для правки поле, потому что тип менять нельзя (для смены транспорта точку пересоздают). Смена типа в форме создания очищает все заполненные поля транспорта — сохраняются только заметка, признак паузы и поля каталога домена.
Общие поля¶
Поле Note есть у входа и выхода любого типа; в окне оно стоит последним, за разделителем.
Поле |
Назначение |
Значения |
|---|---|---|
Note |
Произвольная заметка: назначение точки, ответственный, номер заявки. Видна в списках входов и выходов и в раскрытой строке потока. |
строка, по умолчанию пусто |
Приостановка в этом окне не настраивается, хотя признак паузы у входа и выхода есть: им управляет кнопка паузы в строке списка входов и выходов. Знать об этом важно при создании: вновь созданные вход и выход создаются приостановленными, и после сохранения их включают из списка. Порядок входов, задающий приоритет резервирования, здесь тоже не правится — его меняют перетаскиванием строк (Резервирование источников и раздача).
Ещё два поля добавляются только у транспортов, попадающих в общий каталог ресурсов домена (UDP, RTP, Pro-MPEG, RIST, PS1 и SRT; Общий каталог ресурсов) — в окне они стоят отдельной группой:
Поле |
Назначение |
Значения |
|---|---|---|
Peer note (meshwork library) |
Пометка этой точки в каталоге домена: по ней соседний узел понимает, что за ресурс он видит. |
строка, по умолчанию пусто |
Peer private |
Не объявлять точку в каталоге домена. Точка продолжает работать, но соседние узлы её не видят и в окне «Библиотека — этот поток» она не появляется (Библиотека — этот поток). |
по умолчанию выключено |
Наличие этих двух полей ещё не означает, что точка попадёт в каталог. Правила такие: выход объявляется всегда — и при multicast, и при unicast; вход UDP, RTP или RIST — только когда его адрес является группой multicast; входы PS1 и SRT объявляются всегда, а вход Pro-MPEG не объявляется вовсе, хотя поля у него есть (Общий каталог ресурсов).
Общие поля входа¶
У входа есть ещё группа настроек синхронизации — она относится не к транспорту, а к обработке потока на узле, поэтому одинакова для всех типов. Состав группы зависит от типа потока: у входа SPTS-потока это все три поля, у входа MPTS-потока — только последнее.
Поле |
Назначение |
Значения |
|---|---|---|
Auto jitter buffer |
Автоматический подбор размера буфера по типу входа (Синхронизация). |
по умолчанию включено; в форме создания показан выключенным |
Jitter buffer (ms) |
Размер буфера вручную — действует, когда автоматический подбор выключен. |
от 10, по умолчанию 500 |
PCR discontinuity window (ms) |
Окно, в пределах которого скачок PCR считается допустимым; больший скачок вызывает жёсткую пересинхронизацию. У MPTS-потока то же окно применяется к каждой программе мультиплекса (Анализ по программам). |
от 100, по умолчанию 1000 |
Отбор и переназначение PID, а также ключи BISS задаются на отдельных вкладках того же окна и описаны в Редактор входа и выхода.
Обязательные поля и проверка значений¶
Часть полей обязательна — без них узел не сможет установить соединение. Пока такое поле пусто, кнопка сохранения недоступна, а под самим полем появляется сообщение «Поле <подпись> обязательно». Сообщение показывается только после первого изменения формы, поэтому только что открытая форма выглядит чистой, хотя сохранение уже заблокировано. Какие поля обязательны, указано на страницах транспортов.
Остальные проверки выполняются по мере ввода и точно так же блокируют сохранение:
Сообщение |
Когда появляется |
|---|---|
«Минимум N», «Максимум N» |
Число вне допустимого диапазона поля. |
«Должно быть 0 или 32–8190» |
PID вне допустимого набора: значения 1–31 зарезервированы, 8191 — нулевой PID. Ноль означает «как во входном потоке». |
«Должно быть N–M байт» |
Парольная фраза недопустимой длины. Длина считается в байтах, а не в символах: кириллическая буква занимает два байта. |
«Должно начинаться с <схема>» |
Адрес входа HLS введён без схемы |
Пустая парольная фраза ошибкой не считается — это отсутствие шифрования. Дробное значение в целочисленном поле ввести нельзя вовсе: поле его не принимает.
Проверки окна повторяют ограничения узла, но не заменяют их. Длину текстовых полей и неповторимость номеров — например, номера программы в мультиплексе — проверяет только узел. Проверка диапазона к тому же выполняется не для всех числовых полей: поле, у которого нет значения по умолчанию, покоится на нуле, и окно его не подсвечивает — слишком малое значение в таком поле заметит только узел.
Парные списки в окне рассогласовать нельзя: и переназначение PID, и языки дорожек, и пиры RIST правятся строками, а строка добавляется целиком.
Отказ узла окно не скрывает: оно остаётся открытым с заполненной формой, а сверху появляется полоса с сообщением узла — как есть, по-английски, поскольку это текст самого узла, а не интерфейса. Введённые значения при этом не теряются.
Ещё одно различие между созданием и изменением стоит держать в уме при чтении столбца «Значения». В форме создания часть значений уже проставлена — те, что названы ниже как значение формы или как значение по умолчанию, — и они сохраняются вместе с остальными. Прочие поля форма оставляет пустыми или нулевыми, и узел применяет к ним свои значения сам. При изменении существующей точки так же выглядит поле, которое ни разу не задавали: пустым, хотя узел применяет к нему значение по умолчанию.
Приёмы работы с полями¶
Вставить URL. Кнопка разбирает ссылку из буфера обмена и раскладывает её по полям
адреса и порта. Схему указывать не обязательно — достаточно адрес:порт; но если она
указана, то должна соответствовать транспорту: udp:// для UDP, rtp:// или
udp:// для RTP, prompeg://, rtp:// или udp:// для Pro-MPEG, tcp://
для TCP, ps1:// для PS1 и srt:// для SRT. Когда в буфере нет ничего подходящего,
кнопка недоступна и поясняет: «В буфере обмена нет подходящего адреса для вставки».
Кнопка есть только там, где у точки есть пара «адрес и порт»: у входов UDP, RTP, Pro-MPEG, TCP, PS1 и SRT и у выходов UDP, RTP, Pro-MPEG и SRT. У выхода PS1 её нет — он только слушает порт, — как и у транспортов, где адрес задаётся иначе (RIST, HLS, RTSP, RTMP, файл).
Если браузер не разрешает читать буфер обмена, кнопка просто ставит курсор в поле
адреса: вставленная вручную ссылка точно так же разложится по двум полям. Это работает
и без кнопки — достаточно вставить адрес:порт прямо в поле адреса.
Выбрать из библиотеки… Кнопка открывает каталог ресурсов домена прямо в окне и подставляет адрес выбранного источника, не вводя его вручную (Источники библиотеки). Она есть только у входов UDP, RTP, Pro-MPEG, PS1 и SRT. Для PS1 и SRT подставляется тот адрес партнёра, по которому он доступен, а у соседа из своего домена заодно включается автовход Meshwork и очищаются логин с паролем.
Найти свободный порт. Автоподбор предусмотрен у выхода PS1 и у SRT в режиме listener: поле порта можно оставить нулевым — подсказка «0 = авто» — и узел подберёт свободный порт при сохранении, а кнопка рядом подбирает его сразу. Если свободных портов не нашлось или запрос не удался, окно сообщает об этом и сохранение не выполняется. У остальных точек порт вводится вручную, даже там, где узел занимает его сам, — например у входов UDP.
У поля с автоподбором есть и мягкая проверка: если при изменении уже созданной точки ввести порт, отличный от сохранённого, и он окажется занят, под полем появится предупреждение «Этот порт, возможно, уже используется на этом узле». Сохранение оно не блокирует.
Пароли и логины. Поля парольных фраз и паролей показываются скрытыми; кнопка «Показать пароль» открывает введённое значение. Логины, наоборот, браузер запоминает после удачного сохранения и предлагает при следующем вводе — общим списком для всех транспортов, поэтому логин, введённый однажды для RTSP, будет предложен и на входе SRT. Пароли не запоминаются никогда.
Закрытие окна. Если в форме что-то менялось, «Отмена», Esc и «✕» просят подтвердить отказ от изменений; нетронутое окно закрывается сразу.