Forum: Mikrocontroller und Digitale Elektronik mpeg transport strom


von Carsten (Gast)


Lesenswert?

Hallo,
ich einen MPEG Transportstrom mittels Logic Analyzer ausgelesen und bin 
auf der Suche nach der PID im Header. Das Syncbyte 47hex habe ich 
gefunden und ist eindeutig, da auf einem anderen Kanal ein Sync-Impuls 
beim Rahmenbeginn anliegt. Doch wo liegt meine 13 Bit lange PID im 
Header wenn der Transportstrom auf 8 Bit parallel aufgespalten ist.
Die Daten vom Logic Analyzer sehen als Beispiel wie folgt aus.

0x47  -> SyncByte
0x00  -> 2. Byte
0xD2  -> 3. Byte
0x9B  -> 4. Byte


Irgendwo in den ersten 4 Bytes muss die PID liegen. Vielleicht könnte 
mir jemand für dieses Beispiel die PID schreiben.

Danke für eure Hilfe.

von Marcus Overhagen (Gast)


Lesenswert?

Hallo,

vielleicht hilft dir folgender vereinfachter Ausschnitt
aus einem Programm von mir:

unsigned char header[4];

int PID() const
{
  return ((header[1] << 8) | header[2]) & 0x1fff;
}

Gruss
Marcus

von LX84 (Gast)


Angehängte Dateien:

Lesenswert?

Hab da mal im Praktikum was gemacht...
Hoff das hilft dir weiter

von LX84 (Gast)


Lesenswert?

d.h er ist die letzten 13 bits von byte 2 und 3:

            0x00   |     0xD2

          00000000    11010010

==> PID: 0000011010010 |bin

(denk ich zumindest ;-) )

von Roland Praml (Gast)


Lesenswert?

ich hab damals ne Menge über den Aufbau von MPEG durch rumprobieren mit 
den MPEG-Editoren von http://ddc.mahn.org/ gelernt

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.