Skip to content

Instantly share code, notes, and snippets.

@dmlap
Last active August 29, 2015 14:04
Show Gist options
  • Save dmlap/0336e5de308c6a2e1b69 to your computer and use it in GitHub Desktop.
Save dmlap/0336e5de308c6a2e1b69 to your computer and use it in GitHub Desktop.
mp2t packet format

Packet Header

0 1 2 3
sb tei pusi tp pid:5 pid tsc afc cc
afl? ...?

PAT

0 1 2 3
pf? ...?
tid ssi 0 r sl:4 sl tsi:8
tsi r vn cni sn lsn

with program_number 0:

0 1 2 3
pn pn r np:5 np

otherwise:

0 1 2 3
pn pn r pmp:5 pmp

then:

0 1 2 3
crc:8 crc:16 crc:24 crc

PMT

0 1 2 3
pf? ...?
tid ssi 0 r sl:4 sl pn:8
pn r vn cni sn lsn
r ppid:5 ppid r pil:4 pil
d? ...
st r epid:5 epid r esil:4
esil d? ...
crc:8 crc:16 crc:24 crc

PES

When stream_id is not one of program_stream_map, padding_stream, private_stream_2, ECM, EMM, program_stream_directory, DSMCC_stream, or ITU-T Rec. H.222.1 type E stream.

0 1 2 3
pscp:8 pscp:16 pscp sid
ppl:8 ppl 10 psc pp dai c ooc pdf ef erf dtmf acif pcf pef
phdl

with PTS_DTS_flags == 10:

0 1 2 3
0010 pts:32-30 mb pts:29-22 pts:21-15 mb
pts:14-7 pts:6-0 mb

with PTS_DTS_flags == 11:

0 1 2 3
0011 pts:32-30 mb pts:29-22 pts:21-15 mb
pts:14-7 pts:6-0 mb 0001 dts:32-30 mb dts:29-22
dts:21-15 mb dts:14-7 dts:6-0 mb

then:

0 1 2 3
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment