Открыть сервисСервис

X264 VFW — кодировщик H.264 для Windows

X264 VFW — это программный модуль (драйвер) видеокодирования, основанный на свободном кодировщике x264 и реализующий интерфейс VFW (Video for Windows). Он позволяет приложениям под управлением Windows, использующим устаревший API Video for Windows, кодировать видео в формат H.264/MPEG-4 AVC. Модуль распространяется бесплатно и является одним из наиболее распространённых способов получить доступ к кодировщику x264 в программах, не поддерживающих более новые интерфейсы DirectShow или VapourSynth.

Контекст: что такое VFW

Video for Windows (VFW) — это мультимедийный интерфейс программирования, представленный Microsoft в 1992 году в составе Windows 3.1. Он предназначен для захвата, редактирования и воспроизведения видеофайлов. VFW базируется на технологии AVI (Audio Video Interleave) и предоставляет набор функций для работы с видеопотоками.

К началу 2000-х годов VFW считался устаревшей технологией: ему на смену пришёл DirectShow, а затем Media Foundation. Тем не менее множество приложений — в первую очередь утилиты для нарезки DVD (например, VirtualDub и его форк AviSynth), программы видеозахвата и старые редакторы — продолжали использовать VFW-интерфейс для подключения внешних кодировщиков (codec wrappers). Для поддержки современных кодеков в таких программах требовался компонент-посредник, преобразующий вызовы VFW в вызовы актуального кодировщика. Именно такой посредник и представляет собой X264 VFW.

Кодировщик x264

В основе модуля лежит x264 — свободная библиотека для кодирования видео в формат H.264/MPEG-4 AVC, написанная на языке C. Проект создан в 2004 году французским разработчиком Лораном Меньяром (Laurent Aimar) и в дальнейшем развивался сообществом. x264 поддерживает широкий набор возможностей стандарта H.264: разные профили и уровни, B-кадры, справочные кадры, адаптивное распределение битрейта, several алгоритмы определения движения, работу с несколькими ссылками и др.

x264 считается одним из наиболее эффективных программных кодировщиков H.264 и широко используется в индустрии: в серверных системах транскодирования, стриминговых платформах, инструментах кодирования с открытым исходным кодом (например, FFmpeg, HandBrake). Проект лицензирован по GPL, что позволяет свободно использовать и модифицировать его исходный код, в том числе для создания обёрток вроде X264 VFW.

Назначение и принцип работы

X264 VFW выполняет роль «моста» между приложением, использующим устаревший интерфейс Video for Windows, и библиотекой x264. При установке модуль регистрируется в системе как VFW-драйвер (codec) и появляется в списке доступных кодеков в программах, работающих через VFW.

Принцип работы выглядит следующим образом:

  1. Пользователь в программе (например, VirtualDub) выбирает в списке кодеков X264 VFW.
  2. Приложение передаёт модулю несжатые видеокадры (обычно в формате YUV) через интерфейс VFW.
  3. Модуль преобразует данные в формат, понятный библиотеке x264, и запускает кодирование.
  4. Полученный H.264-поток возвращается в приложение и записывается в контейнер AVI (реже — в другие контейнеры).

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

Настройки и возможности

Через диалог настроек X264 VFW пользователь может задавать параметры кодирования: целевой битрейт или уровень сжатия (CRF), количество B-кадров, тип анализа движения, размер GOP, использование CABAC, работу с несколькими ссылочными кадрами и другие опции, доступные в ядре x264. Часть параметров доступна в виде предустановленных профилей.

Стоит отметить, что VFW-интерфейс накладывает ограничения: он не поддерживает некоторые возможности, доступные при работе через DirectShow или FFmpeg, например корректную обработку изменяющейся разрешающей способности или сложных структур GOP. Для полного доступа к функциональности x264 рекомендуется использовать более новые интерфейсы интеграции.

Применение

Основная область применения X264 VFW — локальное кодирование видеофайлов в AVI-контейнер с кодеком H.264 в программах, поддерживающих только VFW. Типовые сценарии:

  • нарезка и перекодирование DVD-дисков с помощью VirtualDub;
  • обработка видео в AviSynth-скриптах через VirtualDub;
  • запись видеопотока с видеозахватывающих устройств в сжатом виде;
  • создание файлов AVI с H.264 для старых плееров и редакторов.

В 2010-е годы популярность X264 VFW постепенно снизилась: на смену VFW-обёрткам пришли DirectShow-фильтры (например, LAV Filters), интеграция с FFmpeg и графические утилиты вроде HandBrake, которые работают с x264 напрямую. Тем не менее модуль продолжает использоваться в нишевых сценариях и в среде энтузиастов, работающих со старым программным обеспечением.

Связанные проекты

Помимо X264 VFW, существуют аналогичные VFW-обёртки для других кодеков — например, XviD VFW (обёртка над кодеком XviD, MPEG-4 ASP) и X265 VFW (обёртка над кодировщиком H.265/HEVC). Последняя позволяет записывать видео в формате HEVC в AVI-контейнер через старые программы, хотя совместимость такого сочетания ограничена.

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru