how to hack your tivo using mac os x

(This guide assumes you a) have your TiVo networked via ethernet or wifi and you’ve assigned the TiVo a fixed IP number, b) are running at least Mac OS X 10.4, and c) have Apple’s XCode development tools installed on your machine; if you do not have XCode installed, download it from here.)
- Find out your TiVo’s Media Access Key. This is found by going to “TiVo Central”, then “Messages & Settings”, then “Account & System Information”, then “Media Access Key”. It’ll be the ten-digit number at the bottom of the screen. It’s unique to your TiVo — write it down, you’ll need it in steps 2 and 5.
- Download and configure the Dashboard Widget “Now Playing“. This will be what you use to get the .TiVo files off your TiVo. You’ll have to put the fixed IP address of the TiVo and the Media Access Key of the TiVo into the widget. After that, you can use the widget to browse the contents of your TiVo, and by clicking on the name of a TV show, you’ll be able to download the TiVo file to your computer. Pick a file to download and download it. It’ll take a while, .TiVo files are encrypted MPEG-2 files and thus honkingly huge.
- Download the “tivodecode” program from SourceForge; specifically, download the .tar archive for UNIX. Double-click the .tar file to open it and expand a “tivodecode” folder to your desktop. (It’ll likely have some version numbers after it, too; at time of writing this how-to, the folder is specifically named “tivodecode-0.1.2″.)
- Use the terminal to navigate to inside the new “tivodecode” folder created on your desktop:
cd Desktop/tivodecode-0.1.2
Then type:
make
…and the Mac OS X compiler called gcc (added to your system via the XCode install!) will compile the new “tivodecode” binary and put it inside a newly created “objects.dir” folder*. So then type:
cd objects.dir
…and while you’re there, type:
sudo cp tivodecode /usr/bin
…to copy the tivodecode binary to your /usr/bin directory.
- And now here’s where the magic happens: let’s say my TiVo’s Media Access Key was “1234567890″ and I wanted to decrypt the file “Metalocalypse.TiVo” on my desktop. The command to do that would now be (all in one line):
tivodecode -v -m 1234567890 -o ~/Desktop/output.mpeg ~/Desktop/Metalocalypse.TiVo
…and after the tivodecode program runs through your .TiVo file, you should have an unencrypted MPEG-2 file sitting on your desktop called “output.mpeg”.
- Use VLC to view the MPEG-2 file; use iSquint to convert it to MPEG-4 for your iPod.
…hopefully some enterprising soul will devise a clever Mac OS X app that combines all these odd and disparate steps into an E-Z, one-click process; but until then, this is a fairly decent way to do it.
ALSO: let me point out that with a slight hack to the plist of your Mac TiVo Desktop file, you can play those mpeg files back via your network onto your TiVo, thus enabling you to create a vast archive of television that takes up all the space on your Mac and not your TiVo.
~jeff
UPDATE: Nik Friedman TeBockhorst has come up with a great little dropscript that takes care of steps 3, 4, and 5. Many people point out that you can use Safari’s Bonjour function to download the .tivo files; I still think “Now Playing” (and a TiVo set to IP 10.0.1.202) is easier, but it’s your call, brother.
December 4th, 2006 at 9:07 pm
You actually dont need a fixed IP of the Tivo to get the files off the Tivo, since Tivo actually supports Rendevoux/Bonjour networking. You can obtain the .local name of the tivo by opening Safari and looking under the Bonjour Bookmarks area in the bookmarks pane or bar. Once you have that name, just type https://tivo:MediaAccessKey@your_tivo/ where your_tivo is replaced by whatever MyTivo_SomeNumber.local that you obtained from Safari. I belive the IP can also be obtained fairly easily with Bonjour Browser or other utilities.
December 4th, 2006 at 9:35 pm
It’s not one-step, but it’s far, far more powerful: http://www.macgeekery.com/hacks/software/video/how_to_view_tivo_recordings_on_your_mac_or_ipod
December 5th, 2006 at 12:00 am
Hmmm. It won’t build for me.
mkdir -p objects.dir
gcc -Wall -O3 -D_FILE_OFFSET_BITS=64 -c -o objects.dir/hexlib.o hexlib.c
make: gcc: Command not found
make: *** [objects.dir/hexlib.o] Error 127
I’ve got the latest Xcode, and gcc is in /usr/bin/
:-(
December 5th, 2006 at 12:05 am
Then /usr/bin isn’t in your path or gcc is a broken symlink.
December 5th, 2006 at 4:58 am
I’ve followed the instructions and everything works except for when I type tivodecode -v -m 1234567890 -o ~/Desktop/output.mpeg ~/Desktop/Metalocalypse.TiVo I get
tivodecode: command not found
December 5th, 2006 at 5:09 am
I got it fixed.
1) it should be ./tivodecode …
2) I needed to fix some spaces in the name of my .TiVo file
December 5th, 2006 at 8:14 am
I’m not sure /usr/local/bin is in the standard $PATH. Perhaps the last command in step 4 should be “sudo cp tivodecode /usr/bin” and the command in step 5 should be “tivodecode” not “./tivodecode” (since /usr/bin is in the path).
DaMacGuy: try ls -l /usr/bin/gcc… it’s probably a symbolic link as Rob said to gcc-3.3 or gcc-4.0, which doesn’t exist. This happens when you upgrade Xcode versions and choose not to install gcc 3.3 or 4.0 (whatever the discrepancy is) and the symlink doesn’t get updated. Try “ln -s /usr/bin/gcc-3.3 /usr/bin/gcc” or “ln -s /usr/bin/gcc-4.0 /usr/bin/gcc”
December 5th, 2006 at 8:34 am
This is all amazing. Glad someone figured it all out. I just hope that someone creates an application to drop the ‘.tivo’ file on ’cause my Unix skills suck. ;)
I have a Humax DVD Burning model TiVo, but would love to be able to save the occasional show as a Divx file to play at a later time on my Divx dvd player or on my iMac.
I love how the tivodecode download has already been updated since this post was written.
December 5th, 2006 at 8:45 am
Thanks Ben, I added your suggestions to the how-to.
Rob, I enjoyed that article, but I’ve had trouble with Galleon in the past, so I avoid it.
December 5th, 2006 at 9:57 am
Yep. Looks like it’s a symlink to gcc 4.0, and it ain’t there. I’ll reinstall Xcode at the office. Thanks!
December 5th, 2006 at 3:25 pm
Isquint? Hillarious name.
December 5th, 2006 at 4:41 pm
This also assumes you have a television, which I do not. Thank me for sharing.
December 5th, 2006 at 6:33 pm
So I covet, but do not have a TiVo.
Does TiVo work with digital cable signals (Say, Comcast in the East Bay), or only analog cable?
What’s the status of HD TiVo, and which models of TiVo do these directions apply to?
-Aaron
December 5th, 2006 at 7:42 pm
Besides using the “Now Playing” widget, you should be able to use something to the effect of
https://dvr-0ffb.local./nowplaying/index.html
in any old browser to cut out the middle man. When it prompts you for your login use u:tivo / p:YOUR MAK
That might make life easier for writing a one-step script. Or not.
December 7th, 2006 at 9:19 am
Has anybody had any audio/video sync issues once the muxed mpeg2 file is converted?
My TiVo files also playback as mono although I believe the other track is actually there.
any help appreciated
December 9th, 2006 at 10:18 am
Has anyone encountered the issue of white “staticy” lines that display across the top of the video (not on the picture itself, but above in the black space right against the top edge) after converting from .tivo to mpg using the droplet? Any fixes?
December 9th, 2006 at 12:30 pm
Seemed that the sync issue was only for 1 file. Could be that file was downloaded to the Mac while TiVo was recording a show?.?.
Still have the mono track issue. Converted using VisualHub and selected mono as an option. Not great, but was a quick fix.
December 21st, 2006 at 9:17 am
The Staticy lines have been referenced in a few posts (one is mine) the current “theory” is that it has something to do with Closed Captioning.
I have had the same issue on PC using Direct Show Dump.
December 22nd, 2006 at 1:20 am
Some detailed information about closed captioning can be viewed at:
http://www.robson.org/capfaq/technical.html
I have to wonder if the mpeg-2 compression renders the captioning information unreadable by a caption-decoder. I think it would have been interesting if Tivo had implemented an on-screen caption display option. My display does not have closed caption functions :( Plus it’d have been fun to see the captions as a transcription.
January 11th, 2007 at 9:45 am
How To Hack Your TiVo Using Mac OS X…
This page gives bla bla bla…
March 20th, 2007 at 4:45 pm
March 26th, 2007 at 3:45 pm
April 10th, 2007 at 2:19 pm
April 28th, 2007 at 4:16 am
September 1st, 2007 at 7:51 pm
New Movie Reviews…
I couldn’t understand some parts of this article, but it sounds interesting…
December 29th, 2007 at 12:19 pm
February 5th, 2008 at 9:06 pm
November 19th, 2008 at 7:11 pm