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

Last updated

copy

Узел copy, пропускающий аудио и видео в мультиплексор MP4 без перекодирования.

1. Сводка

Пропускает аудио и видео на следующий этап без изменений — без перекодирования, без фильтрации, без потери качества. Включённый между map/audio / map/video и мультиплексором ниже по потоку, copy сохраняет точные байты источника для несомой им эссенции, пока параллельная ветвь преобразует другую эссенцию.

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

  • Ремультиплексируете в новый контейнер, оставляя картинку побайтово идентичной источнику — типично для быстрых конвейеров мультиплексирования, чья единственная задача — обернуть уже закодированное видео в другой пакет.
  • Перемикшируете или перекодируете аудио, пока видео должно оставаться без потери поколения: сочетайте copy на видеоветви с аудиоцепочкой (например, af/joinac3) на аудиоветви, затем смультиплексируйте обе в один контейнер.
  • Готовите сквозную поставку рядом с перекодированной: одна ветвь кодирует под доставку, параллельная несёт неизменённую эссенцию через copy для архива или систем ниже по потоку.
  • Обходите видеокодер, когда кодек, растр, битрейт и цветовая раскладка источника уже совпадают со спецификацией поставки.

3. Входы

  • Audio[]filtergraph.AudioTransform. Один аудиопоток или цепочка фильтров для сквозного пропуска без изменений.

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

    • af/aformat — приводит аудио к заданному формату сэмплов.
    • af/aresample — пересэмплирует аудио к целевой частоте.
    • af/join — объединяет несколько аудиопотоков в один.
    • af/stereo — фиксирует 2-канальную стерео-раскладку аудио.
    • map/audio — выбирает, какие аудиопотоки источника идут дальше.
  • Videofiltergraph.VideoTransform. Один видеопоток или цепочка фильтров для сквозного пропуска без изменений.

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

    • map/video — выбирает исходный видеопоток.
    • vf/crop — обрезает активную область картинки.
    • vf/dar — задаёт соотношение сторон при отображении.
    • vf/deinterlace — убирает чересстрочность.
    • vf/fieldorder — фиксирует заданный порядок полей.
    • vf/format — нормализует пиксельный формат.
    • vf/fps — приводит видео к фиксированной частоте кадров.
    • vf/letterbox — дополняет кадр источника до целевого соотношения.
    • vf/overlay — накладывает графику поверх картинки.
    • vf/scale — масштабирует картинку до целевого растра.

4. Выходы

  • Audio[]core.AudioTrack. Аудиопоток как он пришёл, перетипизированный в дорожку, готовую для мультиплексора или потокового упаковщика.

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

    • dash — упаковывает дорожки в манифест MPEG-DASH.
    • hls3 — упаковывает дорожки в плейлист HLS v3.
    • hls5 — упаковывает дорожки в плейлист HLS v5.
    • mov — оборачивает дорожки в файл MOV (QuickTime).
    • mp4 — оборачивает дорожки в файл MP4.
    • mxf — оборачивает дорожки в файл MXF.
    • ts — оборачивает дорожки в файл MPEG-TS.
  • Videocore.VideoTrack. Видеопоток как он пришёл, перетипизированный в дорожку, готовую для мультиплексора или потокового упаковщика.

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

    • dash — упаковывает дорожки в манифест MPEG-DASH.
    • hls3 — упаковывает дорожки в плейлист HLS v3.
    • hls5 — упаковывает дорожки в плейлист HLS v5.
    • mov — оборачивает дорожки в файл MOV (QuickTime).
    • mp4 — оборачивает дорожки в файл MP4.
    • mxf — оборачивает дорожки в файл MXF.
    • ts — оборачивает дорожки в файл MPEG-TS.

5. Параметры

У этого узла нет настраиваемых параметров. Выбор его на холсте не открывает формы; достаточно добавить его в цепочку, чтобы пропустить подключённые эссенции без изменений.

6. Пример

Процесс 5.1 surround AC-3 MP4 на холсте

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в 5.1 surround AC-3 MP4.

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

  • 5.1 surround AC-3 MP4 — пропускает видео источника в мультиплексор MP4 побайтово, пока параллельная ветвь сводит шесть моноаудиодорожек в поток объёмного звука 5.1 AC-3.
  • MP4 with branded logo overlay — пропускает пакет concat во второе мультиплексирование MP4 без перекодирования любой из эссенций.

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

  • Копирование потока, который мультиплексор назначения не может обернуть. copy не меняет кодек, растр или формат сэмплов эссенции; если видео источника в кодеке, который контейнер или потоковый упаковщик ниже по потоку не принимает (или несёт неподдерживаемый пиксельный формат / битовую глубину), мультиплексирование падает. Убедитесь, что источник совпадает со спецификацией поставки, или замените эту ветвь явным кодером.
  • Копирование потока, которому нужна нормализация цвета или пиксельного формата. Плееры отвергнут поток, чью цветовую раскладку назначение ожидает нормализованной — например, источник HDR, скопированный в SDR-only поставку. Добавьте подходящий vf/format и цветовые параметры на ветви кодера вместо отката к copy.
  • Использование copy, чтобы «починить» проблемный источник. copy ничего не делает — он передаёт байты дословно. Если источник чересстрочный, имеет неверную частоту кадров или внеспецификационный таймкод, copy передаст ту же проблему мультиплексору. Вставьте нужный фильтр (vf/deinterlace, vf/fps, map/timecode) перед этим узлом или замените его кодером.
  • Включение copy между двумя фильтрами одной цепочки эссенции. copy — это сквозной пропуск дорожки: он потребляет вход цепочки фильтров и отдаёт упакованную дорожку. Включить видеофильтр в copy и затем ждать, что можно подать ещё один видеофильтр ниже по потоку, не выйдет; тот следующий фильтр ждёт filtergraph.VideoTransform, который copy не отдаёт. Держите все цепочки фильтров неразрывно выше по потоку от copy.
Медиа.маги Документация