Based on this guide.

Discussion for this wiki can be found here

This tutorial uses exclusively open source software although kmttg has alternatives to use some commercial software. It takes a while to go through this tutorial, but it is well worth it at the end.


kmttg is a Java based program I (not me the author of this tutorial, a cool developer named Kevin Moye) wrote to facilitate Tivo To Go (TTG) transfer's that can download, create pyTivo metadata, decrypt, run comskip & comcut (commercial detection and removal), create closed captions files and re-encode multiple shows you select from your Tivos all automatically. The program also has the capability to transfer and process shows automatically from your Tivos based on titles and keywords you setup.

  • You can select one or more shows at a time and then with one click of a button the program will download all the selected items, with the options of also automatically creating a metadata file for pyTivo, decrypting, TiVo files to .mpg, running comskip (commercial detection and removal program), and automatically re-encoding to a more portable format using mencoder, ffmpeg or any other command line encoder of your choosing. The program queues up multiple jobs and displays time, size and speed statistics for ongoing jobs.

    Previously I was using different point tools to accomplish this, such as Tivo Desktop or TivoPlayList for downloads, pyTivoMetaGen for generating metadata files, Tivo Decoder UI for decrypting and various GUIs built around ffmpeg for re-encoding. I did not want to pay for or be limited by Tivo Desktop Plus. This is my attempt to simplify and automate these different tasks all into 1 simple GUI.


1. Install OpenJDK version of Java.

sudo apt-get install openjdk-6-jre

2. Download kmttg installation zip file from here.

  • Obtain version v0p8l or later.

cd ~
mkdir -p kmttg
cd kmttg

3. Install ProjectX video repair.

  • Although ProjectX exists in Ubuntu repositories, I do not recommend that particular outdated version. Instead, download a file from here and place it in /home/$USERNAME/kmttg. Afterwards, unzip downloaded file and create a link:

cd ~/kmttg
ln -s Project-X_0.91.0 ProjectX

4. Download and build tivodecode.

sudo apt-get install build-essential
cd ~/kmttg
tar xvfz tivodecode-0.3pre4.tar.gz
cd tivodecode-0.3pre4/
cd ..
ln -s tivodecode-0.3pre4 tivodecode

5. Download comskip and wine and configure comskip to run via wine.

  • While comskip is open source software, folks haven't quite figured out how to build it on Linux due to a number of complexities. So, we will use a windows build instead and use wine to execute it. Don't worry, it will all be under the covers.

sudo apt-get install wine
cd ~/kmttg
mkdir -p comskip
cd comskip
unzip ../
echo 'wine "$0".exe "$@"' > comskip
chmod +x comskip

6. Download HandBrake encoder.

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake-cli handbrake-gtk

7. Download Atomic Parsley metadata processor.

sudo apt-get install atomicparsley


  • You must know your 10 digit Media Access Key (MAK) for your TIVO. PLEASE do not post your MAK in these forums!

From, question "Unable to transfer video from TiVo DVR to PC"

NOTE: You can find your Media Access Key in either of these two places:

From your TiVo DVR: Go to TiVo Central, select Messages & Settings, then Account & System Information, and then Media Access Key.

  • Online: Log in to your My TiVo account.

When I say $USERNAME, I mean your actual username.

  • Run kmttg by typing ~/kmttg/kmttg
  • Enter your MAK
  • Configure your software by selecting File/Configure and selecting Programs tab
  • Check that kmttg auto-detected your handbrake at /usr/bin/HandBrakeCLI
  • Check that kmttg auto-detected your tivodecode at /home/$USERNAME/tivodecode/tivodecode
  • Check that kmttg auto-detected your comskip at /home/$USERNAME/kmttg/comskip/comskip
  • Check that kmttg auto-detected your ProjectX as /home/$USERNAME/kmttg/ProjectX/ProjectX.jar

How to use

  • Click Refresh for kmttg to update list of your TIVO programs
  • Select checkboxes ☑ metadata ☑ decrypt ☑ QS Fix ☑ Ad Detect ☑ Ad Cut ☑ encode
  • Select Encoding Profile: hb_television

  • Select your favorite programs and click [START JOBS] on the top left.

  • Wait, and then enjoy your videos on your computer or your mobile device.

    Note that encoding profile hb_television is a good place to start but is not a perfect profile. There is truly no perfect encoding profile, so use HandBrake GUI to optimize your encoding experience. A file encoded using hb_television profile won't play on your Android phone or tablet (you would not use a closed source tablet, would you?), so use ff_droid or hb_iphone preset instead for taking your TIVO shows on the road.

Originally posted The Ubuntu Forums (

TransferVideosFromTIVOToUbuntuOrAndroidUsingKmttg (last edited 2012-07-18 10:51:07 by host86-130-25-119)