oreilly.comSafari Books Online.Conferences.


Hacking TiVo, Part 2
Pages: 1, 2

Hack #84: Streaming Video Directly from TiVo

Why download massive videos and take up local hard drive space when you can stream them right from your TiVo over your home network?

Playing downloaded streams from your TiVo is just one way to use Wingert's TiVo MPlayer [Hack #83]. The whole reason he extended the original MPlayer was to enable you to stream videos right from your TiVo to your PC.

You'll need a program called vserver to pull off this hack. Download and unpack the archive. Inside, you'll find a whole slew of files. Look for a binary called vserver-ppc-s1-exec. Move and rename the file to /var/hack/bin/vserver on your TiVo. Start it up:

bash-2.02# ./vserver
waiting for connections on port 8074

Launch MPlayer as in the previous hack, only this time passing it the URL tivo://tivo_ip_address/list, replacing tivo_ip_address with the IP address of your TiVo [Hack #51]. That magical tivo URL handler up front (the tivo:// bit) makes sure that MPlayer talks to the vserver on the right port with the right protocol. The list bit, as you might imagine, requests a list of available programming. Here, I'm asking my TiVo (at IP address for its Now Showing list:

C:\Program Files\mplayer> mplayer -quiet -cache 8192[RETURN]
Playing tivo://tivo/list
Listing streams in /Recording/NowShowingByTitle
[1662160][3][24][Day 2: 7:00 - 8:00AM]
[1651148][3][24][Day 2: 6:00 - 7:00AM]
[1636997][3][24][Day 2: 5:00 - 6:00AM] 
[1623225][3][24][Day 2: 4:00 - 5:00AM]
[1670974][2][ABC World News Tonig][(null)]
[700897][4][The Armenians: A Sto][(null)] 
[1684169][2][Coming Attractions][(null)]
[1651146][5][Dawson's Creek][All Good Things ... Must Come to an End]

Those numbers in the first column are the filesystem IDs (FSIDs) for the recorded streams, TiVo's way of indexing recorded videos. They're also used by vserver to select a show to stream:

C:\Program Files\mplayer> mplayer  tivo://

And up comes the final episode of 24. To stop playback and quit MPlayer, press Control-C on the command line. mplayer is unfortunately quite computationally intensive, so the other flags on the command line are about lessing the load on your PC. -quiet supresses mplayer's output on the command line, giving your PC more computational cycles for the video. The -cache line asks your PC to cache 8 MB of video data at all times while it is playing to protect your PC against the unpredictability of networks

With vserver running, you also can extract ty streams directly from TiVo using mplayer [Hack #85]. On the command line, invoke mplayer, specifying an output file and the FSID of the stream you want to extract:

$ mplayer -dumpfile out.ty -dumpstream tivo://

When you're done, don't forget to also kill the vserver process on your TiVo with a Control-C.

Return to

Sponsored by: