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

Last updated

vf/crop

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

1. Сводка

Обрезает кадр видео до фиксированного прямоугольника. Убирает поля или переформировывает картинку до интересующей области перед любым масштабированием, так что узлы ниже по потоку видят только нужное окно.

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

  • Убираете статичный леттербокс или чёрные поля пилларбокса из мастера перед перекодированием.
  • Переформировываете архивный 4:3-захват в более тесное окно 16:9 без повторного масштабирования.
  • Подрезаете записанный захват экрана до области приложения.
  • Срезаете broadcast-safe-поля у спутникового или захватного источника.

3. Входы

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

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

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

4. Выходы

  • Videofiltergraph.VideoTransform. Обрезанное видео, готовое к дальнейшей фильтрации или кодеру.

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

    • vf/dar — задаёт метаданные соотношения сторон при отображении.
    • vf/deinterlace — убирает артефакты чересстрочности.
    • vf/fieldorder — меняет или задаёт флаг порядка полей.
    • vf/format — преобразует пиксельный формат или цветовые свойства.
    • 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/crop.

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

  • X (number пиксели, по умолчанию 0)

    Горизонтальное смещение окна обрезки от левого края исходного кадра.

    • Что задаёт. Где прямоугольник обрезки начинается по горизонтальной оси. При X = 0 окно прижато к левому краю; увеличение X сдвигает его вправо.
    • Когда менять. Задавайте, чтобы пропустить левую чёрную полосу или отцентрировать смещённый объект. Сочетайте с Resolution, чтобы сумма X + ширина не превышала ширину источника.
    • Обязательно. да.
  • Y (number пиксели, по умолчанию 0)

    Вертикальное смещение окна обрезки от верхнего края исходного кадра.

    • Что задаёт. Где прямоугольник обрезки начинается по вертикальной оси. Y = 0 прижимает к верхнему краю.
    • Когда менять. Задавайте, чтобы пропустить верхнюю леттербокс-полосу или сместить окно вниз для кадрирования «голова и плечи».
    • Обязательно. да.
  • Resolution (string WIDTHxHEIGHT, без значения по умолчанию)

    Размер окна обрезки в пикселях.

    • Что задаёт. Ширину и высоту прямоугольника, вырезаемого из источника. Соотношение сторон окна обрезки задаётся этими значениями и перекрывает соотношение сторон источника при отображении, пока вы не зададите его снова ниже по потоку (например, узлом vf/dar).
    • Когда менять. Выбирайте разрешение под целевой кадр: 1920x1080, чтобы вырезать область 1080p из большего растра, 1080x1080 — для квадратной области соцсетей, 1280x720 — для чистой подрезки 16:9.
    • Обязательно. да.

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

JSON-ключ Название поля
x X
y Y
resolution Resolution

6. Пример

Обрезанный H.264 MP4 из чересстрочного источника на холсте

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

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

  • Cropped H.264 MP4 from interlaced source — обрезает чересстрочный мастер до фиксированного окна 1080-квадрат перед деинтерлейсером и кодером H.264.

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

  • Обрезка после деинтерлейсинга на чересстрочном мастере. Обрезка меняет число строк и может сломать сетку полей, на которую опирался деинтерлейсер. Обрезайте до vf/deinterlace, чтобы деинтерлейсер видел связную структуру полей.

  • Размеры обрезки больше источника. Когда X + ширина превышает ширину источника (или Y + высота — высоту), кодер либо падает с ошибкой, либо заворачивает кадр. Проверяйте растр источника перед заданием Resolution.

  • Использование vf/crop там, где подошёл бы vf/scale. Обрезка удаляет пиксели; она не меняет размер. Чтобы уменьшить мастер 1920x1080 до 1280x720, используйте vf/scale. Берите vf/crop только когда замысел — отбросить краевое содержимое.

  • Обрезка в соотношение сторон, которое стадия ниже по потоку не принимает. Обрезка в 1080x1080 сразу перед кодером, требующим 1280x720, даёт растянутое изображение. Сочетайте обрезку с vf/scale или vf/letterbox, чтобы дойти до растра поставки чисто.

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