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


Фильтр визуализации смешивания видео 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.

Заметка

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

 

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

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

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

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

Ярлык Ценность
Интерфейсы фильтров Все режимы:Режим окна:
Режим без окон:
Режим без отрисовки
Режим микшера:
Для получения информации о различных режимах VMR-7, см. в режимы работы VMR.
Типы носителей для входных штифтов Основной тип: MEDIATYPE_VideoSubtype: зависит от графического оборудования. Видео должно быть несжатым.
Интерфейсы входных контактов
Типы носителей выходного пин-кода Неприменимо.
Интерфейсы выходных выводов Неприменимо.
Фильтрация CLSID Существует два CLSID, связанных с этим фильтром:
  • CLSID_VideoMixingRenderer: Создает VMR-7. Если для создания VMR-7 недостаточно системных ресурсов, вызов CoCreateInstance не удается.
  • Создает 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 для VMR-7.

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

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

DirectShow фильтры