pyTivo
So, we don't have the Sci-Fi channel, but Jena and I wanted to watch the last episodes of Battlestar Galactica. The shows aired on Friday, so I would get online and download them on Saturday or Sunday. We'd then watch them on a laptop. Nothing wrong with that, necessarily, but sometimes a little awkward and the sound wasn't great.
Then I found pyTivo.
pyTivo is a media server for your Tivo that transcodes on the fly using ffmpeg. What does that mean? It means that it can translate almost any kind of video file you can find into a format that Tivo can understand and play.
It's dead simple to setup, and once it's running it just shows as a media share on your Tivo (or Tivos...we have 2 and they both show the server). Then you just transfer the file as if you were transferring any other show.
It's awesome.
---
I did have one issue in Linux, though (I don't know if it applies in Windows). What happens is that the ffmpeg process doesn't exit cleanly and you're left with a zombie process which effectively blocks pyTivo and keeps you from transferring any other files. In order to fix that I wrote a quick script to check for that and fix it.
Here's the script...I just put it in /home/mckay/bin and called it check_pytivo.sh:
#!/bin/sh
BIN=/home/mckay/lib/wmcbrine/pyTivo.py
PIDFILE=/tmp/pytivo.pid
LOGFILE=/tmp/pytivo.log
start() {
echo "Starting $BIN" >> $LOGFILE
python $BIN &
echo $! > $PIDFILE
}
kill_daemon() {
echo "Killing process $(cat $PIDFILE)" >> $LOGFILE
kill -9 $(cat $PIDFILE)
}
restart() {
kill_daemon
start
}
if [ ! -f $PIDFILE ]; then
echo "No pid file found. Starting..." >> $LOGFILE
start
else
if $(ps -Cffmpeg -ostat | grep -q Z); then
echo "Found!" >> $LOGFILE
restart
fi
fi
Then crontab -e
and added the following:
* * * * * /home/mckay/bin/check_pytivo.sh
My pyTivo installation has been running problem free for a few weeks now.