How to decrypt .tivo files on OS X (a pragmatic approach)


IMPORTANT UPDATE

A group of talented hackers have decoded the structure of the Series 2 TiVo encryption key! This means that, for Mac users, it is suddenly quite easy to transfer the files from your TiVo for viewing on your Mac! You no longer need to jump through the hoops I've spelled out on this page anymore - just download this application:

TivoDecode Manager

You will need to use either VLC or MPlayer to watch the resulting MPEG video file - Quicktime won't work correctly because it can't handle the MPEG2-muxed format used by TiVo. If you want to use these files in Quicktime or iMovie, you can do a further conversion with ffmpegX. But otherwise just transfer and convert the file using TivoDecode Manager, then watch it with VLC - that's all you have to do!

If you prefer to hack out your own system, the basic command-line conversion program is called tivodecode.

Note that this does NOT enable the theft of other peoples' TiVo shows - these tools can only decode a .tivo file for which you know the MAK (Media Access Key). Basically that means this is only useable by the person that owns that particular TiVo.


The rest of this page is provided as an archive, or perhaps if you have masochistic tendencies. Everyone else can safely ignore it.

Series 2 Tivos are network aware, which is great because you can easily grab the shows you've recorded and download them to your computer. As anyone who's done this knows, though, the problem starts here - these .tivo files are wrapped in some sort of a Digital Rights Management (DRM) layer. And while Tivo has finally made it possible to watch these shows on a computer, their solution only works with Windows XP.

I'm putting this page together to show you an easy way to convert those .tivo files into MPEG-2 files. While it's straightforward, it still involves Windows XP - running inside of Virtual PC (VPC). If you don't have VPC, you won't be able to do this. Additionally, your Tivo must be running software version 7 or greater - if Tivo Desktop doesn't support your Tivo, then this approach will not work.

The REAL solution, of course, is for Tivo to start supporting our favorite operating system! I have no doubt that a disproportionate share of Tivo owners are Mac owners as well. We like things that work, and work well. We don't like being shoe-horned into the poor solutions offered by the Windows hegemony.

IMPORTANT: While I believe this will work for most people, I make no guarantees. If it doesn't work for you, please don't expect me to solve the problem. Having said that, trying this out should be pretty much risk-free since it does not involve any hacking of your Tivo at all. If it doesn't work you're not out anything other than a little time.

It is also important to note that I did not invent this solution. It's been cobbled together from information scattered all over the web. The single most helpful page, though, was the Windows-specific information at http://www.zatznotfunny.com/ttg.htm.

Converting your .tivo file, step by step

Be sure to follow the steps in order. Note that most of this is being done inside your Windows XP virtual machine (the one being installed in step 1, below).

  1. Install Windows XP onto your Mac using Virtual PC 6.1 or higher (6.1 and 7.0.2 have both worked for me). You may have to start with a clean install - my personal experience with using existing virtual machines has been hit or miss. Since reinstalling XP is a pain in the neck, feel free to try these steps on an existing virtual machine first (if you have one) - but if the process I'm describing in this section doesn't work for you, and you write to me asking for help, my advice is going to be "start again, using a brand-new XP virtual machine this time".
  2. Install all critical updates for Windows XP, using Windows Update. This may take you a while...
  3. Install Windows Media Player 10 (WMP 10). You get this from Windows Update. Note that you'll only need it once, but you WILL need it.
  4. Install the .NET Framework. This is also done via Windows Update.
  5. Download and install Tivo Desktop 2.0 (or newer) for Windows. There have been reports that version 2.1 restricts access to arbitrary programs; but I've used versions 2.0 and 2.2 without problems.

    Note that during the install you may see a warning that you "may not have the correct codecs" - you can safely ignore this. Windows Media Player will be getting the codec for us in a few minutes.

    Also note that you'll need your Tivo's Media Access Key (MAK). Just turn on your Tivo and find your system information under "Messages and Setup" - the MAK is right there.

    Finally, during the install you'll be asked to pick a password. Just pick something easy that you won't have trouble remembering. If you forget it, though, you can always go back into Tivo Desktop and reset it to something else.
  6. Download and install Direct Show Dump. This is the application that will actually convert the .tivo files for you, using the codecs and tools installed by WMP 10 and Tivo Desktop. Incidentally, it's the reason you had to install the .NET framework.

Now you've got all the tools installed. There are a few more necessary steps, though - and you'll need a .tivo file to do this. You can use Tivo Desktop to get the file, or you can just use your web browser. If your Tivo's IP address is 10.4.3.2, then just point your browser at https://10.4.3.2/nowplaying/index.html - put your Tivo's IP address in place of "10.4.3.2" but otherwise type EXACTLY that. Your login username is "tivo", and the password is your MAK.

I usually download the .tivo files onto my desktop using either Safari or Firefox (please see the notes further down the page regarding the use of shared folders in Virtual PC).

I should point out that transferring .tivo files off your Tivo is not particularly fast. So for purposes of this setup, just grab the shortest show you've got.

  1. Just this first time, you'll need to open the .tivo file in Windows Media Player 10. This is necessary because you'll need to agree to the license; plus WMP 10 has to download and install the correct codec for decrypting the .tivo files.

    Note that you won't get to actually watch the video at the moment - VPC's video performance is abysmal. But all you really care about is getting that codec installed. That should happen automatically within a few seconds of opening the .tivo file inside of WMP 10.
  2. All right! You're done with WMP 10 for good. Shut that puppy down.
  3. Open up Direct Show Dump (DSD), and select the .tivo file. Decoding will begin automatically - after you enter the Tivo Desktop password, of course! I should mention that this crashed on me until I bumped the Virtual PC memory up to 320 megs; so if you have problems try giving your virtual machine more memory.
  4. Profit! Sorry, that's an inside joke. What I mean is... you're done!

Once DSD has done its conversion, you can copy the file back over to your Mac's disk and then shut down Virtual PC. The converted file will be in MPEG-2 format, although it apparently uses an audio codec that Quicktime can't handle (even if you've purchased the MPEG-2 extension). MPlayerOSX and VLC will be able to play this MPEG-2 file as-is.

Working with converted .tivo files in iMovie or Quicktime

As noted above, the converted file is not compatible with Quicktime (or, by extension, iMovie). If you want to use one of these programs to further process your file, you'll need to do a couple more steps. Please note that I'm just giving you the bare-bones info here; you'll probably want to play around some with the two programs mentioned below, to learn their ins and outs.

  1. Convert the MPEG-2 movie to AVI, using ffmpegX. The default settings should work, except for the output video size is usually set incorrectly for some reason. If you load the original MPEG-2 into Quicktime (it will load; it just won't play correctly), you can view the file info to find out what the dimensions should be.
  2. Convert that AVI to a Quicktime movie, using DivxDoctor II. This should just work without any adjustments or tweaking necessary.

Notes on using shared folders

Virtual PC has a nice feature called "shared folders" that allows you to specify a folder (or folders) that can be accessed both by your virtual machine and by OS X. This is advantageous because otherwise you have to copy files into Virtual PC in order to use them, which can be a slow process if the file is large (and .tivo files definitely fit this description!). Loading a file onto your Virtual PC's disk also (unsurprisingly) causes that disk to grow in size, which cuts down on your Mac's free disk space.

Unfortunately, with Virtual PC 6.1 I have been unable to get Direct Show Dump to successfully process a file in a shared folder; nor is it able to output a converted file directly into a shared folder. So if you're working with VPC 6, you'll likely need to copy the tivo file onto your VPC desktop; process it; and then copy it back to your Mac's desktop.

Virtual PC 7.0.2, however, seems to handle shared drives quite well. When I download a .tivo file into a shared folder in VPC 7, Direct Show Dump has no problems reading, converting, or saving to that folder.

[Back to Trav's main page]


All contents © 2005-6 Travis Saling
Document last modified on 02/04/2006