Update on Home Media Server: Streaming To TiVo Works

So, in the last couple of weeks I've upgraded my home media server.  For example, I have increased the amount of storage and now have two ZFS pools:
  1. the root pool (rpool), two 250GB disks in a mirror;
  2. a media pool, four 2TB disks in a RAIDZ setup.
ZFS tells me my media pool has about 5.4TB of space to play with; that's plenty for now.  Also, I upgraded to the June 2009 OpenSolaris release (2009.06) and now Time Slider works, so I can easily save incremental backups of my data.  That is a huge relief.

I also moved all of this data (using zfs send | zfs receive) from one computer to another; the prototype computer was using about 240 watts of power in its steady state; the "production" machine uses about 80 watts steady-state.

And speaking of power savings, I just learned of a great blog entry by Nathan Fiedler describing how he built a low-power OpenSolaris NAS box.  He has some great pointers to information about tips on building your own system from scratch if you're new to doing it, and an Ars Technica system buyer's guide.  Plus, his description of his own system (including bill of materials) is nicely written and cleanly laid out.

Anyway, one of the things I wanted to get working was media streaming from the home media server to our home's TiVo Series 3 DVR.  It's working, using the open source streambaby software.  Streambaby was pretty easy to set up and get working, but it's not perfect.  The most common thing I'd like to do with it is to play back TiVo files (\*.tivo) that Galleon has backed up for me.  The problem: .tivo files are encrypted with the TiVo Media Access Key (MAK), and streambaby doesn't have a way of decrypting and streaming the resulting MPEG-2 file.  A poor hack to deal with this is to do the following:
  1. use Galleon to download the content from the TiVo to the media server
  2. use tivodecode to decrypt the downloaded .tivo file, saving the .mpeg file in a separate directory
  3. configure streambaby to point to that directory of .mpeg files
  4. delete the original .tivo file
That's a waste of time, but it lets streambaby stream the content back to the TiVo.  I would prefer a solution that somehow lets you stream the original .tivo file back to the TiVo, but I don't know if the TiVo knows how to deal with that.  I don't know why it couldn't but when I tried using streambaby to stream .tivo files back to the TiVo whence it came, the TiVo didn't like it.

The good news is that I now have a stable media server in the garage that can archive our TiVo content and play it back to the TiVo.  Now, when the TiVo's disks become corrupted for whatever reason, we haven't lost the programs that we really wanted to keep around.

If only TiVo would find a way to use ZFS as the device's internal filesystem.  I'd never have to worry about losing shows again.

Powered by ScribeFire.


I've been kmttg.pl (a perlTK script) to download. It will decode and produce a metadata file. I use pyTiVo (which uses the metadata) instead of Galleon.

PyTivo will use codecs to convert mp4, avi, etc files for TiVo. I run it on Linux because I've found it easier to install codecs.

I have a Series 2 and upgraded to larger drives. In the process, it creates a dump of the drive to put on the new drive. I saved it to CD in case I ever have to reinstall the OS on the TiVo when the drive dies.

Posted by Tom on December 14, 2009 at 02:23 AM PST #

I'm just starting out on the research to build my new home server (I haven't built a system in over 5 years, so I'm behind the curve on this). I've found your postings quite informative. Being an old-school Solaris sysadmin, opensolaris is going to be the OS of choice.

I'll 2nd kmttg (java) - it's nicely done, with ongoing updates...


I quote "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."

Posted by Christopher Peck on August 02, 2010 at 05:17 AM PDT #

Post a Comment:
  • HTML Syntax: NOT allowed

The views expressed on this blog are my own and do not necessarily reflect the views of Oracle. What more do you need to know, really?


« June 2016