Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Projekte | MPEG - MPEG-2 Elementar Stream Video - Sequence Header

Sequence Header

Jeder Header beginnt mit dem PACK_START_CODE_PREFIX, welcher aus den drei Bytes 0, 0 und 1 besteht. Als Hexadezimale Zahl wird er mit $000001 dargestellt. Daran schließt sich die ID an. Beim Sequence Header ist dies der Wert $B3. Die Länge des Headers besitzt entsprechend den verwendeten Matrixen verschiedene Längen.

Jeder Sequence Header stellt einen möglichen Einsprungpunkt dar. Das bedeutet, nur wo ein Sequence Header ist, kann ein Kapitel erstellt werden. Vergleiche dazu "Mögliche Kapiteleinsprungspunkte: 1".

Es soll auch vorkommen, dass Sequence Header nicht mit $000001B3 sondern mit $000000B3 gekennzeichnet werden.

Aufbau

Als Schema:

 76543210
0SEQUENCE_HEADER_CODE
1
2
3
4Bildbreite
5noch BildbreiteBildhöhe
6noch Bildhöhe
7Aspect RatioFramerate
8Bitrate
9noch Bitrate
10noch BitrateMarkerVBV
11VBVCPFLaden?I M
12noch Intra Matrix
...
75noch Intra MatrixLaden?
76Non Intra Matrix
...
139

Dem Sequence Header ist der MPEG-Typ nur direkt zu entnehmen, wenn der Aspect Ratio einen Wert über 4 besitzt. Dann ist es jedoch ein MPEG-1 Video.

Erläuterungen

Die Werte für den Aspect Ratio:

WertAspect Ratio Text
0'forbidden'
11:1 Square Pixels
24:3 Display
316:9 Display
42.21:1 Display
5-15'reserved'

Die Werte für die Frame Rate (Bildwiederholrate):

WertFrame Rate ZahlFrame Rate Text
00'forbidden'
124000/1001.0'23.976 fps -- NTSC encapsulated film rate'
224.0'Standard international cinema film rate'
325.0'PAL (625/50) video frame rate'
430000/1001.0'29.97 -- NTSC video frame rate'
530.0'NTSC drop-frame (525/60) video frame rate'
650.0'double frame rate/progressive PAL'
760000/1001.0'double frame rate NTSC'
860.0'double frame rate drop-frame NTSC'
9-150'reserved'

Die Bitrate wird in 400 Bit je Sekunde angegeben. Der Wert $3FFFF soll eine variable Bitrate bedeuten. Im Test gaben TMPGEnc und CCEB dort jeweils die maximale Bitrate an.

Das Markerbit soll Fehler aufdecken. Es muss immer den Wert 1 besitzen.

Der VBV ist der Speicher, welcher zum Decoden der Bilder notwendig ist. Er wird in 16 kB Blöcken angegeben.

Das Constrained Parameter Flag ist hier immer auf 0 gesetzt. Der TMPG Encoder 2.5* benutzt die 10 Bit für den VBV und das Bit des Constrained Parameter Flag für den VBV-Angabe, so dass hier immer nur die Hälfte des VBV angezeigt wird.

Das Intra bzw Non Intra Matrix laden Bit gibt an, ob die Standardmatrix verwendet wird oder an dieser Stelle die entsprechende Matrix gespeichert ist und geladen werden muss. Die Matrix ist im Zig Zag Scan gespeichert.

Extensionen

Dem Sequence Header schliessen sich mindestens eine Extension an. Darüber wird ein MPEG-2 identifiziert. Die ID der Extension ist $B5. Daran schliesst sich die ID der Extension an. Für den Sequence Header dürften diese Extensionen in Frage kommen:

Testprogramm

Mit diesem Testprogramm kann man einen MPEG-2 Elemantar Stream scannen und die Sequence Header sowie dessen User Data anzeigen lassen.

MPEG2 Elementar Test 01 (165 kb) - MD5
Stand: 13. Oktober 2008

Stream Struktur > Sequence Header > Sequence Extension