Playing BitTorrent Downloads on a TiVo Series 3 HD Recorder

This document describes set-up and processes for downloading videos from the Internet using BitTorrent or other mechanisms, and then transferring them to a TiVo Series 3 high-definition (HD) recorder, for playback on a high-definition TV (HDTV). 

The process involves a number of steps, which is a bit laborious and awkward (it’s not nearly as graceful as using iTunes with an Apple TV). This is simply the process I developed that worked; I would be grateful for any improvements to these instructions, either to improve the ease-of-use, or to improve the quality of the result. I can be contacted at the email address in the sidebar with feedback of any type.

Assumptions, and Goals

My goal in developing this process is to watch occasional TV shows that I download off the Internet, in as high-quality a format as possible. I have a TiVo Series 3 HD DVR, capable of outputting a video signal at 1080i or 720p over an HDMI cable, connected to an HDTV that is capable of presenting video at those and other HD resolutions, as high as 1080p. From what I’ve seen, the more common HD video format for TV shows on the Internet is 720p, so it’s my goal to download and stay at that resolution, over the entire process.

I am also working on a Mac (a MacBook Pro laptop), in Mac OS X 10.4 (“Tiger”), and want to avoid any tools or steps which cannot be done on either my Mac or the TiVo unit. In other words, I’ve avoided Windows software, even perfectly fine and possibly less expensive tools. If you have a Windows system, you will certainly choose other tools appropriate to your situation; Watch Video Downloads on Your TiVo for Free is a Windows-focused rough equivalent to this one, and another Lifehacker article has even more resources.

Finally, I am perfectly happy paying for software, so I have in some cases chosen tools that work more smoothly rather than tools that are free. I would be very interested in learning about alternatives, especially free or Open Source software, but I will generally choose usability over cost.

Overview

The process described here has four basic steps:

  1. Install and configure TiVo Desktop software on your Mac (this only needs to be done once).
  2. Find and download interesting videos, using Miro, a superb BitTorrent client (there are other great tools you can use instead). 
  3. Convert downloaded videos into a format playable on a TiVo Series 3, using VisualHub.
  4. Transferring converted videos to your TiVo for playback.

I. Setup

Important: TiVo video transfers require you to have your TiVo connected to a broadband network connection of some sort, i.e., it cannot be connected to your phone line only. That’s the very first thing you need to do, but it is beyond the scope of this document; visit the TiVo web site for assistance with this.

Note: TiVo video transfers were only recently added to the TiVo Series 3 and TiVo HD recorders, through a software update (at the end of October 2007). You need to have at least version 9.1 of the TiVo software on your TiVo for this feature to work. You can check on your TiVo, in TiVo Central > Messages & Settings > Account & System Information > System Information, and checking your Software Version on that screen (third item down from the top).

The initial setup you need to do is basically all about the connection from your computer, where the videos are, and the TiVo, where the videos will be played back. Unfortunately, there are a bunch of pieces that need to be done.

1. Enable media transfers on your TiVo.

This step needs to be done at the TiVo.com website. Go to to My TiVo > Manage My Account, and verify that your TiVo has “Transfers ALLOWED” for the Settings column, and “Enabled/On” for the Enable Video Downloads column:

TiVo.com Manage Account page

If not, click the Name Your DVRs link in the top-right corner, turn those settings on, and save your new settings with the Save Preferences button:

TiVo.com DVR Preferences page

While you are on the TiVo.com site, get your Media Access Key for your TiVo; you’ll need it later. The link to your Media Access Key is right below the link to Name Your DVRs.

At this point, you will want to go to your TiVo, and force a connection to the TiVo Service. On your TiVo, go to TiVo Central > Messages & Settings > Settings > Phone & Network > Connect to the TiVo service now to initiate a new connection. Once that’s finished, it wouldn’t hurt to reboot your TiVo. Even with the reboot, it may take a few days for your TiVo to recognize the new video transfer settings.

2. Install the TiVo Desktop software.

On Mac OS X, TiVo Desktop is a free download from TiVo.com. It’s a standard Mac OS X installer package, which installs a TiVo Desktop preference pane that you access in the System Preferences application. This is the software which enables you to share and transfer videos from your Mac to the TiVo. Simply download it from TiVo.com, and install it on your computer.

Note: TiVo Desktop is different software than the TiVo Transfer feature included as a part of Roxio’s Toast Titanium 8 product. That software allows you to transfer videos from your TiVo to your Mac, i.e., the opposite direction of TiVo Desktop. A great feature, but not discussed here.

3. Enable the hidden Video panel in the TiVo Desktop software.

By default, the TiVo Desktop preference pane and service only allow you to share music and photos with your TiVo. You need to run a little utility application to enable the Video panel and transfer capability. The makers of VisualHub provide a utility to do this, called TiVoGoBack Enabler, included in the VisualHub download. It’s a simple and self-explanatory utility; run it, confirm you want to enable video transfers, and you’re done.

4. Turn on video transfers.

Go into System Preferences, click the TiVo Desktop preference item, and select the Videos panel:

TiVo Desktop preference pane, Video Sharing panel

Check the box to publish your videos, enter your Media Access Key, and click the Start button to start sharing your videos from your computer to your TiVo. You might also choose to change the default name your computer will publish; this name will appear in your TiVo’s Now Playing list, so it’s worth choosing something appropriate, especially if there will be multiple computers sharing content.

5. Allow TiVo Desktop connections through the Mac OS X firewall.

If you have the Mac OS X firewall enabled, you need to make sure you’ve allowed TiVo sharing to pass through the firewall. The firewall is very different in different versions of Mac OS X, so choose the right version for you, below.

Mac OS X 10.4 (“Tiger”)

In Mac OS X 10.4, go to System Preferences, click the Sharing preference item, and select the Firewall panel. If the firewall is turned on, make sure that TiVo Desktop is in the list of allowed services, and that it is checked:

Mac OS X 10.4 firewall with TiVo Desktop sharing allowed

If there is no TiVo Desktop item in the allowed list, you will need to click the New… button to create it. You need to allow multiple TCP port numbers, as shown here:

Mac OS X 10.4 firewall settings to allow TiVo Desktop sharing

Mac OS X 10.5 (“Leopard”),

In Mac OS X 10.5, go to System Preferences, click the Security preference item, and select the Firewall panel. By default the firewall will be set to the first choice, “Allow all incoming connections,” but this is insecure. If you have a good network firewall, you can leave it alone, and be done. If you don’t understand that last sentence, you don’t have a good network firewall, and should instead set the firewall to the third choice, “Set access for specific services and applications” like so:

Mac OS X 10.5 firewall settings to allow TiVo Desktop sharing

In the above screenshot, both TiVo Transfer and TiVoDesktop are set to “Allow incoming connections.” This is the correct setting, but you will probably not have either in your list of applications, until you turn on the firewall, and then turn on video transfers. Some time after that, you should see a dialog like this:

Mac OS X 10.5 request to allow TiVo Desktop sharing

Click the Allow button, and your TiVo Desktop software will be able to listen for requests from your TiVo device. Do the same for TiVo Transfer if the dialog appears for it.

Note: This configuration change represents a significant alteration of your network settings, making your computer more secure, but also significantly restricting what it is able to do. You will see more requests to allow or deny various applications, which you should allow or deny as you see fit. A full discussion of the Mac OS X 10.5 firewall is beyond the scope of this article, but the Macworld article Understanding and using Leopard’s firewall and the Apple Knowledgebase article About the Application Firewall can help you understand what you need to know. (Read the Macworld article first, it’s much more understandable.)

II. Find and Download Videos

There are so many different places and ways to acquire interesting and high-quality video on the Internet, that there is no point in describing it here. I personally use Miro, an Open Source application available on Mac OS X, Windows, and Linux, among other platforms. It’s a fine tool, though it definitely has some user interface quirks that are aggravating at times. 

I will share a couple tricks that I’ve learned. First, I use the tvRSS site to find interesting content. It’s a great service that provides a convenient way to follow ongoing programming, e.g., TV shows, which are constantly being added to the Internet. 

Second, because I have both a TiVo and a television that is capable of playing HD content, I prefer to find only HD content. You can usually add a quality attribute to your search criteria, e.g., “720P” to limit your search results to only true HD content:

Ensuring HD content with an extra search criteria at tvRSS

III. Convert Video to TiVo Compatible Format

Video downloaded from the Internet comes in a wide variety of different formats, but the TiVo can only play back video in MPEG-2 format. This means you almost always need to convert downloaded videos before they can be transferred and played back on a TiVo.

I use an application called VisualHub from Techspansion. This tool makes it very easy to convert videos from a wide variety of formats into the MPEG-2 format compatible with TiVo. VisualHub is a commercial product and costs $23.32, but it makes the conversion process incredibly easy, saving both installation woes and multiple steps common to other tools I found.

Converting videos with VisualHub could not be easier:

1. Open VisualHub, and configure it for TiVo-compatible conversions.

Launch VisualHub, and select the MPEG panel. Check the MPEG-2 checkbox. Set the Quality slider as high or low as you like (I want the highest quality). Set the output directory to your TiVo movies directory:

VisualHub conversion settings for playback on a TiVo Series 3

The default settings work fine for Standard Definition (SD) videos, but when used on HD content can result in files that require too much processing for the TiVo to keep up (like drinking from a firehose). The trick to keeping the firehose turned down is a couple changes in the Advanced Settings panel, specifically to lower the bitrate of the resulting video. The two key settings are to change the Bitrate field to 17000 and to add -maxrate 17M -bufsize 1024k to the first Extra ffmpeg Flags field (in the Video section). I also turn on is two-pass conversion, which takes extra time during the conversion to attempt to improve quality. I am not certain that this is the optimal approach, but it does seem to work reasonably well.

VisualHub advanced settings for playback on a TiVo Series 3

2. Drag in videos to convert.

You can drag in one or multiple videos to be converted, into the list box in the middle of the VisualHub window. All of the videos in the list will be converted, in a batch process. This allows you to download a bunch of videos (say, the first half of a season), and convert them all at the same time.

3. Convert.

Just click the Start button, and wait. It can take quite a while for the conversion (which is called transcoding) to complete. When it does, the converted videos will be saved to your computer’s TiVo videos directory, ready to be shared.

Converting videos takes a fair amount of processing time, especially if you use settings for high-quality output. My 1-hour HD test show took 90 minutes to convert using the settings described above. Two other 30 minute test shows, which were not high-definition, took about 10 minutes for both. So the amount of time required varies substantially. If you have a lot of videos to convert, you might want to set up your batch before you go to bed, and let it run overnight.

Note: It goes without saying that you need to have enough disk space on your computer to save the converted videos. What might surprise you is how much space qualifies as “enough.” The 1-hour program I converted while testing this document took about 1.4 gigs of disk space prior to conversion, but took over 2.2 gigabytes of space after conversion. Give yourself a lot of breathing room here, because your computer will not react well to running out of disk space.

4. Rename Videos.

This is an optional step, but the converted videos will show up on TiVo under whatever the file name of the videos are, which can be pretty long, or obscure. For example, the video I converted to test this document was named:

Puppies.S02E05.720p.HDTV.x264-CTU.mpg

So I renamed it to:

Puppies.Season2.Episode5.mpg

It looks a lot better when I look at it on the TiVo.

(“Puppies?” Yes, Puppies. I would never illegally download commercial videos, and neither should you.)

5. Add Show Metadata.

This is another optional step, for people who really want to get things right, and make the transferred videos look more like regular TiVo recordings. For each video file in the TiVo Videos folder, the TiVo Desktop software will create a .properties file. If you edit this file, you can change the name of the show, and add a description. (Reports on TiVo forums suggest that these are the only two pieces of metadata which can be modified using the .properties file.)

IV. Transfer Videos to the TiVo, and Play

Take your hands off the keyboard and mouse; the rest takes place on your TiVo, in front of your TV. Go to your TiVo’s Now Playing list. You should see an entry at the bottom of the list for your computer (the same name you entered in the TiVo Desktop preference pane). Choosing that should show a list of videos being shared from your computer; these should be the videos you converted and have in the TiVo videos folder. 

Selecting a video will lead you through a process that starts the transfer from your computer to your TiVo. You will also have the option of starting playback before the transfer finishes. I recommend waiting at least half the length of the show before starting playback, so that you don’t get stutters if the transfer takes longer than the show playback time.

Note that you can only transfer one video at a time; while that video is transferring, if you try to transfer a different one, the TiVo will give a confusing message about already transferring that video, which is not correct. Just wait until the first video finishes, which may take some time, and then do the next one. (You can watch something else while the transfer is taking place; I just recommend not playing the transferred video itself.)

Once the video is transferred, you can delete it from your computer. Your TiVo will play back the copy that was transferred to it, so the version on your Mac is just taking up space on your hard drive.