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

Last updated

concat

Узел concat, сшивающий три входа Package в один непрерывный выходной пакет.

1. Сводка

Сшивает до 16 исходных пакетов встык в единый непрерывный пакет, чьи дорожки видео, аудио и таймкода читаются как одна неразрывная временная шкала. Лучший результат требует, чтобы входы совпадали по кодеку, растру, частоте кадров и раскладке каналов, тогда достаточно быстрого ремультиплекса; при их различии цепочке ниже по потоку придётся перекодировать.

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

  • Стыкуете пре-ролл, основной материал и пост-ролл в одну поставку — заставки, правовые слейты, рекламные блоки, концовки, сшитые вокруг тела программы.
  • Конкатенируете сегментированные источники, чья шкала разбита на несколько файлов, например многочастные записи, новостные верстки или языковые мастеры, объединённые в одну ленту.
  • Обрамляете уже закодированный клип брендированными вступительным и финальным сегментами перед тем, как результат ремультиплексируется и загружается.
  • Пересобираете собственные предобработанные сегменты процесса обратно в один пакет после того, как каждый обработан параллельно.

3. Входы

  • APcore.Package. До шестнадцати входов-пакетов, названных AP. Каждый несёт один исходный пакет (аудио, видео, таймкод и любые другие дорожки, которые платформа демультиплексирует) и читается в порядке буквы входа во время выполнения. A — первый сегмент в сшивке; B дописывается за A; C — за B; и так далее. Подключайте только нужные входы; неподключённые пины пропускаются по порядку, но соседние пропуски сбивают читающего — держите используемые пины подряд.

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

    • download — узел-источник, забирающий пакет по URL; типичный питатель каждого сегмента.

    Файловые упаковщики (mp4, mov, mxf, ts) и потоковые мультиплексоры (dash, hls3, hls5) также отдают core.Package и могут быть повторно поданы на вход concat, когда процессу нужно сшить собственные смультиплексированные сегменты перед финальным мультиплексированием.

4. Выходы

  • Packagecore.Package. Конкатенированный пакет — одна непрерывная видеошкала, одна непрерывная аудиошкала (или по одной на дорожку в источнике) и одна дорожка таймкода, если сегменты несут совместимые таймкод-привязки. Подключите его в цепочку ремаппинга или обратно в мультиплексор для финального контейнера.

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

    • map/audio — выбирает, какие аудиодорожки конкатенированного пакета идут дальше.
    • map/text — выбирает дорожки субтитров для выхода.
    • map/timecode — сохраняет стартовый таймкод программы через сшивку.
    • map/video — выбирает видеодорожку конкатенированного пакета.

5. Параметры

Форма «concat Node Settings».

Форма «Настройки» содержит одно поле помимо общей подписи.

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

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

    • Что задаёт. Подпись над плиткой; на сшитый выход не влияет.
    • Когда менять. Задавайте, когда в одном графе несколько узлов concat — например, конвейер, который сшивает вступительную последовательность на одном этапе и финальную — на другом, — чтобы каждый был узнаваем с одного взгляда.

6. Пример

Процесс MP4 с брендированным наложением логотипа на холсте

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в MP4 with branded logo overlay.

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

  • MP4 with branded logo overlay — сшивает вступительный клип на входе A, брендированный MP4 на B и финальный клип на C в пакет, который питает финальное мультиплексирование.

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

  • Сшивка сегментов, чьи кодеки, растр, частота кадров или частота сэмплов расходятся. Выход вроде бы валидируется, но шов воспроизводится как сбой — замирание, испорченный GOP или аудио, ресинхронизирующееся после границы. Нормализуйте входы выше по потоку (закодируйте в общий профиль, прогоните vf/scale и af/aresample под общую цель) перед этим узлом.
  • Соединение источников с разной расстановкой GOP / IDR. Даже когда кодеры совпадают, шов, попавший внутрь открытого GOP, вынуждает ремультиплекс ниже по потоку выбрасывать кадры или откатываться к полному перекодированию. Настройте кодер выше по потоку на фиксированный интервал ключевых кадров (x264Key Interval, эквиваленты на x265 и аппаратных кодерах) и отключите open GOP, когда поставку будут пересегментировать.
  • Смешение несогласованных раскладок аудиоканалов между входами. Если один сегмент несёт стерео, а другой 5.1, конкатенация либо отбросит каналы, либо дополнит тишиной более «лёгкую» сторону — ни то, ни другое неприемлемо. Нормализуйте узлом af/stereo или af/join на каждой ветви перед concat.
  • Расчёт на непрерывность исходного таймкода между сегментами. Каждый вход несёт своё начало таймкода; сшитый выход сохраняет шкалу только когда цепочка выше по потоку пересчитала входы к общей привязке. В сомнении перепишите таймкод после этого узла через map/timecode.
  • Оставленные несмежные пины входа неподключёнными. Подключение пинов A, B, D (с пропуском C) допустимо — платформа читает подключённые входы в порядке букв и игнорирует пропуски, — но холст труднее проверять, а будущий читающий примет пропуск за ошибку. Держите используемые пины подряд начиная с A.
Медиа.маги Документация