TiVo Hacked, and Transferring Video to Mac OS X

Last weekend, I finally pulled the A drive from my Series 1 Philips TiVo, and set it up for shell and FTP access over my LAN. More interesting to me, and maybe to you, I also now have a way to transfer video over the network, to MPEG video files on my Mac OS X machine.

I had to dig through a whole bunch of Google searches, message board posts, install instructions, and irrelevant Windows information to make this happen, but in the end I overcame the odds and got it working.

Here’s my mini how-to for transferring TiVo shows to your Mac OS X machine. They should work with any Series 1 TiVo running version 3.x TiVo software, and decent-speed Mac running Panther (OS X 10.3) or better:

  1. Get a network card and install it. I’ve had a TurboNet card installed for about two years. It was cheap and setup was a breeze.
  2. Get shell access working on your TiVo. The best instructions I found were these from Steve Jenkins. Requirements for getting this working:

  • A PC with an IDE bus, which can boot from a CD-R.
  • A way to burn an ISO CD image to a CD-R disc.
  • Willingness and ability to remove a drive from your TiVo and install it on the correct bus, with the correct jumper settings in your PC. (Not so hard for some, but daunting for most newbies — get help from a geek friend if you need it.)
  • Willingness and ability to read instructions and follow them to the letter, or at least in sequential order. 😉
  1. Install TyStudio on your Mac. Normally the download would be here, but at the moment there’s no Mac OS X version available. At one time, someone on the DealDatabase forum built an OS X version, but I’ve lost the thread now. Instead, here’s a download of the version I installed on my PowerBook G4. It’s a little over 5MB.

  2. Install tyserver on your TiVo. Basically you just want to upload tyserver.ppc.sh to your TiVo, run it to install tyserver, then add commands to your startup script so it will run all the time. Note: I strongly recommend not letting the installer add its startup commands to your TiVo’s built-in rc.sysinit, since this can really mess things up something goes unexpectedly wrong. Instead add them to your own custom startup script — you created one when following the instructions in step 2, didn’t you? 😉

If the tyserver download link above doesn’t work anymore, you can use the version that I used on my Series 1.

Here’s what I put in my startup script:

  1. Restart your TiVo. I’m not sure if you need to do Standby and then power-cycle, or just do Standby and then wake your TiVo again. (If you’re command-line savvy, you can launch tyserver and tyindex in your telnet client instead of restarting.)

5a. Stop here, and wait for a couple of hours. The tyindex software running on your TiVo needs some time to collect data about the shows you’ve already recorded. In my case, I stopped here, and went to bed, then woke up on Sunday, and did the rest. The amount of time it takes for tyindex to complete will depend on the number of shows in your TiVo’s Now Showing list.

5b. Did you read 5a? I’m serious — wait for a bit. If you don’t, you’ll just be frustrated and think this won’t work. Trust me — it’ll work. (Or not. It worked for me, that’s all I’m saying.)

  1. Launch X11 on your Mac — it’s in your Applications/Utilities folder. (You should be able to do this in Jaguar as well, provided that you first install X11.)
  • Choose Customize from the Applications menu in X11. Then add a menu link for tyeditor from the TyStudio install you did in step 3. I’d installed my copy in /Applications/Video/tystudio/, so the path I used was /Applications/Video/tystudio/tyeditor. Now you should have a tyeditor command in your Applications menu, for launching TyStudio whenever you need it.

  • Choose your spiffy new tyeditor command from the Applications menu in X11. This brings up the TyStudio GUI. (Now we’re cooking with gas!)

  • Click the ‘Click here to load from Now Showing’ button. You should now see a list of shows. Double-click one whose value for ‘Indexed’ is ‘Yes’. (Ref: step 5.) I recommend you start with a short one — 1/2 hour or less.

  • Choose ‘Generic MPEG2’ from the Video to pop-up menu, and ‘No Transcoding’ from the Audio to pop-up menu. This will give you basically the same audio/video that your TiVo would play on your TV. Then click the Process button, choose a place to save the file, and you should be off to the races!

  • Just a few notes:

    • These files are really big. We’re talking about 1GB or more per hour, depending on your TiVo’s quality settings. Make sure you have enough drive space.
    • If you’re going to do a lot of this, I recommend that you use Tools -> Options in tyeditor to choose the video and audio options you’re going to use most frequently, so you don’t have to change them every time in the tyeditor main window.
    • I haven’t done much messing with the transcoding options, since I’m mostly using TyStudio to make digital archives of stuff that I want to keep around, that my TiVo has recorded. If you use transcoding, you’re going to lose quality. Series 1 TiVo’s record PCM audio at 32KHz. (PCM is roughly equivalent to AIFF or WAV.) Video is recorded at varying rates depending on the quality setting the recording was made with, but is always much larger than the audio portion of a recording.
    • If your network is fast enough (as 802.11b on my mac, with 10-base-T on the TiVo and a 10-base-T hub seems to be me), you should be able to start downloading a show on your Mac, and then start playing it a few seconds or minutes later, to in essence stream the show to your Mac’s video screen. Unfortunately, you can’t do this using QuickTime Player, since it checks the size of the file when you first open it, and will stop at that point despite the fact that you’re still downloading. VLC on the other hand, will keep playing a file until it either gets an error, or it reaches the actual end of the file. If you’re going to watch shows as they’re downloading, I recommend that you use VLC for playback instead of QuickTime Player. (MPlayer may work as well, but I like VLC better.)
    • While you’re hacking, you might as well install TivoWebPlus — this is a great app that no TiVo should be without.
    • TyStudio works on Windows and Linux as well. A quick search should make it very clear that they’re much easier to find than the Mac version was.

    Feel free to post a comment if you have a question about any of the above. If I have an answer, I’ll let you know. If not, I’ll ignore you. If you’re rude I’ll delete your comment, and if you’re rude again, I’ll block you, so be nice.

    Also, I haven’t found a way to stream MPEG data directly from the TiVo to a movie playing application on the Mac, without also downloading it to a disk on the Mac side. If you figure this out, please let me know. My filesystem will thank you. 😉

    Happy TiVo hacking!

    4 Comments

    1. techbri said:

      Hi, I found your blog via a google search. I was interested in your comments about tivowebplus. I have a DiTivo S2 that I hacked with sleeper’s iso and I want to get the webplus package running on the box. The problem….I know very little about Linux. I did manage to telnet to the tivo try to bash the tpm file but I get some directory not found errors. Do you know where I can fine some step by step instructions to follow to load tivowebplus and set it up to load on boot-up? Thanks!

      August 1, 2004
      Reply
    2. Jake Savin said:

      Not being a Series 2 owner, and without knowing what the actual errors were that you saw, I can’t tell much about what went wrong. I can point you to the official TivoWebPlus pages though…

      Here’s the TivoWebPlus home page:

      http://tivo.fp2000.org/twp/

      The first link on that page is the current installer. That’s the one you should use. It’s supposed to work with Series 1 and Series 2 TiVo’s, as well as DirecTivo (which I think is what you have).

      According to the readme, you do the following:

      1. Extract the TivoWebPlus-1.0-final.tivo.tpm from the .zip archive you downloaded.

      2. Upload TivoWebPlus-1.0-final.tivo.tpm to your TiVo using FTP. I suggest uploading to /var/hack/ or if you don’t have a /var/hack/, first do this in a telnet session:

      cd /var<br />mkdir hack

      3. In a telnet session, type the following to install TivoWebPlus:

      cd /var/hack<br />bash TivoWebPlus-1.0-final.tivo.tpm

      In your case, you should probably just use the defaults for the questions asked by the installer.

      If you have any problems, make sure you take detailed notes about what happened — where in the process you were, and what error message(s) you got — and then post as a comment here. That might make it so I can figure out what you should do next.

      Hope this helps…

      August 1, 2004
      Reply
    3. techbri said:

      Thanks for your response. As I looked further, I realized that was a dork. The prompt was showing yes in parenthesis so figured it wanted me to type yes to confirm instead of just hitting enter. In any case, I got passed that and the install seemed to be successful. I restarted the Tivo box and when I login, I get a page that is labeled “TiVo Web Project – TCL v1.9.4
      I was expecting to see a title like “TivoWebPlus” like the screenshots of it show. Also, I don’t see the option for the second tuner nor the UI option which leads me to believe that I am looking at TivoWeb and not TivoWebPlus. I have uninstalled and reinstalled TivoWebPlus with the same result so I am not sure where to go from here.

      August 1, 2004
      Reply
    4. Jake Savin said:

      Ok, now I think I know what the problem is. You’ve got a previous installation of TivoWeb 1.9.4, which is conflicting with your new TivoWebPlus installation.

      What’s happening is that the old install is starting up first, hooking itself up to listen on port 80, and then the TivoWebPlus install can’t start listening for HTTP connections, because port 80 is already in use.

      You’re going to need to figure out how to turn off your older TivoWeb install. I don’t know if it’s being started from your rc.sysinit, rc.sysinit.author, or somewhere else. It seems like rc.sysinit is the most likely, since your old TivoWeb install is starting up before the new TivoWebPlus install.

      I suggest you use your FTP client to download a copy of /etc/rc.d/rc.sysinit and email it to me. If you have a file at /etc/rc.d/rc.sysinit.author, I send that to me as well.

      I’ll take a look and try to figure out what you need to do to turn off your old TivoWeb install.

      August 2, 2004
      Reply

    Post a comment

    This site uses Akismet to reduce spam. Learn how your comment data is processed.