This blog is only to remind myself of what I've learned (from others or by myself) and only for knowledge sharing. External sources will be clearly stated in [Reference] of each article. I hope this blog won't infringe any copyrights and that it can be useful for interested blog readers.

2008年2月20日 星期三

DVB-H PID-to-IP mapping TS parsing -- part IV

Preface

Reference
  • ETSI_EN_301_192 (en_301192v010401p.pdf)
  • ETSI_EN_300_468 (en_300468v010601p.pdf)
  • ISO_IEC_138181-1
  • a079r1.tm3025r2.cbms1164r.IPDC_PSI-SI.pdf


1) datagram_section

2) How to get IP datagram from a certain PID

after PID-IP-mapping info is found (refer to partIII), we can use

"Bully method" to get all IP datagram from a certain PID.

a) Focus on a certain PID (say PID=1000)

b) get all TS packets with PID = 1000

c) try to assemble a section from (b)

d) check if the assembled section contains table_id = 0x3e, which means

datagram_section

e) if it isn't, drop it and repeat (b). If it is, continue with (f)

f) start parsing datagram_section

!!NOTES:

There might be several different IP datagram (IP:port) from a certain PID.

ex: PID=1000 may contain 225.1.1.1:5000, 225.1.1.1:5001, 225.1.1.1:5002, 225.1.1.1:5003

When parsing, it's better to save them in different files so as to easily identify

what those IP packet might be.

(ex: Flute packets for ESG bootstrap or ESG,
RTP_video, RTP_audio, RTCP_video, RTCP_audio)

沒有留言: