Поделиться через


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

[Функция, связанная с этой страницей, 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 или более поздней версии.
Overlay Mixer Поддерживает аппаратные наложения с помощью 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 никогда не являются отрисовщиками по умолчанию.

Видеорендеринг