HOWTO: Connect a FreeNAS to a TiVo

Bob Bakh discusses how to connect a FreeNAS (Networked Attached Storage) to a TiVo.

April 21st, 2009 at 9:00am — Comments: (1) — By: Jonathan Danylko — Tags: HowTo

Recently, I had someone send me a question from a previous post about how to hook up a FreeNAS to a TiVo. Bob Bakh was generous enough to provide a description of how he hooked everything together.

Take it away, Bob!

I configured a box to run FreeNAS on my network to manage storing Media, and backing up vital information in my home.

It was a great tool, however I wanted more, mainly the ability to simply play media stored on the FreeNAS box on my home TV without the use of a general purpose computer. One way was to use my AppleTV, hack it and use an AFP mount, or an NFS mount directly to the AppleTV, this worked well, but was a pain, and a hacked AppleTV is not a happy AppleTV. So I gave up on that plan.

I looked at my TiVo and realized I had the makings of a decent setup there, so I started to Google around for some solutions. I stumbled across a simple one in my world, which was to TiVo Desktop with the GoBack feature enabled. I used the free TiVo desktop from TiVo. And the GoBack function allowed by a hack from Visual Hub, however that hack is no longer available. A PC version is available.

You will need to buy the TiVo desktop plus to accomplish this, but it does take some manual setting of what video files you want to transfer.

Okay, so this worked, and my computer showed up in the TiVo now playing menu and allowed me to see videos that were in a mounted directory from the FreeNAS. I would select the video and it would transfer to the TiVo, and life was good, it was a bit slow, but it worked.

Now my issue with FreeNAS and other software based NAS systems was that I had to manage the hardware, and it got to be a little warm in my home office where I stored the system, so I made a few changes.

I now run a QNAP TS-509 , a 5 disk raid 5 self contained NAS system. It runs on a micro Linux kernel, has redundant network connections, and runs really cool, so my office is no longer 10 degrees hotter than the rest of my house, and it’s a whole lot quieter.

I originally had it configured the same way as the FreeNAS system, and it worked fine, but I was on the hunt for a better solution. The QNAP has a little thing called ipkg, which allows me to install UNIX utilities written and packaged for its kernel.

I installed the following

  • binutils - 2.17-2 - The GNU assembler and linker and related tools
  • bzip2 - 1.0.5-1 - Very high-quality data compression program
  • confuse - 2.6-2 - a configuration file parser library
  • ffmpeg - 0.svn20080409-2 - FFmpeg is an audio/video conversion tool.
  • flip - 20050821-1 - Utility program to convert text files between UNIX or Mac newlines and DOS linefeed + newlines.
  • grep - 2.5.3-1 - Global regular expression parser
  • libc-dev - 2.6.1-3 - libc development files.
  • libdb - 4.2.52-3 - Berkeley DB Libraries
  • libnsl - 2.6.1-4 - Network Services Library
  • libstdc++ - 6.0.9-6 - Standard C++ library, needed for dynamically linked C++ programs
  • ncurses - 5.7-1 - NCurses libraries
  • ncursesw - 5.7-1 - NCurses libraries with wide char support.
  • openssl - 0.9.8i-1 - Openssl provides the ssl implementation in libraries libcrypto and libssl, and is needed by many other applications and librari
  • pcre - 7.8-1 - Perl-compatible regular expression library
  • python - 2.5-1 - This is a package that sets up the default python.
  • python24 - 2.4.5-1 - Python is an interpreted, interactive, object-oriented programming language.
  • python25 - 2.5.2-2 - Python is an interpreted, interactive, object-oriented programming language.
  • python26 - 2.6-1 - Python is an interpreted, interactive, object-oriented programming language.
  • python30 - 3.0-1 - Python is an interpreted, interactive, object-oriented programming language.
  • readline - 5.2-2 - The GNU Readline library provides a set of functions for use by applications that allow users to edit command lines as they are
  • ruby - 1.8.7-1 - An interpreted scripting language for quick and easy object-oriented programming.
  • sqlite - 3.6.4-1 - SQLite is a small C library that implements a self-contained, embeddable, zero-configuration SQL database engine.
  • zlib - 1.2.3-3 - zlib is a library implementing the 'deflate' compression system

Then I visited pyTiVo. This is the home of pyTivo, a python script that emulates a TiVo server on your network.

This allowed me to configure a directory on the system as my TiVo directory, and now I serve up videos straight from my QNAP to my TiVo, much more efficient, and no more gateway box.

There is also a nice windows version, Mac version, and Linux version available of pyTivo.

I used the pyTiVo installation instructions. What this gave me is a great way to manage my videos, and with a workflow based on handbrake and visual hub, I’m able to convert my children’s DVD collection to MPEG-2 and have them view it on the TiVo, and able to keep months of their TV shows stored offline for their viewing.

It has been a great solution.

I think you may be able to install pyTivo directly on the FreeNAS system, but I never tried it.

I hope this answers some questions for you, and I can help if there are any others.

Bob Bakh

Exceptional Work, Bob! Thanks for a fantastic post!

Picture of Jonathan Danylko
  • Jonathan Danylko Twitter Account LinkedIn Account Facebook Account

Jonathan Danylko is a freelance web architect and avid programmer who has been programming for over 20 years. He has developed various systems in numerous industries including e-commerce, biotechnology, real estate, health, insurance, and utility companies.

When asked what he likes doing in his spare time, he answers..."programming."

Related Posts


  1. santhi
    November 28th, 2013 at 3:49pm
    Hi John,

    Thank you for posting this. I was looking to link my QNAP and TIVO. I have Qnap TS-109 model which has 500 mghz processor. I was wondering whether this is enough to play videos on tivo from QNAP.

Post a comment