tivo2dvd − Transfer television programs from Tivo Series II devices to DVD




tivo2dvd is a command-line script which automates the process of fetching television programs off of a Series II Tivo device, processing them, and burning them to a DVD.

The generated DVD includes an automatically-generated menu listing the show(s) on the disk.

By combining the −r and −s options, show lists can be processed in a batch mode. On the first invocation, only the number of shows that can fit on a disk will be processed. On subsequent invocations with the same arguments, the shows that were processed on the previous passes will be skipped.

Most of the functionality of this script is performed by external commands. Use the −c option to get a list of commands that would be processed.

Downloading, processing, and burning can take nearly as long as the playing time of the shows.

You can test access to your Tivo by using a web browser to go to the web page https://IPADDR. When prompted, use "tivo" as the username and MAK as the password.


−a IPADDR, −−addr IPADDR

The IP address of the Tivo (required). The IP address can be found on the Tivo under the "Settings" menu.

−m MAK, −−mak MAK

The MAK code for the Tivo (required). Refer to the "Media Access Key" link under "Manage My Account" at http://www.tivo.com to get the MAK code for your Tivo.

−s MBYTES, −−size MBYTES

The size limit of the output DVD/ISO, in megabytes. If specified, tivo2dvd will only process the maximum number of matched shows that will fit within this size.

−d DEVICE, −−device DEVICE, −i FILE, −−iso FILE

Set the output of the process as the DVD [d]evice name to use or the name of the [i]so file to create. Defaults to the device /dev/dvd.

−r, −−remember

Remember shows that have been previously successfully processed, and skip them. This uses history information that is stored in the binary file ~/.tivo2dvd/SHOWSTRING.db.

−c, −−commands

All of the show retrieval, processing, and DVD creation work is done via external commands. This option causes these commands to be printed out for debugging. You can run one at a time to see more clearly where problems are occurring.


Use this to create configuration files for multiple Tivos. Example: --id=2 means it will look for ~/.tivo2dvd/config-2.


Set the speed of the DVD burn. Default = 4


A case-sensitive match string. Any shows on the Tivo who’s title matches this substring will be processed. Enclose this in quotes if the string includes a space or special characters. Note that this is matched against the show name, not the episode name.


If present, tivo2dvd will consult a configuration file at ~/.tivo2dvd/config for address and MAK configuration, as well as overrides for the commands it uses, in the following format:

#tivo2dvd configuration
$ADDR = ’’;
$MAK = ’1234567890’;
$CMD{’mplex’} = ’/usr/local/bin/mplex’;
$speed = 4;
$device = ’/dev/dvd/’;
$BURNDVDOPTS = ’obscure makedvd options’;

All entries are optional.


tivo2dvd -a -m 1234567890 Housewives

Download all of the episodes of "Desperate Housewives" from the Tivo at IP address with the Media Access Key "1234567890", and burn them to a dvd that is in the device /dev/dvd.

tivo2dvd -a -m 1234567890 -s 4600 -r Housewives

Only process as many shows as will fit on a DVD+\-R. When run a second time, the shows processed the first time will be skipped. The list of shows that have been processed is stored in ~/.tivo2dvd/Housewives.db.

tivo2dvd -a -m 1234567890 -i Housewives.iso Housewives

Save the DVD image in Housewives.iso.

tivo2dvd -a -m 1234567890 -c Housewives

Query the Tivo for the list of shows, then output the commands required to create the DVD.


The tivo2ls command can be used to list the shows on the Tivo. It uses the ip address and MAK in the tivo2dvd config file, if present.