Сведения о отрисовке видео в DirectShow

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

DirectShow предоставляет несколько фильтров для отрисовки видео:

  • Фильтр отрисовщика видео. Этот фильтр доступен для всех платформ, поддерживающих DirectX, и не имеет особых требований к системе. Отрисовщик видео использует DirectDraw всякий раз, когда это возможно для отрисовки видео; В противном случае используется GDI. Этот фильтр является отрисовщиком видео по умолчанию на платформах, предшествующих Windows XP.
  • Фильтр отрисовщика микширования видео 7 (VMR-7). VMR-7 доступен в Windows XP, где является отрисовщиком видео по умолчанию. VMR-7 всегда использует DirectDraw 7 для отрисовки. Он предоставляет множество мощных функций, недоступных в старом фильтре Отрисовщика видео, включая модель подключаемого модуля, в которой приложение управляет поверхностями DirectDraw, используемыми для отрисовки.
  • Фильтр 9 отрисовщика смешанного видео (VMR-9). VMR-9 — это более новая версия отрисовщика для смешанного видео, который использует Direct3D 9 для отрисовки. Он доступен для всех платформ, поддерживающих DirectX. Однако он не является отрисовщиком по умолчанию, так как он имеет более высокие требования к системе, чем фильтр отрисовщика видео.
  • Фильтр Overlay Mixer предназначен специально для воспроизведения DVD-дисков и трансляции видео. Он также поддерживает расширения видеопорта (VP), позволяя ему работать с аппаратными декодерами MPEG-2 или аналоговыми ТВ-тюнерами, которые отправляют видео непосредственно в графические карта.
  • Фильтр расширенного отрисовщика видео (EVR) доступен, начиная с Windows Vista. Он обеспечивает улучшенную производительность видео по сравнению с предыдущими отрисовщиками видео, особенно при включенной композиции рабочего стола Windows Vista.

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

Оконный режим и без окон

Отрисовщик видео DirectShow может работать как в оконном режиме , так и в режиме без окон .

  • В оконном режиме отрисовщик создает собственное окно для отображения видео. Обычно это окно делается дочерним по отношению к окну приложения. Дополнительные сведения см. в разделе Использование оконного режима.
  • В режиме без окон отрисовщик рисует видео непосредственно в окне приложения. Он не создает собственное окно. Дополнительные сведения об этом режиме см. в разделе Использование режима без окон.

Фильтр Отрисовщика видео поддерживает только оконный режим. Фильтры VMR-7 и VMR-9 поддерживают оба режима. По умолчанию для обратной совместимости используется оконный режим, но предпочтителен режим без окон. EVR поддерживает только режим без окон.

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