Condividi tramite


Uso del splitter MPEG-2

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Nota

A partire da Microsoft® Windows® XP, il filtro splitter MPEG-2 è deprecato. Usare invece MPEG-2 Demultiplexer .

 

Il filtro splitter MPEG-2 supporta la riproduzione in modalità pull di flussi di programma MPEG-2 che contengono almeno uno dei tipi di flusso seguenti.

  • Video MPEG-2
  • Audio MPEG-2
  • Audio Dolby AC-3 codificato come definito per DVD-Video
  • Audio LPCM (Linear Pulse Code Modulated) codificato come definito per DVD-Video

Per un elenco dei tipi di supporto supportati da MPEG-2 Splitter, vedere Mpeg-2 Splitter Media Types.For a list of media types that the MPEG-2 Splitter Media Types.

Mpeg-2 Splitter non analizza i flussi di trasporto. Usare il filtro MPEG-2 Demultiplexer per i flussi di trasporto (solo modalità push).

Timestamp

Quando si riproduceno flussi di programma MPEG-2, il filtro Splitter MPEG-2 considera il primo riferimento dell'orologio di sistema rilevato come l'origine dell'ora di qualsiasi flusso. Questo comportamento è diverso da MPEG-1 Stream Splitter, che usa timestamp di presentazione. Il metodo IAMParse::GetParseTime restituisce l'ora di clock del sistema di flusso (possibilmente stimata) per i dati elaborati.

Se il filtro di divisione MPEG-2 rileva un esempio di input con il set di proprietà di discontinuità (la proprietà di discontinuità può essere impostata usando IMediaSample::SetDiscontinuity o IMediaSample2::SetProperties), ignora i dati fino a quando non trova il primo pacchetto nei dati e modifica i timestamp in modo che il riferimento all'orologio di sistema (SCR) per tale pacchetto sia considerato identico all'ora SCR prima della discontinuità. Se l'orologio SCR sembra saltare indietro o saltare avanti di più di un secondo, quindi (in linea con la specifica del flusso di programma MPEG-2), questo viene considerato anche come una discontinuità di clock e la discrepanza di clock apparente viene sottratta dai timestamp passati ai filtri downstream.

Selezione flusso

Quando si riproduce il flusso di programma MPEG-2, vengono scelti il primo flusso video e il primo flusso audio trovato attraverso il flusso del programma. Sono supportati fino a un audio e un pin di output video. Tramite l'interfaccia IAMStreamSelect , è possibile selezionare flussi diversi dello stesso tipo fino al numero specificato dal limite audio nell'intestazione di sistema. Per l'audio MPEG-2, si presuppone che i flussi formino un intervallo contiguo a partire dal flusso 0xC0.

Interfacce supportate

Il filtro di divisione MPEG-2 supporta le interfacce seguenti.

Supporto MPEG-2 in DirectShow