Cookbook : Recording a whole DVB broadcast

Find the code for this here:

This simple example shows how to record a whole broadcast DVB multiplex at a frequency of 505.83MHz, with specific parameters to help the tuner:

    from Kamaelia.Device.DVB.Core import DVB_Multiplex
    from Kamaelia.Chassis.Pipeline import Pipeline
    from Kamaelia.File.Writing import SimpleFileWriter
    import dvb3
    freq = 505.833330 # 529.833330   # 505.833330
    feparams = {
        "inversion" : dvb3.frontend.INVERSION_AUTO,
        "constellation" : dvb3.frontend.QAM_16,
        "code_rate_HP" : dvb3.frontend.FEC_3_4,
        "code_rate_LP" : dvb3.frontend.FEC_3_4,
       DVB_Multiplex(freq, [0x2000],feparams), # BBC Multiplex 1, whole transport stream

The DVB_Multiplex component is the simplest and easiest to use combined tuner and demultiplexer component - you simply specify the frequency, a list of packet IDs to demultiplex, and an optional dictionary of tuner control parameters.

By specifying the special PID of 0x2000 the demultiplexer outputs all packets. However, not that not all DVB hardware supports this.


Kamaelia is an open source project originated from and guided by BBC Research. For more information browse the site or get in contact.

This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)

(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved

This web site is powered by the same code created for the bicker manor project. For more details, contact Michael Sparks at BBC Research directly (cf contact)