Sunday, January 06, 2008

With the most recent system update for the Xbox 360, Microsoft added support for my favorite video codec, DivX, and its open-source equivalent, XviD.  I decided that, with modern inexpensive storage, the time was right to build an online video library, as I already had for music several years ago.

I've divided my media folder into two sections:  Home Movies, where I keep captured camcorder tapes, and Entertainment, where I keep my DVD movie collection.  I use different processes for each.

For the camcorder tapes, I capture the digital video over Firewire using WinDV or the video import tool built into Vista.  I take the raw DV AVI (about 13 GB per hour) and run it through MediaCoder.  I encode using 2-pass XviD at 1500 kbps, using VBR MP3 for the audio.  I set the output to resize to 720x400 (my camcorder shoots 16x9 video) and pass it through the yadif 0 de-interlace filter.  The final result is about 700 Mb per hour, and looks reasonably good on both the PC and the Xbox 360.  MediaCoder is a little tricky to learn, so I recommend reading the forums and FAQs on the website.

For the DVD movies, I rip the DVDs to my hard drive using well-known tools.  (Disclaimer:  It is my belief that this legally falls under the doctrine of fair use, as I only rip movies that I own.  I do not advocate pirating movies in any way.)  I then use the Auto Gordian Knot to encode the movie to XviD, specifying a custom file size that I calculate using the rate of 700 Mb/hour.  This process is well-explained in the AutoGK tutorial.

So far, I've got about 40 movies, the entire run of Firefly, the Band of Brothers mini-series, and 30 hours of home video stored on my server and instantly available on my Xbox 360.  This is definitely a convenience that I find worth the time investment if you're so inclined.