Udostępnij za pośrednictwem


Wybieranie odpowiedniego modułu renderowania wideo

[Funkcja skojarzona z tą stroną, DirectShow, jest starszą funkcją. Został zastąpiony przez MediaPlayer, IMFMediaEnginei Audio/Video Capture w Media Foundation. Te funkcje zostały zoptymalizowane pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer, IMFMediaEngine i Audio/Video Capture w programie Media Foundation zamiast DirectShow, jeśli to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

DirectShow udostępnia kilka filtrów modułu renderowania wideo, podsumowanych w poniższej tabeli.

Filtr Uwagi
ulepszony renderowania wideo (EVR) Używa funkcji Direct3D 9. Wymaga systemu Windows Vista lub nowszego.
Renderer Mieszania Wideo 9 (VMR-9) Używa funkcji Direct3D 9. Wymaga systemu Windows XP lub nowszego.
filtr mieszania wideo 7 (VMR-7) Używa metody DirectDraw. Wymaga systemu Windows XP lub nowszego.
Mikser nakładki Obsługuje nakładki sprzętowe za pomocą directDraw.
Filtr renderowania wideo (przestarzały) . Używa funkcji DirectDraw lub (rzadko) GDI

 

Który moduł renderowania do użycia zależy w dużej mierze od wersji systemu Windows, które należy obsługiwać.

  • W systemie Windows Vista i nowszych aplikacjach powinny używać interfejsu EVR, jeśli sprzęt go obsługuje. W przeciwnym razie wróć do maszyny VMR-9 lub VMR-7. Technologia EVR oferuje lepszą wydajność i lepszą jakość wideo niż poprzednie programy renderowane. Ponadto jest przeznaczony do pracy z menedżerem okien pulpitu (DWM).
  • Przed systemem Windows Vista należy użyć maszyny wirtualnej VMR-9, jeśli sprzęt obsługuje go i nie jest wymagana funkcja portu wideo. W przeciwnym razie użyj VMR-7.
  • W starszych systemach może być konieczne użycie Overlay Mixer (do obsługi portu wideo lub nakładki sprzętowej) lub starszego filtra wideo Video Renderer.

Metody IGraphBuilder::Render i RenderFile domyślnie używają renderera wideo VMR-7. Jeśli sprzęt nie obsługuje VMR-7, te metody wracają do filtru renderowania wideo z poprzedniej wersji. EVR i VMR-9 nigdy nie są domyślnymi modułami renderującymi.

Renderowanie wideo