Partilhar via


Usando o divisor MPEG-2

[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.]

Observação

A partir do Microsoft® Windows® XP, o filtro divisor MPEG-2 foi preterido. Em vez disso, use o MpEG-2 Demultiplexer .

 

O filtro divisor MPEG-2 dá suporte à reprodução do modo de pull de fluxos de programa MPEG-2 que contêm pelo menos um dos seguintes tipos de fluxo.

  • Vídeo MPEG-2
  • Áudio MPEG-2
  • Áudio dolby AC-3 codificado conforme definido para DVD-Video
  • Áudio LPCM (Linear Pulse Code Modulated) codificado conforme definido para DVD-Video

Para obter uma lista de tipos de mídia compatíveis com o Divisor MPEG-2, consulte Tipos de mídia de divisor MPEG-2.

O Divisor MPEG-2 não analisa fluxos de transporte. Use o filtro MpEG-2 Demultiplexer para fluxos de transporte (somente no modo push).

Carimbos de Data/Hora

Ao reproduzir fluxos de programa MPEG-2, o filtro divisor MPEG-2 trata a primeira referência de relógio do sistema encontrada como a origem do tempo de qualquer fluxo. Isso difere do Divisor de Fluxo MPEG-1, que usa carimbos de data/hora de apresentação. O método IAMParse::GetParseTime retorna a hora (possivelmente estimada) do relógio do sistema de fluxo para os dados processados.

Se o filtro de divisor MPEG-2 encontrar um exemplo de entrada com o conjunto de propriedades de descontinuidade (a propriedade de descontinuidade pode ser definida usando IMediaSample::SetDiscontinuity ou IMediaSample2::SetProperties), ele ignora os dados até encontrar o primeiro pacote nos dados e ajusta seus carimbos de data/hora para que a referência do relógio do sistema (SCR) para esse pacote seja considerada idêntica à hora do SCR antes da descontinuação. Se o relógio SCR aparecer para saltar para trás ou para avançar em mais de um segundo, então (em linha com a especificação de fluxo do programa MPEG-2), isso também é tratado como uma descontinuidade do relógio e a discrepância aparente do relógio é subtraída dos carimbos de data/hora passados para filtros downstream.

Seleção de Fluxo

Ao reproduzir o fluxo do programa MPEG-2, o primeiro fluxo de vídeo e o primeiro fluxo de áudio encontrados atravessando o fluxo do programa são escolhidos. Há suporte para até um pino de saída de áudio e um vídeo. Por meio da interface IAMStreamSelect , diferentes fluxos do mesmo tipo podem ser selecionados até o número especificado pelo limite de áudio no cabeçalho do sistema. No momento, para áudio MPEG-2, supõe-se que os fluxos formam um intervalo contíguo começando em 0xC0 de fluxo.

Interfaces com suporte

O filtro de divisor MPEG-2 dá suporte às interfaces a seguir.

Suporte a MPEG-2 no DirectShow