Выбор правильного отрисовщика видео

[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]

DirectShow предоставляет несколько фильтров отрисовщика видео, как описано в следующей таблице.

Фильтр Комментарии
Расширенный отрисовщик видео (EVR) Использует Direct3D 9. Требуется Windows Vista или более поздней версии.
Отрисовщик смешанного видео 9 (VMR-9) Использует Direct3D 9. Требуется Windows XP или более поздней версии.
Фильтр смешивания видео 7 (VMR-7) Использует DirectDraw. Требуется Windows XP или более поздней версии.
Смеситель наложения Поддерживает аппаратные наложения с помощью DirectDraw.
Устаревший фильтр отрисовщика видео . Использует DirectDraw или (редко) GDI

 

Используемый отрисовщик в значительной степени зависит от того, какие версии Windows необходимо поддерживать.

  • В Windows Vista и более поздних версиях приложения должны использовать EVR, если оборудование поддерживает его. В противном случае вернитесь к VMR-9 или VMR-7. EVR обеспечивает лучшую производительность и лучшее качество видео, чем предыдущие отрисовщики. Кроме того, он предназначен для работы с диспетчером окон рабочего стола (DWM).
  • До Windows Vista используйте VMR-9, если оборудование поддерживает его и функции видеопорта не требуются. В противном случае используйте VMR-7.
  • В более старых системах может потребоваться использовать микшер наложения (для поддержки видеопорта или аппаратного наложения) или устаревший фильтр Отрисовщик видео.

Методы IGraphBuilder::Render и RenderFile по умолчанию используют VMR-7. Если оборудование не поддерживает VMR-7, эти методы возвращаются к устаревшей версии фильтра Отрисовщика видео. EVR и VMR-9 никогда не являются отрисовщиками по умолчанию.

Рендеринг видео