A TiVo device is actually a Linux computer, but not one you can easily connect to. The manufacturer made some changes to the code to keep it locked down, and did not publish any of those changes. This is actually legal under the license in force when they obtained the Linux software since they are not in the business of redistributing the software. In fact, this is one of the situations that motivated the Free Software Foundation to create version 3 of the GPL, which would prohibit this in the future.
But for now, it is what it is, and you cannot simply ssh into your TiVo box. You can, however, access your files via http. You can use your Web browser to log in to your TiVo box and then download any programs that are stored there. To do this you need two essential pieces of information, both of which you can find within TiVo: the IP address of your TiVo box, and the Media Access Key.
- IP Address – In TiVo, go to Messages & Settings, Settings, Phone & Network, and you will see your IP address in the upper right. It will probably be something like “192.168.x.x”, where the x’s are replaced by actual numbers.
- Media Access Key – In TiVo, go to Messages & Settings, Account & System Information, Media Access Key. Write down the key. Note that it says “Use the key below to access TiVo recordings from your home network.” Isn’t that nice? On my system this is a ten-digit number, but I don’t know for sure if that is always true for all systems.
Method One: Browser
With those two pieces of information, open your browser, and for the address use https://youripaddress. So it might look something like https://192.168.1.106, to use the actual IP address of my TiVo box. When you do this, if you are using a reasonably secure browser (like say Firefox), you may see a really scary window pop up saying that this is not a recognized site, the security cannot be verified, etc. If you say you want to connect anyway, you may need to add an exception. Firefox actually makes this fairly easy, just be prepared for it. Once you get past that, you will see a login popup window. Whenever you see this popup window, the user name is always “tivo”, and the password is always the Media Access Key you retrieved above. Enter these correctly, and you have a page in your browser called Now Playing that will list all of your TiVo programs. You can download any (well, almost any) of these programs by clicking the link on the right. The exceptions are certain programs that did not come from TV, but came from the Internet, if you have some of those selected. For instance, I download Rocketboom to my TiVo box and watch it there, but I cannot then download it from TiVo to my computer. Given that I can go to the Web site for Rocketboom and download the file from there, I don’t know what this accomplishes, but you should know about it.
Method Two: kmttg
This is what I actually use, for reasons that will become clear as we go through the series. But for now, suffice it to say that you need the exact same information to set up kmttg. It handles the downloads a little easier than using your browser (and in the next section we’ll see another advantage). So download and install this from the link I’ve given you, and you can connect to your TiVo box, browse the programs, and download the ones you want on to your computer.
kmttg runs from whichever folder you extract it to, so I followed the suggestion of the program’s author and created a directory within my home: /home/kevin/kmttg, and extracted it to there. The other thing you may want to do is install the very latest TiVoDecode. This is a tarball which you extract and build as usual: ./configure, make, make install. No biggie if you have ever built a file from source. And if you have not done that yet, it is easy. And you can check out my presentation which covers how to do this in some detail.
One of the big advantages to using kmttg is that it links to other files on your system to do various tasks. You may already have these files installed, and if so all you need to know is the path to each of them. If you don’t have them already installed, in many cases it is just a matter of downloading from your repository. Among these files are:
- curl – used for grabbing files form your TiVo and downloading them to your computer
- mencoder – Movie encoder
- ffmpeg – Movie encoder
- Handbrake – Movie transcoder, particularly useful for transcoding into mobile formats
- Comskip – This is a Windows-only program that detects commercials and lets kmttg cut them out of the file. Since it is Windows-only, you need to run it with Wine.
- AtomicParsley – This sets iTunes-style Metatags.
Now, you don’t necessarily want or need all of these, so in that case just delete any path information when you configure kmttg.
With kmttg extracted and TiVoDecode installed, you are ready to set up kmttg to pull files from your TiVo. In my case, letting kmttg automatically find my TiVo did not work, but putting in the name and IP address and clicking “Add” worked great. You can also configure kmttg to automatically decode the files, but I will cover that in the next section
Listen to the audio version of this post on Hacker Public Radio!