TiVo Storage and Windows Home Server
by Christopher Kenney (cskenney)
With the release of the HP MediaSmart Expander for TiVo Add-In, I thought it might be interesting to talk about the options available for storing content from a TiVo to a computer or your Windows Home Server and making the content available for transferring back to the TiVo. Most of the options are available to anyone who is willing to install the software on their system and not specifically limited to the HP MediaSmart Servers.
A little background might be helpful on TiVo and its capabilities. Unlike most DVRs, TiVo DVRs are easily connected to home networks, allowing users to schedule recordings using TiVo’s website, transfer recordings between TiVo units (Multi-Room Viewing) or transfer to and from a home computer (TiVoToGo transfers). A TiVo can also play music and view photos over the network, and access third-party applications written for TiVo’s Home Media Engine (HME) API.
There are a number of ways to transfer content from a TiVo and back again. Here are a few that I am familiar with and will briefly touch on.
- TiVo built in Web server (Series 2)
- TiVo Desktop (free)
- TiVo Desktop Plus ($24.95)
- HP Expander for TiVo (free)
- pyTivo (free)
- kmttg (free)
TiVo built in Web Server – Series 2 TiVo
The Series 2 TiVo boxes have a built in web server that can be accessed using a web browser on any of the PC’s connected to the same home network.
By entering https://<tivo ip>/nowplaying/index.html in your browser the TiVo will prompt you for user id: tivo and password: MAK. The query looks like the picture below.
If you select a folder on this screen it will open up and display the grouped recordings or selecting a Download MPEG-PS link will start transferring a recording to your PC. The downside to this method is you have to initiate the query in your browser and manually select what you want to download. Once the file is downloaded, the DRM on the file prevents you from playing it. There is software available to help with this problem (see kmttg section). There is also no ability to transfer recordings back to the TiVo.
When the Series 2 TiVo was introduced into the market, TiVo started offering free software (TiVo Desktop) that allowed the transfer of recordings from a Series 2 TiVo to a PC. The TiVo Desktop application installs a server on a users desktop PC that allows recordings to be transferred to a PC and watched locally using Windows Media Player (media access key – MAK must be stored in the TiVo Desktop configuration). You could also transfer files back to the TiVo from the PC plus view photos and play music. The problem with this scenario was you had to leave your desktop computer on all the time with the TiVo server running. All transfers to the PC had to be done at the PC. All transfers back to the box were done in the TiVo interface.
Using the TiVo Desktop application, a user can play the local recordings stored on the PC or Delete them. In this scenario, only the computer with TiVo Desktop is able to play the .tivo files because of the DRM locking the files.
Selecting Pick Recordings to Transfer will send a query to the TiVo for the Now Playing list.
When a recording is selected, the user can start transferring immediately or Create an Auto-Transfer rule for this series.
Setting up an Auto-Transfer will automatically transfer recordings from the TiVo to the PC. If you set up the rules correctly, you can limit the number of recordings on the TiVo (Keep at most 5 episodes) and then create an Auto-Transfer rule that uses Keep at Most: ALL. This would prevent the TiVo hard drive from filling up but you could archive an entire series on your computer.
My understanding is TiVo Desktop will work with all Series 2, Series 3, TiVo HD and TiVo Premiere boxes. There are some limitations for transferring recordings related to copyright protection and DRM that I will highlight later.
One word of caution anyone thinking about installing TiVo Desktop directly on their WHS. In the past, TiVo Desktop was known to have memory leaks (poorly written code) and would eventually require the computer to be restarted because all the resources were being consumed.
TiVo Desktop Plus
To address the expanding world of portable media, TiVo expanded the capabilities of their Desktop software by introducing TiVo Desktop Plus. TiVo charges $24.95 for a key that will unlock the following capabilities in the Plus version:
The TiVo Desktop Plus Key extends the file transfer and conversion abilities of TiVo Desktop. TiVo Desktop Plus allows you to automatically convert your TiVoToGo transfers to play on a variety of portable devices with video support, including the following:
- Apple iPod, Apple iPhone, Apple iPod Touch
- BlackBerry Bold, BlackBerry Curve, BlackBerry Pearl, BlackBerry Storm, BlackBerry Tour
- Nokia N80
- Palm Pre, Palm Treo 650
- Sony Playstation Portable (PSP)
- Zune, Zune HD
- H.264 compatible devices
- MPEG-4 compatible devices
TiVo Desktop Plus also makes it possible to view videos, collected from the web, on your broadband connected TiVo DVR.
Supported formats include:
- Windows Media Video (.wmv)
- QuickTime Movie (.mov)
- MPEG-4/H.264 (.mp4, .m4v, .mp4v)
- MPEG-2 (.mpg, .mpeg, .mpe, .mp2, .mp2v, .mpv2)
- DivX or Xvid (.avi, .divx)
NOTE: Files with digital rights management (DRM) or other copy protection are not supported.
I have never used TiVo Desktop Plus so you will need to form your own conclusions about the additional cost and the features that are offered.
HP Expander for TiVo
The new HP Expander Add-in looks like TiVo Desktop. The basic functionality is the same. The application will query the TiVo for the list of available recordings. Then the user selects the recordings they want to transfer to the computer. From the TiVo interface, the user can pull the content from the PC back to the TiVo. One key piece that is missing from the add-in that exists in TiVo Desktop is the ability to perform automatic transfers. Additionally, some users might want the ability to include some of the features unlocked with the Desktop Plus key like automatically converting for playback on a portable device or serving up other video formats in addition to .TIVO files.
Unfortunately, the extended features are not available in the Add-in at this time. Perhaps in the future the Add-in will be updated to offer more of these features. Personally, I have always wanted to control everything from the TiVo interface. I should be able to “push” content to a network storage location. I should not need to go to a remote location to “pull” it off the TiVo.
Another feature highlighted by HP about the add-in is the ability to watch the .tivo files stored on the server from any PC in the home using Windows Media Player. I believe this statement requires the condition that TiVo Desktop is installed on each PC to allow the DRM to be handled correctly. I intend to investigate this in the near future.
OPEN SOURCE SOLUTIONS
pyTivo is both an HMO and GoBack server. Similar to TiVo Desktop Plus, pyTivo loads many standard video compression codecs and outputs mpeg2 video to the TiVo. However, pyTivo is able to load many more file types than TiVo Desktop.
Many people have wanted additional functionality for their file transfer to / from their TiVo. If you participate in the TiVoCommunity.com Forums you may have heard about pyTiVo. Similar to TiVo Desktop Plus, pyTiVo loads many standard video compression codecs and outputs mpeg2 video to the TiVo. However, pyTivo is able to load many more file types than TiVo Desktop. pyTivo is continually being updated with new features and enhancements.
Features of pyTiVo
- Output 4:3 or 16:9 and pad your video if needed.
- Transfer compatible video files without transcoding.
- Transfer TiVo recordings (.tivo) from computer to TiVo.
- Display Metadata about your video.
- Serve Music and Photos through the HMO protocol
- Support for Windows, Linux, and Mac
Requirements In order to run pyTivo you will need:
- A compatible TiVo with active subscription (standalone Series 2, Series 3/HD or Series 4)
- A Python interpreter, version 2.6, 2.5 or 2.4
- FFmpeg (included with the Windows Installer or pyTivoX)
- A current release of pyTivo
- The Python Imaging Library — if you plan on using the photo plugin
One drawback to using pyTivo is obviously the need to manually install the various pieces required to make it work. There is version with a full Windows installer, but the version of pyTivo in the installer has not been updated when new versions were released.
For the power users, another application called kmttg provides all the features of TiVo Desktop plus opens up a lot more options.
From the kmttg development web page:
“kmttg is a Java based program I wrote to facilitate TivoToGo (TTG) transfers that can download, create pyTivo metadata, decrypt, run comskip & comcut (commercial detection and removal), create closed captions files and re-encode multiple shows you select from your Tivos all automatically. The program also has the capability to transfer and process shows automatically from your Tivos based on titles and keywords you setup.
You can select one or more shows at a time and then with one click of a button the program will download all the selected items, with the options of also automatically creating a metadata file for pyTivo, decrypting .TiVo files to .mpg, running comskip (commercial detection and removal program), and automatically re-encoding to a more portable format using mencoder, ffmpeg or any other command line encoder of your choosing. The program queues up multiple jobs and displays time, size and speed statistics for ongoing jobs.”
KMTTG is written in Java and can be run from a GUI or in the background as a service.
I have run kmttg on my desktop PC for a while now. This interface is not as fancy as TiVo Desktop, but I like the ability to automatically transfer shows and then convert them to other formats that provide more flexibility to me. I can then utilize the power of my server to store the video for use by a Windows Media Center, SageTV, TwonkyMedia Server or any other software that is able to play the files without the burden of DRM.
Installing kmttg on your WHS would be no small task as there are many additional packages you would need to install too. All this would need to be done using RDP or directly on the desktop if you have a keyboard and monitor hooked to your WHS.
An excellent source for learning more about developments in software and solutions for TiVo is on the TivoCommunity Forums.
HP Extender for TiVo thoughts and next steps
To provide the real capabilities that people are looking for, would have required HP to develop an application similar to kmttg. However, as DRM protection is pushed down from the content providers (cable companies in particular) the ability to move the recordings off the TiVo may disappear as well.
Who knows what the future holds for media content in the home with all of the digital copy protection that is determining what we can do with the content in our own homes.
There are a couple things that people need to be understood about TiVo recordings.
- TiVo recordings are saved on the server using the HP Add-in using a file extension of .tivo. This is simply a container with the DRM protection created by TiVo packaged with a MPEG2 video. There is software that will allow you to remove the DRM and save the video as MPEG2 (see kmttg). Then you can encode the file for other personal uses (iPod, Zune, etc.).
- If you are using a box with Cablecard (Series III , TiVo HD or TiVo Premier), these boxes must comply with copy protection for digital content.
Quote from TiVo help site- “The TiVo Series3, TiVo HD and Premiere are compliant Digital Cable Receiver (DCR) devices which use CableCARD™ to receive high quality digital cable content in its native form. Since the Series3, TiVo HD and Premiere are DCR devices, in addition to the Macrovision rules for analog content, they must also comply with the content protection policies for Digital Cable content. These copy protection rules vary by content type, and in general, premium and pay channels will have more restrictive rules.”
This means if the program is marked No Copies allowed it won’t transfer to the server.
- There is some content that that can be downloaded from the Internet to a TiVo using TiVoCast that contains copy protection so it will not transfer to the server.
I hope this helps shed some light on the HP Add-in and TiVo in general. I realize that my comments here have probably missed other solutions that may exist for these same tasks. I own a Series II TiVo that I was using with my DISH satellite box until December 2009 and these were the solutions I have tried over the past 5 years. My Series II TiVo has a lifetime subscription and was upgraded to 1TB of storage (2×500 GB drives) about 3 years ago. I never spent much time trying to develop methods for storing content outside the box due to the large volume of storage I had created on my TiVo but I like mess around with multimedia and computers.
My TiVo has worked fine for many years but the digital transition has made it obsolete. I upgraded to HD service in December and the box just sits right now. I am currently waiting on the 3.0 disks to arrive from HP so I can upgrade my EX485 MediaSmart Server. Once I have the 3.0 disks and upgrade my server, I’ll give the TiVo add-in a try with my Series II TiVo and provide a follow up review.