Медиа.маги Документация

Last updated

ts

Мультиплексор ts объединяет закодированные аудио и видео в транспортный поток MPEG-2.

1. Сводка

Упаковывает потоки в транспортный поток MPEG-2 (.ts). Объединяет одну или несколько закодированных видеодорожек и одну или несколько закодированных аудиодорожек в единый файл транспортного потока, оформленный для эфирной выдачи, хэдендов IPTV и живых контрибуционных каналов.

2. Когда использовать

  • Готовите предкодированный MPEG-TS для систем эфирной выдачи, принимающих TS как основной формат.
  • Питаете хэденд IPTV или контрибуционный тракт фиксированно-битрейтным мультиплексом элементарных потоков видео и аудио.
  • Генерируете формат сегмента для конвейера HLS, когда нужен предкодированный TS вместо сегментатора фрагментированного MP4.

3. Входы

  • Video[]core.VideoTrack. Одна или несколько закодированных видеодорожек для мультиплексирования. Обязателен.

    Совместимые узлы выше по потоку:

    • avcintra — кодирует видео в профилях AVC-Intra.
    • ccinject — вставляет скрытые субтитры или субтитры в выход.
    • copy — пропускает исходный видеопоток в мультиплексор без перекодирования.
    • ni264 — использует аппаратно-ускоренное кодирование H.264 на NetInt.
    • qsv264 — кодирует H.264 через Intel Quick Sync Video.
    • x264 — программно кодирует видео H.264/AVC.
    • x265 — программно кодирует видео H.265/HEVC.
  • Audio[]core.AudioTrack. Одна или несколько закодированных аудиодорожек для мультиплексирования. Обязателен.

    Совместимые узлы выше по потоку:

    • aac — кодирует аудиодорожки кодеком AAC.
    • ac3 — кодирует аудиодорожки как Dolby Digital (AC-3) — типичный аудиокодек для вещательных конвейеров MPEG-TS.
    • copy — пропускает исходный аудиопоток в мультиплексор без перекодирования.
    • eac3 — кодирует аудио через Dolby Digital Plus (E-AC-3).
    • pcm — записывает несжатое аудио PCM.

4. Выходы

  • Packagecore.Package. Упакованный файл транспортного потока, готовый к шагу загрузки или к узлу файловых операций ниже по потоку.

    Совместимые узлы ниже по потоку:

    • analyze — зондирует результат для извлечения метаданных медиа.
    • concat — склеивает несколько клипов в один выход.
    • upload — записывает пакет на целевой URL.
    • delete — удаляет файл в хранилище.
    • move — перемещает или переименовывает файл в хранилище.

5. Параметры

Форма «Настройки» узла ts: муксрейт и флаги повторной отправки заголовков и начального разрыва.

Форма «Настройки» — один столбец с тремя настраиваемыми полями помимо общей подписи, описаны в порядке следования в форме. Поле Flags выставляет два флажка.

  • Node Label (string, по умолчанию пусто)

    Произвольное имя, отображаемое на плитке узла на холсте.

    • Что задаёт. Подпись над плиткой; на мультиплексированный поток не влияет.
    • Когда менять. Задавайте, когда в одном графе несколько узлов ts — например, при выдаче основного контрибуционного канала и мониторинговой копии, — чтобы каждый выход был узнаваем с одного взгляда.
  • Filename (string, оканчивающийся на .ts, без значения по умолчанию)

    Имя выходного файла транспортного потока.

    • Что задаёт. Имя, записываемое в итоговый пакет. Значение составляется с целью загрузки (URL на узле upload ниже по потоку) в итоговый путь объекта.
    • Когда менять. Задавайте фиксированное имя, когда цель ожидает детерминированный ключ объекта, или ссылайтесь на переменную процесса для суффиксов по рендерию. Оставляйте пустым, чтобы шаг загрузки назвал файл по своему шаблону URL.
  • Muxrate (number кбит/с, без значения по умолчанию — переменный битрейт)

    Общий муксрейт транспортного потока в кбит/с.

    • Что задаёт. Дополняет мультиплекс пустыми пакетами, чтобы общий рейт TS совпадал с целью. Без муксрейта выход имеет переменный битрейт, и общий рейт — сумма элементарных потоков; с муксрейтом выход имеет постоянный битрейт на запрошенном значении.
    • Когда менять. Задавайте фиксированный муксрейт, когда контрибуционный тракт или выходной мультиплексор ниже по потоку ожидает детерминированный рейт потока. Оставляйте пустым для поставок с переменным битрейтом, таких как предкодированный источник HLS, где набивка только тратит хранилище.
  • Flags (array значений enum, по умолчанию пусто)

    Флаги поведения мультиплексора TS, выставленные как два независимых флажка.

    • Resend headers. Повторно выдаёт таблицы PAT и PMT перед каждым ключевым кадром, а не только в начале потока. Включайте для любого живого или контрибуционного канала, где приёмник ниже по потоку может присоединиться в середине потока — без этого приёмник ждёт следующего цикла таблиц, прежде чем сможет декодировать. Выключайте для файловых VOD предкодирований, где весь файл читается с начала.

    • Initial discontinuity. Устанавливает флаг разрыва на первом пакете потока. Включайте, когда этот выход будет склеен после другого сегмента TS (точка склейки или перезапуск после обрыва канала), чтобы демультиплексор ниже по потоку чисто ресинхронизировался, а не воспринимал новые счётчики непрерывности как повреждение.

    • Допустимые значения. resend_headers, initial_discontinuity.

Соответствие JSON-ключей и названий полей

JSON-ключ Название поля
name Filename
muxrate Muxrate
flags Flags

6. Пример

Предкодирование MPEG-TS для вещания на холсте

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в MPEG-TS broadcast pre-encode.

7. Где используется

  • MPEG-TS broadcast pre-encode — мультиплексирует видео H.264 в режиме CBR со стереоаудио AAC на фиксированном муксрейте, чтобы выход совпадал с целевым контрибуционным трактом.

8. Антипаттерны

  • Пустой Muxrate для контрибуционного канала с постоянным битрейтом. Вещательные приёмники и выходные мультиплексоры ожидают детерминированный рейт TS; пустой муксрейт даёт выход с переменным битрейтом, чей рейт проседает вместе с элементарными потоками и срабатывает на аларм по рейту ниже по потоку. Задавайте муксрейт явно для любой CBR-доставки.
  • Пропуск Resend headers на живом или контрибуционном канале. Без циклирования PAT/PMT поздно присоединившийся приёмник не может декодировать до прихода следующей таблицы — порой это секунды черноты в эфире. Включайте флаг для любого потока, который не является полным VOD-файлом, читаемым с байта ноль.
  • Склейка сегментов TS без Initial discontinuity. Когда файл TS следует за другим во времени (склейка, вставка рекламы, восстановление после потери канала) и счётчики непрерывности не помечены как разрывные, демультиплексоры ниже по потоку воспринимают скачок как повреждение. Включайте флаг на каждом сегменте, чья временная шкала не продолжается чисто от предшественника.
  • Пара TS с кодеками, которые приёмник не принимает. TS в теории формат-нейтрален, но каждый потребитель несёт список разрешённых кодеков; мультиплексирование HEVC или AC-4 в TS для контрибуционного тракта, принимающего только H.264 + AAC, падает на ингесте. Проверяйте кодек-матрицу приёмника перед выбором элементарных потоков.
Медиа.маги Документация