Partilhar via


Filtro divisor AVI

[O recurso associado a esta página, DirectShow, é um recurso herdado. Foi substituído por MediaPlayer, IMFMediaEnginee Audio/Video Capture in Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize 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.]

O AVI Splitter Filter é usado para a reprodução de arquivos AVI. Aceita dados em formato AVI e divide-os nos seus fluxos constituintes para posterior processamento e/ou renderização.

Rótulo Valor
Interfaces de filtro IAMMediaContent, IBaseFilter, IPersistMediaPropertyBag
Tipos de mídia de pino de entrada MEDIATYPE_Stream, MEDIASUBTYPE_Avi
Interfaces de pino 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
Página de propriedade CLSID Nenhuma página de propriedade.
Executável quartz.dll
Mérito MERIT_NORMAL
Categoria de filtro CLSID_LegacyAmFilterCategory

 

Comentários

Esse filtro normalmente é conectado ao filtro Async File Source em seu pino de entrada. Ele pode se conectar a qualquer filtro cujo pino de saída suporte IAsyncReader e oferece o tipo de mídia correto para o pino de entrada do filtro AVI Splitter.

Os pinos de saída no divisor AVI suportam o método IPropertyBag::Read para ler propriedades de fluxos individuais. Atualmente, a seguinte propriedade está definida.

Propriedade Descrição
Designação Retorna o nome do fluxo, retirado do bloco 'strn' no arquivo AVI. Se esse bloco estiver ausente, o método Read retornará E_INVALIDARG.

 

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

O divisor AVI não permite que os filtros a jusante utilizem o seu próprio alocador.

A duração da intercalação no arquivo determina a quantidade de memória que o divisor AVI irá alocar para processá-lo. Um arquivo que é 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 AVI simultaneamente.

Procura

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

Se o arquivo contiver um fluxo de áudio, o divisor AVI suporta a busca por número de amostra. Para habilitar a busca baseada em exemplo, chame SetTimeFormat no Gerenciador de Gráficos de Filtros com o valor TIME_FORMAT_SAMPLE.

Em ambos os casos, o pino de saída para esse fluxo deve ser conectado a um filtro de renderização.

Filtros DirectShow