Global Reset

Engineer, Objectivist, and Father

A New Addition to the Home Theatre

Posted by shughes Tue, 16 Aug 2005 04:08:00 GMT

Best Buy and DirecTV are running a promotion now where you can pick up an 80hr TiVo for $100 and get a $100 mail-in rebate… Making the TiVo essentially free. Of course, “free” doesn’t include the cost of replacing my Dual-LNB dish with a Triple-LNB and running two more cables (total 4) through a hole that barely fits one! Nicole and I had a lot of fun trying to pull those extra cables through. In hindsight, although it would’ve been a lot more expensive, the multi-switch would’ve been a simpler route.

Technorati Tags: ,

Posted in , | no comments |

TivoTool for Mac OSX

Posted by shughes Fri, 05 Aug 2005 15:33:00 GMT

In my previous post (TiVo and Mac OSX: Remux Redux), I discussed a GUI and command-line option for re-muxing video from a TiVo on OSX. Well, the command-line option was based on a perl script called TivoTool. The developer of that perl script has gone on to create a very slick GUI around it.

I got an email from the developer a few weeks ago about the new GUI, and I’ve been meaning to write about it, but I had a few problems with earlier revisions. For example, I couldn’t get it to save my video on an external volume… The new file would simply disappear. That said, I’m very excited to see that the tool is being very actively developed, with a new release today that adds some slick features.

I have to say that with this tool, I no longer regret leaving behind the win32-only TyTool.

Technorati Tags: ,

Posted in , | no comments |

TiVo and Mac OSX: Remux Redux

Posted by shughes Tue, 14 Jun 2005 06:34:00 GMT

I finally found a workable set of tools for extracting and re-encoding video from my TiVo using Mac OSX Tiger. For reference, I’m pulling video off of a Series 2 DirecTiVo (HDVR2). If you have a Series 1, you have many more options, including TyStudio, which I mentioned in my previous post. AFAIK, both of the excellent options I’m using now should work for all Series 1 and Series 2 streams.

I have found workable solutions for both GUI and Command-line interfaces. Both tools have their advantages, but the tools I’ll be using the most are the command-line tools. Here’s the procedure I use for each tool.

Technorati Tags: , ,

Command-Line Option

The set of tools I’m using now are a combination of vsplit, vstream, and mencoder (from MPlayer). My previous post mentioned that mencoder doesn’t seem to handle the audio-sync very well when re-muxing a .ty file. However, I’ve found that that if I re-mux the .ty file with vsplit into an ordinary MPEGII, mencoder does a much better job when converting that MPEGII into a DivX movie.

Install and start vserver on your TiVo. Obviously you must have your TiVo hacked to do this… And I’m not covering that here. Then, use vstream to fetch a list of all shows on the tivo, so we can get the “fsid” of the show we want:

   vstream tivo://myTiVoIP_or_Hostname/llist
Use vstream to fetch the show using the “fsid”:
   vstream tivo://myTiVoIP_or_Hostname/myFSID -o 'temp.ty' 2>&1
Use vsplit to re-mux the show into a standard MPEGII stream (keeping that ‘unused’ string on the end, since the cmd-line arg processor seems to require the extra argument):
   vsplit -m 'temp.ty' 'ShowName' 'unused'
Now you have a good clean MPEGII file, ready for transcoding. You can play around with mencoder to see what works best for you. For good quality, I recommend doing a multi-pass transcode. See the mplayer/mencoder documentation for more info on that, but here is an example of a 1-pass audio, 2-pass video transcode to DivX:
   mencoder ShowName.mpg -ovc frameno -oac mp3lame

  -lameopts br=128:vbr=4:q=0 -o frameno.avi

   mencoder ShowName.mpg -vop pp=lb -ovc lavc

  -lavcopts vcodec=mpeg4:vhq:vpass=1 -oac copy -sws 2 -o output.avi

   mencoder ShowName.mpg -vop pp=lb -ovc lavc

  -lavcopts vcodec=mpeg4:vhq:vpass=2 -oac copy -sws 2 -o output.avi

   mv output.avi ShowName.divx
Most of those tools can be found on the DealDatabase forum. I recommend the tivotool.pl package which contains vserver (for both Series 1 and Series 2 TiVo), vsplit (for Mac OSX and Linux), and vstreamer (for Mac OSX and Linux). Also included is a nice perl script which automates the process of getting the MPEGII file as I described above. The easiest place to grab “mencoder” is from the command-line binaries package for OSX.

GUI Option

The VideoLan Client for Mac OSX (VLC) is an excellent movie player application which duplicates most (if not all) of the functionality of mplayer/mencoder. Though I have had trouble using it’s command-line interface, it’s GUI is useful enough for transcoding TiVo files after you’ve modded it with 2 simple plugins.

Start by installing vserver on your TiVo, just as above. If necessary, grab vserver from the same tivotool.pl package. Now, download the 2 plugins from the TiVo-VLC project page. The two files you’re looking for are vlc-ty-mac-r42.tar.bz2 and vlc-vstream-mac-r37.tar.bz2. Note that both of these plugins were built for version 0.8.1 of VLC and won’t work with any other version. Pay attention to the TiVo-VLC status page to see if these binaries were updated for a new version of VLC.

After extracting the two files (with extension .dylib), you’ll need to install these into the VLC.App. Find VLC in your applications folder, right-click (or option-click, whatever you one-butan people call it), and select ‘Show Package Contents’. Copy the two files into “Contents/MacOS/modules” and you are finished with the setup procedure.

Now, fire up VNC and select “Open Network..” and enter “tivo/ty://myTivoIP/plist”. Now open your playlist and select a file for streaming. Pretty easy, huh? You can transcode a file from your playlist by getting the properties of a file and copying the url (including the fsid). Now, use the “Open Network..” menu option to open that file, except use the “Advanced Output” checkbox on the bottom of that dialog. Under settings (right next to that check box), notice the transcode options for Video and Audio. I suggest “mp4v” for video, with a 512kbps bit rate, and “mp3a” for audio with a 192kbps rate.

Posted in , | 2 comments |

TiVo and Mac OSX

Posted by shughes Mon, 06 Jun 2005 15:56:00 GMT

I’ve finally hit a pretty big roadblock in my switch over to the Mac. I am having trouble getting a good set of tools to help me offload video from my TiVo. I’ve been back and forth on this since I bought the TiVo, where I’d go from constantly downloading video for archiving to not really thinking about it at all. Since I picked up the PSP, one of my goals has been to get a nice workflow going to grab episodes of shows that Nicole won’t watch with me (X-Play, Smallville, and Deep Space 9) and take them along with me. Unfortunately, Dell has been delaying my order for a 1GB memory stick pro duo, so using the PSP as my mobile video player is still bottlenecked by the storage problem. I’d like to cancel my order from Dell and just grab it from Amazon (1 GB Memory Stick Pro Duo) for a few dollars more, but why bother if I can’t get the tools in place to make it convenient on the Mac? This makes me a very sad man…

Here’s what I’ve tried so far…

TiVo-mplayer Had pretty good success with this on the PC, though I had a lot of audio-sync problems. Given that it’s at 1 version number greater than what I last tried on the PC, they may have fixed it (though I’m not too hopeful). In any case, I always had to correct an error in one of the .c files (variable declared in the middle of a function, rather than at the top of a scope) just to get it to compile on Windows. On the Mac, I gave up after correctly nearly a dozen compile errors. If anyone would like to provide a binary of this for Mac OSX 10.4.1, I’d sure like to give it a shot.

MPlayer / MPlayerOSX / ffmpegX Unfortunately, none of these incorporated the above changes to support TiVo’s .ty files. So, they are mostly useless for my purposes. However, if I could get my hands on a TiVo-mplayer binary, ffmpegX would still function as a front-end for that command-line tool. (Update 6/9/2005) I discovered that the mencoder portion of the ffmegX binaries does include the demux code for ty files. I also discovered that, just like the last time I used mencoder on the PC to transcode, I still get major audio sync problems. I assume if I just demux the video and use another tool to remux it (with some manual adjustments to audio sync) it will work fine… But that’s too much work. I’m spoiled by the easy TyTool for Windows. Unfortunately for me, he won’t share the source for it so we can try to port it to OSX.

TyStudio These guys have built, what looks like, a fantastic tool. Unfortunately, it has never worked for me. They have an OSX version (requires X11 be installed) and it seems to function nicely once you get ”dlcompat” installed. I couldn’t get Fink or DarwinPorts to install dlcompat for me, so I ended up just checking it out of CVS and building from source. Seems the easiest way to get the libs in the right folder so that TyStudio can see them anyways. Once I got this tool running, I selected a local “.ty” file I had sitting around. Amazingly, this tool performs on Mac OSX exactly as it performed on the PC… That is to say, it got exactly halfway through indexing the .ty file before crashing heinously. I believe it might be because my .ty files came from a series 2 TiVo, because their website only has info about a series 1 server component.

From here, I’m kind of at a loss. I guess my options are: 1) forget about getting video on the PSP memory stick and just buy UMD movies to keep myself entertained, 2) use the PC for video extraction/editing since I already have a good toolset to use, 3) “get cracking” on porting the other PC tools over to the Mac.

Aside: Whenever I have to code up my own solution instead of waiting on someone else to provide me with one, I love using the phrase “get cracking.” It comes from an email conversation a buddy of mine had at Ga Tech. He was using a system tray CD-player app, but he felt it was missing a feature or two. He emailed the author of the app to let him know what was missing, and the author gave him the succint reply: “Get cracking!” :)

Technorati Tags: , ,

Posted in , , | no comments |