I’ve been working on this post for a while. It’s a bit long, so bear with me …
A TiVo is much more than just a souped up digital VCR. What separates TiVo from your cable company’s generic DVR (other than the awesome features of TiVo service itself) is the wide range of (mostly free) applications you can use to enhance your TiVo experience. I’ve written about some of these applications here before (like Galleon, streambaby, and pyTivo) but I figured one comprehensive write-up might be in order.
First off, all of these apps require a TiVo with an active service subscription. For those of you with the old DVD-combo units (like the Toshiba TX-20 or Pioneer 810h), this means you need to have the TiVo Plus service, not TiVo Basic. I’m not discussing hacked boxes here either. You’ll need to know your Media Access Key (MAK), which can be found under your account on tivo.com or on your TiVo under Messages & Settings, Account & System Information, Media Access Key. Finally, I’m focusing on utilities that run on Windows and Linux. Many of these will run on a Mac as well, but I’m less familiar with that platform and the features that may or may not work with it.
Ok, let’s jump in!
TiVo Desktop
I have to start with TiVo’s own application, TiVo Desktop. The free version allows you to publish the music (in MP3 format) and photos (JPG, GIF, etc.) on your PC so you can access them from the TiVo interface. The Windows version of TD also allows you to download recordings from your TiVo (as long as they’re not copy-protected) to watch on your PC, or send previously downloaded content back to the TiVo for viewing on your television (as long as they’re in MPEG-2 format). Do you want to download every episode of “Robot Chicken” that your TiVo records? Set up an auto-transfer and TiVo Desktop will automatically download them for you in the background.
If you upgrade to TiVo Desktop Plus for $25, you’ll gain the ability to automatically transcode your downloaded recordings to a variety of portable formats (like for your iPod) and send more formats back to your TiVo (like Divx/Xvid or Matroska). Combining this with the auto-transfer feature, you can point TiVo Desktop at your iTunes folder where you download your video podcasts and have them automatically pushed up to your TiVo once iTunes downloads them. Before you shell out your $25, though, check out the rest of the applications below since you can get all of the same functionality of TiVo Desktop Plus (and more!) for free if you don’t mind tinkering with other third-party software solutions.
One tip: if your music isn’t in MP3 format, try Dan203’s Universal Audio Plugin, which adds support for unencrypted AAC, WMA, and Ogg Vorbis formats. If all of your music is DRM’ed (i.e., purchased from iTunes), you’re out of luck … even the free stuff below won’t be able to play those files.
pyTivo
Written in the Python scripting language, pyTivo is a free application similar to TiVo Desktop except it supports sending a wider variety of video formats to Series2 and Series3 TiVo boxes. Using pyTivo’s web interface (or by directly editing the configuration file) you can set up the plugins you want (i.e., video and music) and then configure the shares pointing to where your files are located. You can then use the TiVo interface to “pull” files onto your box (just like TiVo Desktop) or use the web interface to “push” them there.
The beauty of pyTivo is its use of ffmpeg behind the scenes to transcode a file into a format that your TiVo recognizes (MPEG-2 for video, MP3 for music). You can throw any video file format that ffmpeg supports at your TiVo and have it play: MP4, AVI, WMV, MKV, FLV, just about anything. It’s amazing … and the resulting quality is pretty good too! One drawback to this method is that it takes CPU power to convert video files from one format to another. Depending on the speed and power of the PC running pyTivo, you may or may not be able to watch the video as it’s being transferred onto the TiVo. Because of this, pyTivo works best (for me anyway) when you want to kick off a transfer for something you will be watching later.
Another cool pyTivo feature is its support of multiple levels of subfolders. No matter how you have your videos organized on your PC, TiVo Desktop always shows them in a flat list. The software will look two subfolders deep for accessible videos, but you’ll still get just one long list when browsing your PC’s Now Playing List from the TiVo. With pyTivo, however, whatever folder structure you use on your PC is what you’ll see when browsing from the TiVo. So if you want to have a path like Movies > Science Fiction > Star Wars > Clone Wars, pyTivo can handle that.
Finally, pyTivo supports metadata. When you download a .TiVo file it has a lot of information embedded into it: show name, air date, actors’ names, etc. Other video types don’t have this extra data, so when you transfer them back to your TiVo via TiVo Desktop, the resulting recording in your Now Playing List will be missing all of that “stuff.” pyTivo will read this extra information from a specially formatted text file and then send it across when the video is uploaded back to the TiVo. Rather than creating these text files by hand, grab the excellent MetaGenerator utility which lets you search for movies and TV shows in several online databases and then creates that metadata file for you. Using metadata also allows you to group shows in folders once they are on the TiVo!
As you can tell by my somewhat lengthy write-up here, pyTivo is hands down the application I use the most … it’s a must-have for any TiVo owner with an extensive digital video library. It can be a bit daunting to set up at first, if you’re not used to tweaking text-based configuration files or playing with metadata, but once you do get it working you’ll find it was well worth the time and effort.
Tip: if you need a quicker, easier setup for pyTiVo on Windows, try the Windows installer to get you going. Just keep in mind that it sometimes lags behind the current codeline so you may run into bugs or be missing out on newer features. Also, be sure to visit the pyTivo forums.
Galleon
One of the older third-party applications out there, Galleon started out as JavaHMO back in 2003 and is a sort of swiss army knife of TiVo applications. In addition to providing the standard download (ToGo), upload (GoBack), and music and photos functionality like TiVo Desktop, Galleon lets you do other things like view local weather, traffic, or theater listings, read your e-mail, browse your Netflix or Blockbuster rental queues, even parse your iTunes library for music playback (MP3 format only).
One neat feature of the ToGo app is that you can initiate downloads of recordings from the TiVo itself rather than from the desktop application. You can even start to download a recording from a different TiVo in your house. Similar to TiVo Desktop’s auto-transfers, you can set up rules in Galleon’s ToGo application for automatic downloads as well.
Galleon was abandoned by its original developer, Leon Nicholls, some time ago, but a few people are still working on it occasionally. I personally have contributed a few features to the Weather and ToGo apps and fixed a bug or two in the Movies app.
StreamBaby
StreamBaby (aka stream, baby, stream) is another application (written in Java) that allows you to transfer video from your PC to the TiVo. Unlike using pyTivo to transfer (i.e., copy) a video file to your TiVo, StreamBaby actually streams the video, similar to what the TiVo does for Netflix streaming. This means that you can actually fast-foward to a section of the recording that hasn’t been transferred yet (complete with thumbnail previews so you can tell what section you’re actually going to)! If you have to stop playback, StreamBaby remembers where you were so you can resume the stream from that point later on.
Just like pyTivo, you point StreamBaby to your video folders via a text-based configuration file. Your preciously organized folder hierarchy is preserved when browsing from the TiVo (multiple subfolder support) and if you’ve got metadata text files for your videos, it supports reading those as well.
Also like pyTivo, StreamBaby is accomplishing its “magic” with ffmpeg, so you can stream any video format (supported by your build of ffmpeg) to your TiVo Series3, Tivo HD, or TiVo HD XL box. The Series2 boxes don’t support streaming, however, so StreamBaby won’t work with that older platform.
TiVoPlayList
A TiVo Desktop replacement, TiVoPlayList (TPL) lets you download unprotected recordings and use auto-download rules but adds some extra bells and whistles like the option to shut down the PC when all transfers are complete. For the people who like to see how much space is being used on their TiVo’s hard drive, TPL can show you the size of each recording on disk along with total disk space used and available. You can even see this information in a nice graph. You can also export the list of recordings in a comma-separated format if you like. TPL is only for downloading recordings, however, so it can’t completely replace TiVo Desktop (no music, photos, or GoBack support). It’s a handy utility to have around, however.
kmttg
If you’re looking for an easy way to download, trim, and re-encode video from your TiVo in an automated fashion, kmttg might be the answer. The middle scroll area of the application is your standard Now Playing List showing you the recordings on each of your TiVos (in a tabbed interface). Select the recordings you want to download, and then click on the checkboxes along the top of the window to build your post-download batch processing job. You can have kmttg automatically generate metadata files for pyTivo, convert the downloaded .TiVo file into a plain MPEG-2 format, and then re-encode the video into a format of your choosing (again, using ffmpeg) for your portable device or for eventual transfer back to your TiVo. If you own one of the excellent VideoReDo products (I highly recommend them, well worth the money for MPEG-2 file editing), you can also have kmttg run the downloaded MPEG-2 file through VRD’s Quickstream Fix feature (to fix any quirks in the video) and AdDetective (to remove the commercials). kmttg is written in Java so it runs on Windows, OS X, and Linux (but VideoReDo is Windows-only).
Web Browser
This isn’t really an application, but more of a tip: you can use a browser to easily download recordings from your TiVo. Just point your favorite browser to https://{your TiVo’s IP address} and log in with a username of ‘tivo’ and your MAK as the password. This is a bare-bones way to pull shows off of your box (you can’t queue up multiple transfers, for example) but it works in a pinch.
To be able to play those .TiVo files you download, however, you’ll need to either install TiVo Desktop for the DirectShow codec or use something like tivodecode to convert it into a plain MPEG-2 file you can view in the player of your choice (like Windows Media Player or VLC).
For even more great information on these tools I’ve just described, check out bkdtv’s excellent posts on downloading and viewing videos over on the TiVo Community Forum. You can find me over on TCF as well.
Now, go have fun getting the most out of your TiVo!