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


Фильтр отрисовщика 7 для смешанного видео

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

Этот раздел относится к Windows XP или более поздней версии.

В Windows XP и более поздних версиях отрисовщик видео микширования 7 (VMR-7) является отрисовщиком видео по умолчанию. Он называется VMR-7, так как внутри он использует DirectDraw 7. В DirectX 9 аналогичный, но отдельный фильтр VMR-9 доступен для распространения в системах, отличных от XP. VMR-9 использует Direct3D 9.

Примечание

VmR доступен в Windows XP и более поздних версиях. Он недоступен в распространяемом компоненте DirectX или в предыдущих версиях Windows. В большинстве сценариев приложения должны использовать отрисовщик для микширования видео 9.

 

К функциям VMR относятся:

  • Истинное альфа-смешивание до 16 входных потоков
  • Доступ к составным изображениям перед его отображением
  • Модель подключаемого модуля, которая позволяет сторонним разработчикам реализовывать пользовательские видеоэффекты.
  • Поддержка до 15 мониторов.

Во время построения графа в Windows XP и более поздних версиях диспетчер графов фильтров не будет использовать старые фильтры отрисовщика видео или наложения Mixer, если приложение явно не создаст их и не добавит в граф.

Дополнительные сведения см. в разделе Использование отрисовщика для микширования видео.

Метка Значение
Интерфейсы фильтрации Все режимы:Оконный режим:
Режим без окон:
Режим без отрисовки:
Режим микшера:
Сведения о различных режимах VMR-7 см. в разделе Режимы работы VMR.
Типы носителей входных контактов Основной тип: MEDIATYPE_VideoSubtype: зависит от графического оборудования. Видео должно быть несжато.
Интерфейсы ввода-закрепления
Типы носителей выводных контактов Не применяется
Интерфейсы вывода контактов Не применяется
Фильтр CLSID С этим фильтром связаны два идентификатора CLSID:
  • CLSID_VideoMixingRenderer. Создает VMR-7. Если для создания VMR-7 недостаточно системных ресурсов, вызов CoCreateInstance завершается ошибкой .
  • CLSID_VideoRendererDefault. Создает VMR-7, если системные ресурсы доступны, или создает старый фильтр отрисовщика видео .
Используйте CLSID_VideoMixingRenderer, если вам нужны определенные возможности VMR-7. В противном случае используйте CLSID_VideoRendererDefault, которая почти наверняка не завершится ошибкой, так как она возвращается к старому фильтру отрисовщика видео.
CLSID страницы свойств Не применяется
Исполняемый файл Quartz.dll
Заслуга MERIT_PREFERRED + 1
Категория фильтра CLSID_LegacyAmFilterCategory

 

Комментарии

Входной контакт предоставляет интерфейс IOverlay только в том случае, если фильтр VMR-7 находится в оконном режиме. Единственным методом IOverlay , реализующим закрепление, является GetWindowHandle, который позволяет приложению получить дескриптор для окна видео фильтра. Все остальные методы IOverlay возвращают E_NOTIMPL. В режиме без окна фильтр не создает окно видео, поэтому контакт не предоставляет интерфейс.

Приложение может предоставить пользовательский объект allocator-presenter, который предоставляет следующие интерфейсы:

Дополнительные сведения о настраиваемых выступающих распределителях см. в разделе Предоставление пользовательского Allocator-Presenter для VMR-7.

Приложение также может предоставить пользовательский подключаемый композитор, который предоставляет следующий интерфейс:

Чтобы настроить VMR с пользовательским композитором, вызовите IVMRFilterConfig::SetImageCompositor.

Фильтры DirectShow