MPEG-Beispieleigenschaften
[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]
MPEG-Beispiele weisen die folgenden Merkmale auf.
Zeitstempel
Nicht alle Beispiele weisen Start- und Stoppzeiten auf. Die Beispielstoppzeit für Paket- und Nutzlastdaten ist nicht nützlich. Sie wird normalerweise auf die Startzeit plus 1 festgelegt. MPEG-Paket- oder Nutzlastdatenbeispiele verfügen über eine Start- und Stoppzeit, wenn das Paket auf Systemebene, aus dem sie generiert werden, über einen gültigen PTS verfügt.
Weitere Informationen zu Zeitstempeln finden Sie in Abschnitt 2.4.1 von ISO1-11172: "Der Paketheader kann Decodierungs- und/oder Präsentationszeitstempel (DTS und PTS) enthalten, die sich auf die erste Zugriffseinheit im Paket beziehen."
Für MPEG_Stream Haupttypen ist die Startzeit die Byteposition des ersten Byte, die mit 1 Byte pro Sekunde bewertet wird. Die Stoppzeit ist die Byteposition des letzten Byte. Daher sollte bei aufeinanderfolgenden Beispielen die Stoppzeit des ersten Pakets der Startzeit des nächsten Pakets entsprechen. Bei Video-CD-Daten muss der Ursprung des Mediums mit dem Format einer Video-CD-Datei übereinstimmen, die von CDFS mit dem Riff-Standardblock am Anfang verfügbar gemacht wird.
Bei MPEG-Videopaket- und Nutzlasttypen ist der Zeitstempel die Präsentationszeit für den ersten Videoframe, dessen Bildstartcode im Beispiel beginnt.
Bei MPEG-Audiopaket- und Nutzlasttypen ist der Zeitstempel die Präsentationszeit für den ersten Audioframe, dessen Synchronisierungscode im Beispiel beginnt.
Es wird davon ausgegangen, dass Paket- und Nutzlastdaten ohne Zeitstempel erfolgreich von den Verarbeitungsfiltern vorgerollt werden können.
Unterbrechungen
Wenn der Stream unterbrochen wird (z. B. eine Lücke in den Echtzeitdaten, ein Fehler in den Daten oder nach einer Suche), wird die Diskontinuitätseigenschaft für das nächste Medienbeispiel festgelegt. Dies ermöglicht auch eine Zeitstempel-Diskontinuität.
Benachrichtigungen zum Streamende
Wenn der Decoder diese Benachrichtigung empfängt, muss er alle gepufferten Daten verarbeiten. Alle neuen Daten müssen dann mit der Diskontinuitätseigenschaft beginnen.
Zugehörige Themen