pyTivo – Play any type of video on TiVo

pyTivo – Play any type of video on TiVo

?All I can say is wow, this is one of the coolest pieces of software.? Let me explain what it is. TiVo has long since allowed you to transfer previously recorded TiVo shows back to TiVo.? They also allow you to transfer non-TiVo shows as long as they are in TiVo format.? However, TiVo format is MPEG2 and has specific size and fps requirements.? Unfortunately no one stores videos on their home computer in MPEG2, mostly because they take up 5-10 times the space of a XviD video.

While I was browsing around the TiVo Community forum?i discovered TiVo.net.? This program ingeniously takes just about any video and transcodes it to MPEG2 on the fly and serves it up to TiVo.? Now I run a linux box as my server and TiVo.net is written in C#, however they recommended a program called mono, that will enable a linux machine to run C#.? It worked, but I kinda found TiVo.net to be a little bulky and prone to crashing.? Not the type of program that I can just put on a headless linux box and forget about.

So I kept looking for a better solution.? What I found was amazing.

I discovered that TiVo.net was based off of a program called pyTivo.? When I looked into the program it was perfect.? pyTivo is a set of python scripts that uses ffmpeg to transcode any video into MPEG2 on the fly and serves it up to TiVo.? Even though it was written in python it still didn’t run immediately on linux, but after fixing a few lines I was able to fire it right up.

After putting TiVo on the wired ethernet rather than wireless the results are amazing.? I can browse all of my videos on my file server directly from my TiVo.? I can then select the video I want to watch, give TiVo a few seconds to prepare the show and voila, I can start watching the video immediately.? The transfer never skips or stops.? In fact the transcoding seems to run 20% faster than real time.

There are two problems I have noticed:
1. Sometimes the Now Playing List gets replaced by the file list from my server(very odd).? This is easily fixed by just going into the recently deleted folder and coming back out.
2. More troubling, since pyTivo transcodes the video live it has no idea how long the video will be.? However, TiVo requests the video length at the beginning.? pyTivo tells TiVo that it will be a 6 gig video and then just abrubtly stops at the end.? This causes 2 problems, 1 it can force TiVo to delete programs unnecessarily to make room for a 6 gig file.? And 2 for some of us, me, it means that TiVo will delete the program as soon as it transfers unless you watch at least part of it while it transfers.? This is because TiVo thinks that an error occured in transfering.? NOTE:? I fixed this problem in a later version of pyTivo.

All in all this is an amazing piece of software. Very cool.

Comments are closed.