💾 Archived View for shaggypeak.com › glurg › blurg › 2009041709-11.gmi captured on 2023-09-28 at 17:06:12. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2023-03-20)

-=-=-=-=-=-=-

pyTivo

2009-04-17

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[1].

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=/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:


My pyTivo installation has been running problem free for a few weeks now.



=> http://pytivo.armooo.net [1] pyTivo