vf/deinterlace

1. Сводка
Преобразует чересстрочное видео в прогрессивные кадры. Убирает чередование строк полей, которое несёт вещательный или ленточный источник, и даёт чистый прогрессивный кадр, который кодеры ниже по потоку сжимают эффективно.
2. Когда использовать
- Перекодируете чересстрочный вещательный мастер в прогрессивную поставку H.264 или HEVC.
- Наводите порядок в ленточном переносе или записи захватной карты перед масштабированием и кодированием.
- Готовите прогрессивную веб/OTT-копию из источника 1080i, 576i или 480i.
- Готовите чересстрочный контент для лестницы HLS или DASH, которая ожидает прогрессивные сегменты.
3. Входы
Video—filtergraph.VideoTransform. Чересстрочное видео для деинтерлейсинга. Обязателен.Совместимые узлы выше по потоку:
- vf/crop — обрезает кадр до интересующей области.
- vf/dar — задаёт метаданные соотношения сторон при отображении.
- vf/fieldorder — меняет или задаёт флаг порядка полей.
- vf/format — преобразует пиксельный формат или цветовые свойства.
- vf/fps — меняет частоту кадров на выходе.
- vf/hwupload — загружает кадры в GPU для аппаратной обработки.
- vf/letterbox — дополняет кадр до целевого растра.
- vf/overlay — накладывает графику на видео.
- vf/scale — масштабирует видео до заданных размеров.
- map/video — выбирает видеопоток для выхода.
4. Выходы
Video—filtergraph.VideoTransform. Прогрессивное видео, готовое к дальнейшей фильтрации или кодеру.Совместимые узлы ниже по потоку:
- vf/crop — обрезает кадр до интересующей области.
- vf/dar — задаёт метаданные соотношения сторон при отображении.
- 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. Параметры

Форма «Настройки» — один столбец с четырьмя полями. Описаны в порядке следования в форме.
Deinterlacing Algorithm (
enum, по умолчаниюyadif)Применяемый фильтр деинтерлейсинга.
- Что задаёт. Алгоритм, объединяющий два поля чересстрочного кадра в один
прогрессивный кадр.
yadif(Yet Another DeInterlacing Filter) — универсальное значение по умолчанию;bwdif(Bob Weaver) — более продвинутый фильтр с компенсацией движения;w3fdif(Weston 3-Field) даёт высшее качество на источниках с замедленным движением ценой большей нагрузки на ЦПУ. - Когда менять. Оставляйте
yadifдля большинства процессов. Переходите наbwdif, когда у источника интенсивное движение и yadif оставляет артефакты гребёнки; выбирайтеw3fdifдля архивных мастеров, где лишний ЦПУ приемлем. - Допустимые значения.
yadif,bwdif,w3fdif. - Обязательно. да.
- Что задаёт. Алгоритм, объединяющий два поля чересстрочного кадра в один
прогрессивный кадр.
Interlacing Mode (
enum, по умолчаниюsend_frame)Сколько кадров деинтерлейсер выдаёт на пару исходных полей.
- Что задаёт. С
send_frameфильтр выдаёт один прогрессивный кадр на пару полей (ритм уполовинивается до частоты кадров исходного кадра, например 25p из 50i). Сsend_fieldон выдаёт один прогрессивный кадр на поле (ритм сохраняет частоту полей, например 50p из 50i). Варианты*_nospatialпропускают проверку пространственной интерполяции на каждом пикселе. - Когда менять. Держитесь
send_frameдля поставок VOD и лестниц ABR — он удваивает временную плотность только когда это нужно. Выбирайтеsend_fieldдля прогрессивного выхода высокой частоты (50p/60p), где важна плавность движения. Режимы*_nospatialэкономят ЦПУ, когда источник чист. - Допустимые значения.
send_frame,send_field,send_frame_nospatial,send_field_nospatial.
- Что задаёт. С
Assumed Picture Field Parity (
enum, по умолчаниюAuto)Какое поле источника несёт более ранний сэмпл.
- Что задаёт. Должен ли деинтерлейсер считать верхнее поле отрисованным
первым (
tff) или нижнее (bff).Autoчитает флаг, несомый источником. - Когда менять. Задавайте явно, когда флаг порядка полей источника неверен или отсутствует — типично для ленточных захватов или переупакованных потоков. Выбор неверной чётности даёт дёрганое или вибрирующее изображение; переключите его — и результат станет правильным.
- Допустимые значения.
Auto,tff,bff.
- Что задаёт. Должен ли деинтерлейсер считать верхнее поле отрисованным
первым (
Only deinterlace frames marked as interlaced (
boolean, по умолчанию выкл.)Пропускать кадры, которые источник уже помечает как прогрессивные.
- Что задаёт. С включённым переключателем фильтр игнорирует любой кадр, чей флаг чересстрочности снят, и передаёт его как есть.
- Когда менять. Включайте, когда источник смешивает чересстрочный и прогрессивный материал (типично для вещательных захватов с прогрессивными сегментами, вмонтированными в чересстрочную монтажку) — это избегает прогона прогрессивных кадров через ненужный проход деинтерлейсера.
Соответствие JSON-ключей и названий полей
| JSON-ключ | Название поля |
|---|---|
algo |
Deinterlacing Algorithm |
mode |
Interlacing Mode |
parity |
Assumed Picture Field Parity |
interlaced_only |
Only deinterlace frames marked as interlaced |
6. Пример

Полный разбор — переменные, настройка каждого узла и ожидаемый результат — смотрите в HEVC.
7. Где используется
- HEVC — деинтерлейсит мастер перед масштабированием до архивного растра HEVC 1024x576.
- Cropped H.264 MP4 from interlaced source — убирает чересстрочность из обрезанного кадра перед кодером H.264.
- Three-tier MP4 ladder (LQ / MQ / HQ) — делает источник прогрессивным на каждой ступени лестницы LQ/MQ/HQ.
8. Антипаттерны
Деинтерлейсинг прогрессивного источника. Прогон yadif или bwdif по прогрессивному материалу смягчает картинку, не убирая реальных артефактов. Либо пропускайте фильтр для прогрессивных источников, либо включайте Only deinterlace frames marked as interlaced, когда монтажка смешанная.
Деинтерлейсинг после обрезки или масштабирования. Обрезка и масштабирование меняют сетку строк, которую читает деинтерлейсер. Ставьте vf/deinterlace до vf/crop и vf/scale, чтобы фильтр видел исходную структуру полей.
Забытое задание чётности на источнике без флага. Ленточно-захваченный поток часто не несёт флага порядка полей. Оставление Assumed Picture Field Parity на
Autoдаёт дёрганый выход; выбирайтеtffилиbffпод источник.Использование send_field там, где кодер ожидает send_frame. Выдача одного прогрессивного кадра на поле удваивает ритм потока. Если кодер ниже по потоку настроен на исходную частоту кадров, вы получите либо эффект перемотки, либо несовпадение частоты кадров — держите Interlacing Mode на
send_frame, если только намеренно не готовите выход 50p/60p.