TS Packet Analyzer
Paste hex from tsdump, a hex editor or a capture, and get every transport stream header field decoded per ISO/IEC 13818-1 — including the full adaptation field and the PCR base-and-extension arithmetic. Continuity counters are tracked per PID across the whole input, so packet loss shows up as it would on a real monitor. Everything runs in your browser; nothing is uploaded anywhere.
Input
A single 4-byte header is enough for the header fields. Supply the full 188 bytes to also decode the adaptation field and PCR. Multiple packets are decoded in sequence.
Decoded
Paste hex above and press Decode.
What this decodes
The 4-byte header is mandatory in every packet. The adaptation field is present only when the adaptation field control bits say so, and each of its own fields is present only when its flag is set — which is why the layout has to be walked in order rather than read at fixed offsets.
| Field | Bits | Notes |
|---|---|---|
| sync_byte | 8 | Always 0x47. Anything else means you are not aligned to a packet boundary |
| transport_error_indicator | 1 | Set by the demodulator when FEC could not correct the packet. Never set by software that merely mangles bytes |
| payload_unit_start_indicator | 1 | A PES packet or a section starts in this payload |
| transport_priority | 1 | Rarely used in practice |
| PID | 13 | 8192 possible values. 0x0000–0x001F reserved, 0x1FFF is null |
| transport_scrambling_control | 2 | 00 clear, 01 reserved for DVB, 10 even key, 11 odd key |
| adaptation_field_control | 2 | 00 reserved, 01 payload only, 10 adaptation only, 11 both |
| continuity_counter | 4 | Increments per packet on a PID, wrapping every 16 — hence the blind spot |
| PCR | 33 + 9 | 33-bit base at 90 kHz plus 9-bit extension at 27 MHz. PCR = base × 300 + ext |
Related
- MPEG Transport Stream Explained — every field above in full, and why packets are 188 bytes
- PSI/SI Tables & Descriptors — what the payload of a PID like 0x0000 actually contains
- The TSDuck Cookbook — how to produce the hex this tool consumes, with
tsdump --raw - DVB Bitrate & Link Calculator — the other tool on this shelf