Mehrere Video Pakete wechseln sich mit einem Audio Paket im Verhältnis der Bitrate ab.
Sind die Flags für PTS und DTS nicht gesetzt:
Sind die Flags für PTS und DTS gesetzt:
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
| 0 | PACKET_START_CODE_PREFIX $000001 |
|||||||
| 1 | ||||||||
| 2 | ||||||||
| 3 | Stream ID - Video $E0 - $EF, Audio $C0 - $CF | |||||||
| 4 | Paketlänge | |||||||
| 5 | ||||||||
| Optional | ||||||||
| Füllbytes (Stuffing Bytes) | ||||||||
| Weiter | ||||||||
| x + 1 | 0 | 1 | Sind die Bits nicht so gesetzt entfallen diese zwei Bytes | |||||
| STD Buffer Scale |
STD Buffer Größe | |||||||
| x + 2 | noch STD Buffer Größe | |||||||
| x + 3 | 0 | 0 | PTS | DTS | Wenn PTS und DTS nicht gesetzt sind: 1111 | |||
| Flags PTS und DTS gesetzt: | ||||||||
| x + 3 | PTS Bit 32-30 | Marker | ||||||
| x + 4 | Presentation Time Stamp Bit 29-22 | |||||||
| x + 5 | Presentation Time Stamp Bit 21-15 | Marker | ||||||
| x + 6 | Presentation Time Stamp Bit 14-7 | |||||||
| x + 7 | Presentation Time Stamp Bit 6-0 | Marker | ||||||
| x + 8 | 0 | 0 | 0 | 1 | DTS Bit 32-30 | Marker | ||
| x + 9 | Decoding Time Stamp Bit 29-22 | |||||||
| x + 10 | Decoding Time Stamp Bit 21-15 | Marker | ||||||
| x + 11 | Decoding Time Stamp Bit 14-7 | |||||||
| x + 12 | Decoding Time Stamp Bit 6-0 | Marker | ||||||
Bei der Stream ID ist das erste Bit immer gesetzt. Für Video ergibt sich 1110 xxxx und für Audio 1100 xxxx.
Es können bis zu 16 Füllbytes vorhanden sein.
Die beiden Bits nach den Füllbytes sind entweder auf 01 oder 00 gesetzt. Bei 01 schließt sich der STD Buffer an, bei 00 kommen sofort die Zeitstempel.
Die STD Buffer Scale (Buffersize für den Zieldecoder) gibt den Faktor für den folgenden Wert an. Für Video wird der Buffer in 1024 Byte-Einheiten angegeben und das Bit auf 1 gesetzt. Für Audio gelten 128 Byte-Einheiten und das Bit ist auf 0 gesetzt.
Die Decoding Time ist die Zeit wann der Inhalt des Packets decodiert und die Presentation Time die Zeit wann der Inhalt angezeigt werden muss. Die Flags für Presentation Time Stamp und Decoding Time Stamp sind immer gleich gesetzt und die Zeitstempel in 90 kHz Zyklen angegeben.
Bei den Audiopacks scheinen STD Buffer und PTS immer angegeben zu werden, wobei das Fehlen des DTS nicht durch Füllbytes ausgeglichen wird. Bei den Videopacks variiert es, wobei anscheinend bei Systemstreams fehlende Angaben immer durch Füllbytes ausgeglichen werden.

Mit dem folgenden kleinen Testprogramm kann man einen MPEG-1 Stream scannen und System, Audio und Video Header anzeigen lassen.
MPEG1 System Test 4 (167 kb) -
MD5
Stand: 13. Oktober 2008.
Fr_An - Letzte Änderung: 13. Oktober 2008
seit 28. Juli 2010