Escrevendo filtros de transformação

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na 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 Captura de Áudio/Vídeo no 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.]

Esta seção descreve como escrever um filtro de transformação, definido como um filtro que tem exatamente um pino de entrada e um pino de saída. Para ilustrar as etapas, esta seção descreve um filtro de transformação hipotético que gera um vídeo RLE (codificado em comprimento de execução). Ele não descreve o próprio algoritmo de codificação RLE, apenas as tarefas específicas do DirectShow. (O DirectShow já fornece um codec RLE por meio do filtro compressor AVI .)

Esta seção pressupõe que você usará a biblioteca de classes base do DirectShow para criar filtros. Embora você possa escrever um filtro sem ele, a biblioteca de classes base é altamente recomendada.

Observação

Antes de escrever um filtro de transformação, considere se um Objeto de Mídia DirectX (DMO) atenderia aos seus requisitos. Os DMOs podem fazer muitas das mesmas coisas que os filtros, e o modelo de programação para DMOs é mais simples. Os DMOs são hospedados no DirectShow por meio do filtro Wrapper de DMO , mas também podem ser usados fora do DirectShow. Os DMOs agora são a solução recomendada para codificadores e decodificadores.

 

Esta seção inclui os tópicos a seguir:

Criando filtros do DirectShow

DirectShow Base Classes

Escrevendo filtros do DirectShow