Steve Price
and 1 contributors


This script just got a lot more complicated because ffmpeg now needs the SI tables to be able to decode the transport stream correctly. I would STRONGLY advise you use one of the other recording scripts. This script will no longer be supported.


dvbt-ffrec - Record a program to file


dvbt-ffrec [options] channel filename duration


       -debug level         set debug level
       -verbose level       set verbosity level
       -help                brief help message
       -man                 full documentation
       -a <num>             Use adapter <num>



Print a brief help message and exits.


Prints the manual page and exits.


Set verbosity level. Higher values show more information.


Set debug level. Higher levels show more debugging information (only really of any interest to developers!)


Specify which adapter number to use


Script that uses the perl Linux::DVB::DVBT package to provide DVB-T adapter functions.

This script differs from dvbt-record in that it illustrates the use of the DVR device by using it as an input to ffmpeg. Here, ffmpeg is used to take the raw transport stream data and encapsulate it into an mpeg file.

Obviously, ffmpeg needs to be installed on the system for this script to work!

Specify the channel name to record, the filename of the recorded file (which may include a directory path and the directories will be created as needed), and the duration of the recording. Note that the filename will be converted to end with .mpeg extension.

The duration may be specified either as an integer number of minutes, or in HH:MM format (for hours & minutes), or in HH:MM:SS format (for hours, minutes, seconds).

The program uses a "fuzzy" search to match the specified channel name with the name broadcast by the network. The case of the name is not important, and neither is whitespace. The search also checks for both numeric and name instances of a number (e.g. "1" and "one").

For example, the following are all equivalent and match with the broadcast channel name "BBC ONE":

    BbC One
    b b c    1  

For full details of the DVBT functions, please see:

   perldoc Linux::DVB::DVBT