Обрезанный H.264 MP4 из чересстрочного источника
1. Что создаёт этот процесс
Перекодирует чересстрочное исходное видео в поставку H.264 MP4 класса 1080p25, где картинка обрезана до фиксированного окна, а чересстрочность удалена. Параллельно из того же источника выводится второй MP4, чтобы обрезанный, деинтерлейснутый выход можно было A/B-сравнить с перекодированием «как есть» на тех же настройках H.264 и AAC.
2. Когда использовать
- У вас мастер SD или HD с постоянным леттербоксом или пиллербоксными чёрными полосами, и нужен чистый обрезанный MP4, заполняющий кадр.
- Нужно перекадрировать архивную запись 4:3 в более тесное окно перед доставкой, без пересмасштабирования.
- Источник несёт чересстрочное видео (вещательная запись, перенос с ленты), а поставка должна быть прогрессивной на фиксированной частоте кадров.
- Нужно записать в той же задаче эталонное кодирование бок о бок, чтобы обрезанный, деинтерлейснутый результат можно было сверить с необработанным источником на идентичных настройках H.264 и AAC.
3. Входы
- Исходный файл — любой контейнер и кодек, которые платформа может демультиплексировать, с одной видеодорожкой и хотя бы одной аудиодорожкой. Чересстрочные источники — основная цель; прогрессивные источники проходят сквозь деинтерлейсер без изменений, когда на приёмной стороне задано Only deinterlace frames marked as interlaced.
- Переменные:
$Get— URL исходного видео.$Put_01— URL, куда записывается обрезанный, деинтерлейснутый MP4.$Put_02— URL, куда записывается эталонный (необрезанный, необработанный) MP4.
4. Выход
- Файл 1 (обрезанный + деинтерлейснутый) — контейнер MP4, видео H.264 High profile на 3000 кбит/с ABR (потолок и буфер 8000 кбит/с) с основными цветами, матрицей и передачей BT.709, зафиксированное на 25 кадрах/с и обрезанное до окна 200×200 со смещением 100 px вправо и 100 px вниз от верхнего левого угла источника. Стереозвук AAC на 48 кГц, 160 кбит/с.
- Файл 2 (эталонное перекодирование) — контейнер MP4 с теми же настройками H.264 на прямом сквозном пропуске кадра источника. Битрейт аудио AAC оставлен на значении платформы по умолчанию, а не закреплён на 160 кбит/с, что является единственным аудиоразличием между двумя поставками.
- Назначения — Файл 1 записывается на URL в
$Put_01; Файл 2 — на URL в$Put_02.
5. Обзор процесса

Источник забирается из $Get и разводится веером в два параллельных конвейера, разделяющих его видео- и аудиопотоки. На обрезанной ветви видео нормализуется в yuv420p, фиксируется на 25 кадрах/с, деинтерлейсится через yadif, затем обрезается до фиксированного окна 200×200, прежде чем x264 кодирует его как H.264 High на 3000 кбит/с ABR с цветовой сигнализацией BT.709. Совпадающий аудиопуть приводит к 16-битному PCM на 48 кГц и кодирует как AAC на 160 кбит/с. Эталонная ветвь выполняет ту же нормализацию и кодирование x264, но пропускает этапы деинтерлейсинга и обрезки и оставляет битрейт AAC на значении платформы по умолчанию. Каждая ветвь заканчивается своим мультиплексором MP4 и загружается на отдельную переменную назначения, так что одна задача выдаёт обе поставки.
6. Настройка по узлам
Crop (vf/crop)

Вырезает фиксированное прямоугольное окно из кадра источника. Обрезка выполняется после этапа деинтерлейсинга, чтобы у деинтерлейсера ещё были оригинальные границы полей — обрезка первой сдвинула бы сетку полей и дала бы гребёнчатые артефакты, которые деинтерлейсер не сможет разрешить чисто.
Параметры этого примера:
- X —
100. Горизонтальное смещение верхнего левого угла окна обрезки от левого края источника, в пикселях. - Y —
100. Вертикальное смещение верхнего левого угла окна обрезки от верхнего края источника, в пикселях. - Resolution —
200x200. Ширина и высота сохраняемого окна в пикселях. Вместе с X и Y эти три значения задают прямоугольник, сохраняемый в поставке: пиксели из столбцов с 100 по 299 и из строк с 100 по 299 источника.
Чтобы рассчитать свою обрезку, считайте X и Y верхним левым углом прямоугольника, который хотите сохранить, а Resolution — его размером. Для центральной обрезки задайте X = (ширина источника − ширина цели) / 2 и Y = (высота источника − высота цели) / 2.
Deinterlace (vf/deinterlace)

Преобразует чересстрочный источник в прогрессивные кадры, прежде чем их увидят обрезка и кодер. Обработка с учётом полей требует оригинальных границ кадра, поэтому этот узел стоит перед Crop в конвейере.
Параметры этого примера:
- Deinterlacing Algorithm —
yadif. Yet Another Deinterlacing Filter — стандартная для платформы реализация yadif с адаптацией к движению. Надёжный универсальный выбор для вещательных записей SD и HD. - Interlacing Mode —
send_frame. Один прогрессивный кадр на входной кадр; альтернативаsend_fieldудваивает частоту кадров, выдавая один кадр на поле.
Pixel Format (vf/format)

Приводит отображённое видео к 8-бит 4:2:0 цветовой раскладке, которую кодер H.264 ниже по потоку потребляет нативно. Оба видеоконвейера выполняют этот этап с идентичными параметрами.
Параметры этого примера:
- Format —
yuv420p. 8-бит 4:2:0 планарный Y′CbCr — стандартная раскладка цветности для поставок H.264 MP4.
FPS (vf/fps)

Фиксирует видео на постоянной частоте кадров перед кодером. Оба видеоконвейера выполняют этот этап с идентичными параметрами.
Параметры этого примера:
- Frame Rate —
25/1. 25 прогрессивных кадров в секунду, базовая частота европейского вещания. Задано явно, чтобы кодер и мультиплексор планировали вокруг известного ритма, а не выводили его из источника.
Sample Format (af/aformat)

Приводит отображённое аудио к известному формату сэмплов PCM перед пересэмплером и кодером AAC. Оба аудиоконвейера выполняют этот этап с идентичными параметрами.
Параметры этого примера:
- Format —
s16. Знаковый 16-битный чередующийся PCM — стандартный промежуточный формат, который потребляет кодер AAC.
Sample Rate (af/aresample)

Пересэмплирует аудио к целевой частоте перед кодером AAC, чтобы закодированная дорожка имела фиксированную частоту дискретизации независимо от источника. Оба аудиоконвейера выполняют этот этап с идентичными параметрами.
Параметры этого примера:
- Rate —
48000Hz. 48 кГц — базовая частота вещательной и MP4-доставки.
x264 (x264)

Кодирует каждый видеоконвейер как H.264. Работают два экземпляра x264, по одному на ветвь, и они разделяют идентичные параметры — единственное различие между поставками — фильтрация, применённая выше по потоку (деинтерлейсинг + обрезка на главной ветви, ничего — на эталонной).
Параметры этого примера:
- H264 Codec Profile —
high. High profile даёт кодеру доступ к B-кадрам, CABAC и преобразованиям 8×8 — инструментам кодирования, которые поддерживает каждый современный декодер H.264. - Preset —
superfast. Пресет приоритета скорости; держит высокую пропускную способность кодирования для A/B-эталонной задачи, где эффективность сжатия важна меньше оборачиваемости. - Rate Control —
ABR. Режим среднего битрейта, удерживающий предсказуемый размер файла вокруг цели. - Bitrate —
3000KBPS. Целевой средний видеобитрейт. - Max bitrate —
8000KBPS. Ограничивает кратковременные всплески примерно 2,7-кратной величиной среднего. - Buffer size —
8000KBPS. Буфер VBV, с которым работает контроллер битрейта, размером под Max bitrate, чтобы короткая сцена могла потратить весь запас. - Key Interval —
50. Один ключевой кадр каждые две секунды при 25 кадрах/с. - B-Frames —
2. Два подряд идущих B-кадра на GOP. - Reference Frames —
3. Три опорных кадра, доступных оценке движения. - Color Space —
bt709. Коэффициенты матрицы BT.709 — HD-матрица цвета. - Color Transfer —
bt709. Характеристики передачи BT.709. - Color Primaries —
bt709. Основные цвета BT.709. Задание всех трёх цветовых полей гарантирует, что декодер ниже по потоку нарисует HD-цвет правильно, даже если сигнализация источника отсутствовала или была неверной.
Полный список параметров и компромиссов см. в x264.
AAC (aac)

Кодирует каждый аудиоконвейер как AAC для контейнера MP4. Работают два экземпляра AAC, по одному на ветвь. Они используют те же значения узла по умолчанию во всём, кроме Bitrate, который и есть единственное аудиоразличие между двумя поставками.
Параметры этого примера:
- Bitrate —
160KBPS. Главная обрезанная, деинтерлейснутая поставка — чуть выше базовых 128 кбит/с стерео ради чуть более прозрачных диалогов и музыки.
Параметры (вариант B): эталонный MP4 оставляет Bitrate пустым, что отправляет кодер AAC к значению платформы по умолчанию вместо цели 160 кбит/с на главной ветви.
Полный список параметров и компромиссов см. в AAC.
MP4 (mp4)

Мультиплексирует закодированные видео H.264 и аудио AAC в единый файл MP4 в конце каждой ветви. Работают два экземпляра MP4 с идентичными параметрами — каждое поле формы оставлено пустым, поэтому мультиплексор выводит имя файла из контекста выше по потоку, а каждый узел загрузки пишет на свою переменную назначения.
Параметры этого примера:
- Filename — пусто. Мультиплексор выводит имя файла из контекста выше по потоку; узел upload ниже задаёт фактическое назначение через
$Put_01(главная) или$Put_02(эталонная).
Полный список параметров и компромиссов см. в MP4.
7. Запуск
- Откройте Процессы → Создать и либо соберите граф выше, либо продублируйте существующий шаблон обрезанного MP4.
- Задайте
$Getравным URL исходного видео,$Put_01— URL, куда должен быть записан обрезанный, деинтерлейснутый MP4, а$Put_02— URL, куда должно быть записано эталонное перекодирование. - Скорректируйте X, Y и Resolution на узле Crop так, чтобы сохраняемое окно совпало с вашим источником. Значения по умолчанию в этом примере обрезают квадрат 200×200 со смещением (100, 100) от верхнего левого угла — полезно лишь как заглушка; замените их фактическим прямоугольником обрезки для вашей доставки.
- Нажмите Запустить либо привяжите процесс к папке мониторинга для автоматической обработки. Оба файла MP4 появятся по URL, заданным в
$Put_01и$Put_02, когда задача завершится.
8. Варианты
- Уберите эталонную ветвь целиком (удалите нижний конвейер встык, включая его upload и переменную
$Put_02), когда нужна только обрезанная, деинтерлейснутая поставка. - Переключите Interlacing Mode на Deinterlace на
send_field, если поставка должна идти на удвоенной частоте полей (50 кадров/с здесь) — контроллер битрейта, Frame Rate и Key Interval на x264 нужно перенастроить под это. - Замените Crop на Scale, когда цель — изменить размер всего кадра, а не вырезать из него окно. Два фильтра дополняют друг друга: сперва обрезать, затем масштабировать, когда перекадрируете под конкретный растр.
- Поднимите Preset на x264 с
superfastдоmediumилиslowдля главной ветви, когда эффективность сжатия важнее скорости кодирования.
9. Связанное
- x264
- AAC
- MP4
- H.264 HD — тот же базовый конвейер x264 + AAC, выдающий единую поставку MP4 из прогрессивного источника, без этапов обрезки / деинтерлейсинга.
10. Заметки
Порядок конвейера важен. Deinterlace стоит перед Crop, потому что деинтерлейсинг с учётом полей читает оригинальные границы кадра, чтобы выровнять нечётные и чётные поля; обрезка первой сдвигает сетку полей на смещение Y, и деинтерлейсер больше не может разделить поля чисто. Pixel Format и FPS также стоят перед x264 на обеих ветвях, чтобы кодер видел нормализованный поток независимо от пиксельного формата или сигнализации частоты кадров источника.