Escolhendo o renderizador de vídeo correto
[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]
O DirectShow fornece vários filtros de renderizador de vídeo, resumidos na tabela a seguir.
Filtrar | Comentários |
---|---|
EVR (Renderizador de Vídeo Avançado ) | Usa o Direct3D 9. Requer o Windows Vista ou posterior. |
Renderizador de Combinação de Vídeo 9 (VMR-9) | Usa o Direct3D 9. Requer o Windows XP ou posterior. |
Filtro de combinação de vídeo 7 (VMR-7) | Usa DirectDraw. Requer o Windows XP ou posterior. |
Mixer de Sobreposição | Dá suporte a sobreposições de hardware por meio do DirectDraw. |
Filtro do Renderizador de Vídeo Herdado . | Usa DirectDraw ou (raramente) GDI |
Qual renderizador usar depende em grande parte de quais versões do Windows você precisa dar suporte.
- No Windows Vista e posterior, os aplicativos devem usar o EVR se o hardware der suporte a ele. Caso contrário, volte para a VMR-9 ou VMR-7. O EVR oferece melhor desempenho e melhor qualidade de vídeo do que os renderizadores anteriores. Além disso, ele foi projetado para funcionar com o DWM (Gerenciador de Janelas da Área de Trabalho).
- Antes do Windows Vista, use a VMR-9 se o hardware der suporte a ela e a funcionalidade de porta de vídeo não for necessária. Caso contrário, use a VMR-7.
- Em sistemas mais antigos, talvez seja necessário usar o Mixer de Sobreposição (para suporte à sobreposição de hardware ou porta de vídeo) ou o filtro herdado do Renderizador de Vídeo.
Os métodos IGraphBuilder::Render e RenderFile usam a VMR-7 por padrão. Se o hardware não der suporte à VMR-7, esses métodos retornarão ao filtro do Renderizador de Vídeo herdado. O EVR e a VMR-9 nunca são os renderizadores padrão.
Tópicos relacionados