April 2024 - This site, and Kamaelia are being updated. There is significant work needed, and PRs are welcome.

Kamaelia.Device.DVB.Parse

Components for parsing PSI data in DVB MPEG Transport Streams

DVB MPEG Transport Streams carry, on certain PIDs, tables of data. Some tables contain data explaining the structure of services (channels) being carried, and what PIDs to find their component audio and video streams being carried in.

Others carry ancilliary data such as electronic programme guide information and events, or time and date information or the frequencies on which other multiplexes can be found.

Tables are delivered in 'sections'.

The parsing process is basically:

  • Use appropriate Kamaelia.Device.DVB component(s) to receive and demultiplex and appropriate PID containing table(s) from a broadcast multiplex (transport stream)
  • Use Kamaelia.Device.DVB.Parse.ReassemblePSITables to extract the table sections from a stream of TS packets
  • Feed these raw sections to an appropriate table parsing component to parse the table. These components typically convert the table from its raw binary form to python dictionary based data structures containing the same information, but parsed into a more convenient form.

For a detailed explanation of the purposes and details of tables, see:

  • ISO/IEC 13818-1 (aka "MPEG: Systems") "GENERIC CODING OF MOVING PICTURES AND ASSOCIATED AUDIO: SYSTEMS" ISO / Motion Picture Experts Grou7p
  • ETSI EN 300 468 "Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems" ETSI / EBU (DVB group)

Feedback

Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!

Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.

-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT