DirecTivo -> Mac -> DVD

Dear Lazyweb,

What's the best way to get video from Tivo into iMovie and iDVD?

I found TivoTool, which (after I found a working binary of "vserver" to install on the Tivo) is a GUI app that shows you a list of the programs on Tivo and lets you download them in a few different formats, including MPEG2 and MPEG4 (but not DV).

So far, the only thing I've found that works reliably is:

  • Use TivoTool to download MPEG-4 files;
  • Use ffmpegX to convert from 480x480 MPEG-4 to 720x480 DV;
  • Import that into iMovie in a "DV"-mode project.

Needless to say, this takes fucking forever, and (I think?) decodes and re-encodes the video three times along the way.

Once, iMovie (5.0.2) was able to load an MPEG-4 file directly, but it padded the image instead of stretching it, so I had a tall-and-thin 4:3 image with black bars on the left and right. But then I tried it again, and it wasn't able to import MPEG-4 at all. No idea what was different the second time.

QuickTime can play all of these files, but iMovie can't import them, which is just weird. Isn't this all the same library?

Also: I think my Tivo's USB port is running in USB-1 mode. Slow. I found this, which seems to be the USB-2 drivers, but I have no idea how to install/test them without risking putting the tivo into a non-bootable state (I don't have a serial console, so breaking the network would be Bad). Have any of you done this? I've got a Philips DirecTivo 7000/17 with kernel 2.4.18. The USB-to-Ethernet dongle I'm using is a Linksys USB200M.

Update: I wonder if I'd be better off just going through the "analog hole": pressing Play on Tivo and letting iMovie import the DV from that (I have a Dazzle Hollywood DV Bridge which converts analog audio/video to Firewire DV). Is one analog-mode decode/encode step notably worse than three digital-mode decode/recodes? It sure would be faster...

Update 2: A friend who works at Tivo says: "I have every l33t tool available, and I still use the analog hole. The minor difference in video quality just isn't worth the huge amount of additional effort." So, yeah, that's what I'm going to do from now on. Screw it.

Tags: , , , , ,

28 Responses:

  1. starjewel says:

    yeah, tivo doesn't do usb2. which is fairly annoying.

    if you are worried about putting your tivo into a nonbootable state, check out Weaknees, as they have a utility to copy your tivo drive. worst case then you'd just have to re-copy the image back to your tivo. i used it to upgrade my tivo's hard drives.

  2. rin3y says:

    iMovie will bring you nothing but agony and horror. Best as I can tell, Quicktime be damned, iMovie will import nothing but DV and Quicktime.

    For some reason I've been unable to determine, the Powers That Be (tm) have decided that if you want to spend less than, say, $1500 on video and DVD software, you will expend tremendous amounts of effort to get mediocre results if at all. I've bought several (Premiere Elements, Nero, the one from Sony, the one from Ulead) and they're all varying degrees of awful. Don't get me started about iDVD's unbeliveably wretched "menu editor" that randomly shuffles the buttons, screws up the navigation such that pressing "left" actually moves the cursor up...etc.


  3. aml says:

    iMovie is annoyingly crippled format-wise, because apparently if you're smart enough to need more than QT and dv, you should pay the $200 for the most-crippled version of final cut.

  4. I've burned DVDs from DivX/XviD MPEG-4 files using iDVD and the DivX codecs for QuickTime; once those are installed, iDVD will transparently convert the files to MPEG-2 and burn DVDs. Mind you, the conversion process takes ages (you may want to leave it on overnight).

  5. baconmonkey says:

    Disclaimer, I'm not giving you The Answer, nor am I giving you completely pointless unrelated advice.

    in general, for video/DVD related stuff, is a great resource. There are a lot of tools and guides there. It's more PC centric, but there are Mac resources there too.

    While I'm not 100% certain of Tivo's formats, I've never seen anything but SVCD use 480x480, and set the aspect ratio to some weird setting. SVCDs use mpeg2 (same as DVD) at 480x480.
    The PS2 does not support SVCD, but if you have annother DVD player, you can check here and find out if it supports them. Also, some DVD players will play mpeg files directly from ISO data cds or DVDs. If you have a player that does, that might save you a whole lot of steps, since you wouldn't have to re-encode anything.

    finally, the kids today seem to like Sizzle for DVD authoring on the mac. It may veery well be able to import those files directly. I've never used it, so I don't know.

    • noweb4u says:

      No answer either, but I can verify that at least my cheap phillips DVD player can play MPEG 2 burned straight to DVD. It can also play MP3, so those are probably features that go hand in hand usually (mine uses the same file picker interface, and a disc can have several mp3 and mpeg2 videos on it, and you can just select the file and go with it.

  6. pberry says:

    But then it's about computers, so I repeat myself. Get Quicktime Pro and the MPEG-2 Playback component. Then head over to this iMovie FAQ.

    I've gotten it to work, but it's time consuming, horribly frustrating, as you and others have already noted, and the quality wasn't that great in the end product.

  7. simondorfman says:

    I can't offer a better solution except to save one step of re-encoding:

    The video is stored on the TIVO in MPEG2 format. So to save one step of re-encoding, there is a way to convert MPEG2 to DV, but it requires buying the MPEG2 quicktime component [1] from apple for $20.

    Re: Isn't this all the same library?
    Even though quicktime can play MPEG4, I've guessing one of the reasons you can't edit MPEG4 in iMovie is because of the way compression works. Not every frame (or more accurately fields) of video is complete when it's compressed. It relies on the frames before and after it to make it whole. That's how most time-based compression works. Making an editor able to deal with those issues is tricky and not something iMovie needs to be able to do. There are editing systems out there that can edit MPEG2, but none for the Mac, as far as I know of. Final Cut Pro can't do it, for example.

    Good luck and please share your discoveries. I considering try to edit MPEG2 from a REPLAYTV a few months ago, but gave up mostly because I didn't want to re-encode everything to DV to edit.


    • baconmonkey says:

      it's not so much that it's tricky to write software that handles the lack of complete frames, but that it's really slow. the last complete image (I frame) might be hundreds of frames back, and all the frames between it and the current need to be rendered. this makes for a maddening end-user experience as moving from frame to frame can face loooong delays.

      Mpeg2 is far easier than mpeg4. mpeg2 for DVD has iframes every 15 frames for NTSC, or 12 for PAL. Mpeg4 can have absolutley arbitrary iframe spacing, which can lead to huge gaps if a scene doesn't change much for a long time.

      I'm surprised none of the mac programs handle mpeg2 at all. I use several on PC that do. It might also be a patent issue, as mpeg2 and mpeg4 both have all kinds of annoying patent associated with them.

      • jesus_x says:

        "Mpeg4 can have absolutley arbitrary iframe spacing, which can lead to huge gaps if a scene doesn't change much for a long time."

        And we won't even discuss what happens when your player of choice somehow misses that iframe, or decodes it oncorrectly, leaving the viewer to watch an interminably long scene with funky colors/distorted picture...

  8. roninspoon says:

    Your method seems less frustrating and time consuming than the one I was using. I eventually just gave up on the whole process as it was so time consuing and irritating as well as yeilding less than desireable results.

  9. simondorfman says:

    While browsing the comments of this thread:

    ...I found something that supposedly CAN edit MPEG2 on a Mac:

    I haven't tried it, but if that works, the quality would be best because the same MPEG2 from the TIVO could be burned to a DVD. No conversion. Good luck.

    • I have been using streamclip for a month or so ripping my ReplayTV shows and editing in iMovie, it transcodes fairly quick (but I have one of those dual processor G5 things) and even will correct some time code errors and chop the output up in iMovie sized pieces. I like it

  10. osi says:

    fwiw, i have the same situation (directivo->mac) and find converting the analog output is easiest. i import with iMovie and find the quality to be fine.

    • korgmeister says:

      I'm definately going to second using analog instead.

      Admittedly I've never tried doing analog -> digital but I've done converting between two lossy digital formats (let alone 3) and the results have looked so damn horrible that I seriously doubt using the analogue hole is going to be worse.

  11. mark242 says:

    Here's your Rube Goldberg idea-du-jour:

    JavaHMO downloads the encrypted .tivo files to your Mac.

    Copy those to your Virtual PC drive image.

    Run a DirectShow filter to demux the stream into mpg and ac3 components.

    Copy those back to your Mac drive.

    Import into iDVD.

  12. unwiredben says:

    I originally was pulling Tivo programs off my Series 1 unit using a WiFi hack card and custom software on Windows, but it was slow and the files were hard to use. For the last year, I've just been going analog and dumping them straight to my Pioneer DVD recorder, occasionally pulling them off DVD-R into my computer if I wanted to do any editing. Much easier, and actually quicker than streaming them over the network.

  13. jayrtfm says:

    I haven't tried this myself, but they do have a watermarked trial version

    from their site:
    "DropDV is a Mac OS X droplet which converts MPEG video into DV video streams.
    ....converts MPEG video files from Still Cameras, MPEG-based video cameras, Tivo and ReplayTV MPEG files
    A Simple, drag-and-drop interface
    Full YUV pipeline (no conversions to RGB)"

  14. ch says:

    MPEG-4 and MP4 file format (aka ISO 14496 part 12 aka son-of-quicktime) are two diferrent beasts.

    The MP4 file format is just a container for "tracks" -- it can contain MPEG-2, MPEG-4 or other data.

  15. justinjs says:

    I do exactly what you mention -- play the directivo, and let the dazzle bridge turn the signal into DV for me. It feels like a lame solution, until I remind myself that the file conversion approaches do more re-coding than this.

    Quality is not bad, imo.

  16. davidglover says:

    What's the native format of TiVO? I assume it's MPEG-2. Probably your best option is to fork out for the QuickTime MPEG-2 playback component ($20), and then get MPEG Streamclip (free), which will let you losslessly edit out bits of your MPEG-2 file. (Ads and such.) If you still want it into iMovie, Streamclip can export as DV, or you should be able to drop the edited MPEG-2 files straight into iDVD.

  17. irilyth says:

    I have a little analog encoder box, and the quality isn't great, but it's not bad either; watchable certainly.

  18. strspn says:

    The analog hole is hard to buffer, but not impossible, and it is faster (if your bridge isn't busy with something else.)

    It is possible, in theory, to put an infrared photodiode and an LED behind an Ethernet MAC chip, with which you can record and play back your remote control signals. But that is a hardware project tantamount to recompiling several or more kernels. It would, however, be very cool on many levels.

    Do you hack Tcl on your Tivo? Or do you have or want Perl ported and calling through to the APIs?

    Offtopic: Perl XS == Tcl Critcl * one kernel recompilation.

  19. johnsolo1701 says:

    Hi, I see a lot of you guys are confused about this. I am the author of Tivotool.

    This article should clear up some confusion:

    In short, never take your video out of mpeg2 format if at all possible. Use MPEGStreamclip to edit that mpeg2. Things will go so much faster this way.

    The next version of tivotool will have .m2v/.wav support which iMovie will import, if you really want to use iMovie.

    • jwz says:

      Thanks for the info. I think for now, though, I'm just going to do it the analog way. Recording from Firewire/Svideo into iMovie in real-time is so much faster than downloading/converting the files, and the quality difference appears to be minor...

  20. cranaic says:

    I ended up buying a phillips dvd player that can play divx, mp4, quicktime, etc. so I have fewer conversion issues. Handbrake is a nice cocoa app that wraps around ffmpeg and other tools and can create a quicktime movie out of a dvd.

  21. iota says:

    jwz posted the words "analog hole" like 24 hours ago and NO ONE posted anything like "huh huh i'll exploit your analog hole"??

    the internet is dead to me