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

Last updated

vf/format

vf/format на холсте.

1. Сводка

Принудительно задаёт пиксельный формат видеопотока. Преобразует субдискретизацию цветности и разрядность под требования кодера до того, как кадр дойдёт до кодера.

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

  • Нормализуете источник, чей пиксельный формат кодер ниже по потоку не примет (например, yuv444p в кодирование x264 на профиле main).
  • Фиксируете конвейер на 10-битном 4:2:2 перед вещательным кодером (XDCAM HD 4:2:2, AVC-Intra 100, ProRes 422 HQ).
  • Понижаете до 8-битного 4:2:0 для стриминговых поставок H.264 (HLS, DASH, MP4), где важна максимальная поддержка декодерами.
  • Приводите обе ветви мульти-выходного графа к одному пиксельному формату, чтобы наложение или склейка композитировались чисто.

3. Входы

  • Videofiltergraph.VideoTransform. Видеопоток для преобразования. Обязателен.

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

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

4. Выходы

  • Videofiltergraph.VideoTransform. Видео в выбранном пиксельном формате.

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

    • vf/crop — обрезает кадр до интересующей области.
    • vf/dar — задаёт метаданные соотношения сторон при отображении.
    • vf/deinterlace — убирает артефакты чересстрочности.
    • vf/fieldorder — меняет или задаёт флаг порядка полей.
    • vf/fps — меняет частоту кадров на выходе.
    • vf/hwupload — загружает кадры в GPU для аппаратной обработки.
    • vf/letterbox — дополняет кадр до целевого растра.
    • vf/overlay — накладывает графику на видео.
    • vf/scale — масштабирует видео до заданных размеров.
    • avcintra — кодирует видео профилями AVC-Intra.
    • dv — пишет выход как файл/контейнер DV.
    • ni264 — использует аппаратно-ускоренное кодирование H.264.
    • prores — кодирует видео в профили Apple ProRes.
    • qsv264 — кодирует H.264 через Intel Quick Sync Video.
    • x264 — программно кодирует видео H.264/AVC.
    • x265 — программно кодирует видео H.265/HEVC.
    • xdcam — кодирует XDCAM HD MXF для вещательной доставки.

5. Параметры

Форма «Настройки» узла vf/format.

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

  • Format (enum, по умолчанию yuv420p)

    Целевой пиксельный формат.

    • Что задаёт. Субдискретизацию цветности и разрядность, которые получает кодер. yuv420p — 8-битный 4:2:0, формат, который ожидает большинство стриминговых декодеров H.264 и HEVC. yuv422p — 8-битный 4:2:2, используемый в вещании. yuv411p — формат SD DV NTSC. Варианты *10le / *10be — 10-битные, используются для HDR, архивных мастеров и вещательных мезонинов.
    • Когда менять. Выбирайте yuv420p для общих стриминговых поставок. Выбирайте yuv422p10le для ProRes 422 HQ, XDCAM HD 4:2:2, AVC-Intra 100. Выбирайте yuv411p для DV NTSC. Сопоставляйте с требуемым входом кодера.
    • Допустимые значения. yuv420p, yuv420p10le, yuv420p10be, yuv422p, yuv422p10le, yuv422p10be, yuv411p.
    • Обязательно. да.

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

JSON-ключ Название поля
format Format

6. Пример

H.264 HD на холсте

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в H.264 HD.

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

  • H.264 HD — нормализует пиксельный формат к yuv420p перед кодером H.264.
  • HEVC — задаёт пиксельный формат перед кодированием HEVC.
  • AVC-Intra MXF broadcast mezzanine — преобразует кадр к 10-битному 4:2:2-формату, который ожидает кодер AVC-Intra.
  • MP4 with branded logo overlay — согласует пиксельный формат источника и графики наложения, чтобы композит был единообразным.
  • Content-aware preview proxy ladder — нормализует пиксельный формат на каждой прокси-ветви перед кодером.
  • MPEG-TS broadcast pre-encode — принудительно ставит yuv420p перед кодером H.264 для вещательной совместимости.
  • Cropped H.264 MP4 from interlaced source — нормализует пиксельный формат и на обрезанной ветви, и на опорной ветви.
  • XDCAM HD broadcast mezzanine — преобразует кадр к 10-битному 4:2:2-формату, который требует XDCAM HD 4:2:2.
  • Three-tier MP4 ladder (LQ / MQ / HQ) — нормализует пиксельный формат на каждой ступени лестницы.

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

  • Повышение разрядности или цветности ради качества. Преобразование 8-битного 4:2:0 в 10-битное 4:2:2 не возвращает информацию, которой никогда не было; оно лишь раздувает затраты ниже по потоку. Повышайте только когда профиль кодера требует более высокий формат.

  • Двукратный прогон vf/format в одной цепочке. Вторая конверсия пиксельного формата повторяет пересэмплирование цветности и может внести лёгкие полосы. Выберите один целевой формат и ставьте vf/format один раз, прямо перед кодером.

  • Забытый vf/format на тракте аппаратного ускорителя. NVENC, QSV и другие аппаратные кодеры принимают узкий набор пиксельных форматов. Без vf/format конвейер может упасть с ошибкой или откатиться к программному. Задавайте формат явно перед vf/hwupload.

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