О рендеринге видео в 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-диска и трансляции видео. Он также поддерживает расширения видеопорта (VPEs), что позволяет ему работать с аппаратными декодерами MPEG-2 или аналоговыми ТВ-тюнерами, которые отправляют видео непосредственно на видеокарту.
  • Фильтр улучшенный обработчик видео (EVR) доступен начиная с версии Windows Vista. Он обеспечивает улучшенную производительность видео по сравнению с более ранними рендерами видео, особенно если включена композиция рабочего стола Windows Vista.

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

Режим окна и режим без окон

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

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

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

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