NSLU2-Linux
view · edit · print · history

It is possible to use the NSLU2 with a modified or unmodified TiVo to serve programs. You have the following options:

  • Modified Series 1 or 2 TiVos can use TivoServer (not yet documented here)
  • Unmodified Series 3 TiVos can use HMO/HME with pyTivo

PyTivo Installation

pyTivo is a Python-based TiVo Home Media server software. It works on the NSLU2, allowing you to serve movie and music files. Note that it will not serve photos and can not download from the TiVo, nor will it (currently) work with Series 1 or Series 3 units.

pyTivo will transcode video files for the TiVo, and can do so in multiple aspect ratios as desired. Any format supported by ffmpeg can be streamed by pyTivo... Also note that it will happily serve up .tivo and (correctly formatted) .mpg files without transcoding.

Installation is simple:

  1. Hack your slug with Unslung
  2. Install ffmpeg by typing ipkg install ffmpeg
  3. Install python by typing ipkg install python
  4. Download pyTivo from http://pytivo.armooo.net and install it in /opt/var/pyTivo. Note that I had to use dos2unix on all the .py files since they contained extra ^M characters.
  5. Edit your /opt/var/pyTivo/pyTivo.conf file with the following (use your own locations instead of /share/flash/data):
 # This enables the web configuration interface
 [Admin]
 type = admin
 # This configures the server
 [Server]
 # http port for admin server
 port = 9023 
 ffmpeg=/opt/bin/ffmpeg
 # This is your TiVo video share
 [Slug]
 type=video
 path=/share/flash/data/tivo
 # This is your TiVo music share
 [Slug Music]
 type=music
 path=/share/flash/data/mp3

Note on performance:

NSLU2 has no problem serving video files in the correct format (e.g. *.tivo) but expect transcoding to be very slow due to the CPU-intensive nature of the task.

You may include the following lines (after ffmpeg= line) in the pyTivo.conf file to improve performance:

 # Audio bit-rate, default 192K
 audio_br=128K
 # Video bit-rate, default 4096K
 video_br=1024K

Automatic startup:

In order to start the pyTiVo server on reboot, you may want a diversion script ( http://www.nslu2-linux.org/wiki/Unslung/DiversionScripts ). I created an overly simple one based on krkeegan's - http://pytivo.armooo.net/wiki/initd

File: /opt/etc/init.d/StartTivo

 #! /bin/sh

 echo "Starting pyTivo... "
 python2.5 /opt/var/pyTivo/pyTivo.py

 return 1

Be sure to set the file to executable with a chmod.


Galleon Installation

Galleon is a Java-based TiVo Home Media server. I have been unable to get it to work at all on the NSLU2.

view · edit · print · history · Last edited by Jason Vail.
Based on work by Jason Vail, Tivo-er, tivo-er, fcarolo, and pedxing.
Originally by pedxing.
Page last modified on July 21, 2008, at 04:34 PM