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.
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
d.h er ist die letzten 13 bits von byte 2 und 3: 0x00 | 0xD2 00000000 11010010 ==> PID: 0000011010010 |bin (denk ich zumindest ;-) )
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.