Condividi tramite


Proprietà di esempio MPEG

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, FMMediaEngine 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, FMMediaEngine e Audio/Video Capture in Media Foundation anziché DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Gli esempi MPEG hanno le caratteristiche seguenti.

Timestamp

Non tutti gli esempi hanno orari di avvio e arresto. Il tempo di arresto di esempio per i dati del pacchetto e del payload non è utile; è in genere impostato sull'ora di inizio più una. Gli esempi di dati MPEG o payload avranno un intervallo di inizio e di arresto impostato se il pacchetto di livello di sistema generato da un ptS valido.

Per altre informazioni sui timestamp, vedere la sezione 2.4.1 di ISO1-11172: "L'intestazione del pacchetto può contenere indicatori temporali di decodifica e/o presentazione (DTS e PTS) che fanno riferimento alla prima unità di accesso nel pacchetto".

Per MPEG_Stream tipi principali, l'ora di inizio è la posizione di byte del primo byte, valutata a 1 byte al secondo. L'ora di arresto è la posizione di byte dell'ultimo byte. Pertanto, gli esempi consecutivi devono avere l'ora di arresto del primo pacchetto uguale all'ora di inizio del pacchetto successivo. Per i dati di CD video, l'origine del supporto deve corrispondere al formato di un file video-CD esposto da CDFS con il blocco RIFF standard all'inizio.

Per i tipi di pacchetto video MPEG e payload, il timestamp è l'ora di presentazione per il primo fotogramma video il cui codice iniziale immagine inizia nell'esempio.

Per i tipi di pacchetto audio MPEG e payload, il timestamp è l'ora di presentazione per il primo frame audio il cui codice di sincronizzazione inizia nell'esempio.

Si presuppone che i dati del pacchetto e del payload senza timestamp possano essere pre rollbackati correttamente dai filtri di gestione.

Discontinuità

Se si verifica un'interruzione nel flusso(ad esempio, un gap nei dati in tempo reale o un errore nei dati o dopo una ricerca), la proprietà di interruzione viene impostata nell'esempio multimediale successivo. Ciò consente anche una discontinuità timestamp.

Notifiche end-of-stream

Quando il decodificatore riceve questa notifica, deve elaborare tutti i dati memorizzati nel buffer. Tutti i nuovi dati devono quindi iniziare con la proprietà di discontinuità.

Supporto MPEG-2 in DirectShow