Compartilhar via


Filtro de Divisor de AVI

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture 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 Audio/Video Capture 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.]

O Filtro de Divisor de AVI é usado para reprodução de arquivos AVI. Ele aceita dados no formato AVI e os divide em seus fluxos constituintes para processamento adicional e/ou renderização.

Etiqueta Valor
Interfaces de filtro IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Tipos de mídia de pino de entrada MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfaces de pin de entrada IPin, IQualityControl
Tipos de mídia de pino de saída Normalmente MEDIATYPE_Video ou MEDIATYPE_Audio. O tipo exato depende do conteúdo do arquivo, se o arquivo é compactado e qual codec foi usado.
Interfaces de pino de saída IMediaPosition, IMediaSeeking, IPin, IPropertyBag IQualityControl
Filtrar CLSID CLSID_AviSplitter
CLSID da página de propriedades Nenhuma página de propriedades.
Executável quartz.dll
de Mérito MERIT_NORMAL
de categoria de filtro de CLSID_LegacyAmFilterCategory

 

Observações

Esse filtro normalmente está conectado ao filtro fonte de arquivo assíncrono em seu pino de entrada. Ele pode se conectar a qualquer filtro cujo pino de saída dá suporte a IAsyncReader e oferece o tipo de mídia correto ao pin de entrada do filtro AVI Splitter.

Os pinos de saída no Divisor de AVI dão suporte ao método IPropertyBag::Read para ler propriedades de fluxos individuais. Atualmente, a propriedade a seguir é definida.

Propriedade Descrição
nome Retorna o nome do fluxo, retirado da parte 'strn' no arquivo AVI. Se essa parte estiver ausente, o método De leitura retornará E_INVALIDARG.

 

O método IPropertyBag::Write retorna E_FAIL. O filtro AVI Mux dá suporte a IPropertyBag::Write para salvar propriedades de fluxo em um arquivo AVI.

O Divisor de AVI não permite que filtros downstream usem seu próprio alocador.

A duração da intercalação no arquivo determina a quantidade de memória que o Divisor de AVI alocará para processá-lo. Um arquivo intercalado em partes de um segundo exigirá muito mais memória para processar do que um arquivo cuja duração de intercalação é definida como um ou dois quadros. Em computadores modernos, isso geralmente não é um problema, a menos que você esteja executando várias instâncias do Divisor de AVI simultaneamente.

Procurando

Se o arquivo contiver um fluxo de vídeo, o Divisor de AVI oferecerá suporte à busca por número de quadro. Para habilitar a busca baseada em quadros, chame IMediaSeeking::SetTimeFormat no do Gerenciador do Grafo de Filtro com o valor TIME_FORMAT_FRAME.

Se o arquivo contiver um fluxo de áudio, o Divisor de AVI oferecerá suporte à busca por número de exemplo. Para habilitar a busca baseada em exemplo, chame SetTimeFormat no Gerenciador do Grafo de Filtro com o valor TIME_FORMAT_SAMPLE.

Em ambos os casos, o pino de saída desse fluxo deve ser conectado a um filtro de renderizador.

de Filtros do DirectShow