Getting a DVD library going is not quite as straightforward as you might think. The information is out there on how to do it, but it’s spread far and wide as people writing it up assume you know a bunch of stuff you don’t (or frankly shouldn’t have to) know.
I’m not exactly a newbie at running Windows Media Center; I’ve been actively championing the tool since Windows XP Media Center Edition 2005. I run 4 Media Centers on my home network (yes, I’m that geeky). However, I’ve only recently started exploring the Movies library since my home network-wide upgrade to Windows 7 Media Center, which I’ll lovingly call “7MC” throughout this semi-rant. For those of you who aren’t familiar, the Movies library is the not-quite-new-but-finally-ready-for-primetime area of 7MC that catalogs DVDs in your collection. In previous versions of MC it was quasi-hidden, but in 7MC, it’s practically front and center, with a nifty knock-off French version of The Rocketeer in the icon.
I’m not talking about DVDs that you insert individually into your PC when you want to watch a movie (although Play DVD is in the same strip on the home screen), but rather ripped or legally acquired copies of movies (notice I did not say downloaded from BitTorrent, I was very careful about that). Sort of the cinematic equivalent of MP3s. If you’re going to run an all-in-one Media Center, then don’t you want your movie collection to be available on demand? You certainly can’t afford to waste precious entertainment minutes tracking down a physical DVD.
When you rip a non-protected DVD, the disc’s folder structure (VIDEO_TS, AUDIO_TS, etc.) is stored somewhere on the PC; the video itself is stored in VOB format, but all of the other goodies (chapters, subtitles, etc.) are maintained as well. Another option is to rip an ISO (basically a virtual disc image), which when mounted, causes the PC to behave as if the original disc was inserted. (Yes, I said “mounted.” Stop laughing.)
A regular DVD requires about 4.7 GB, but many movies these days are dual-layer encoded which increases the storage requirements. Don’t even get me started on Blu-Ray. That adds up to a ton of storage space for even a modest movie collection. Unless you have several terabytes of storage just burning a hole in your PC, it’s just not a viable option for the masses. Therefore, a popular path is to compress your movies using a myriad of techniques, such as DivX, to create smaller files (on the order of 700 MB to 1 GB each) that still look pretty decent when played on a 720 or even 1080 display. In 7MC, you can also drop these files into your Movie library.
I have about 120 movies currently stored as AVI and WMV files on a NAS device on my home network, each is neatly separated into its own folder structure. On the surface, the Movies library is intended to be pretty slick and easy to use. Just point 7MC to wherever you keep your movies, and it builds the library, much the same way it does with your music, pictures, recorded TV programs, and other videos. Simple, right? That’s what I thought.
Well, the reality is that metadata is something of a luxury in the world of digital video. In a nutshell, metadata is additional information that describes the actual data, For a movie, that might include title, release year, synopsis, MPAA rating, genre, cover art, and so on. In the realm of digital audio and photography, the approach is pretty simple: the individual file has an editable header that contains all of that stuff, and it’s cleanly read and used by 7MC to build those libraries. Want to change the artist of your favorite tune? Just change it in the file’s header, and voila, it’s soon reclassified in 7MC. Done. Now compare that to digital video: there are tons of different formats, and each one implements headers differently (if at all). Even worse, many video headers are only editable during encoding. That means if you don’t correctly tag your videos when you make them, you’re stuck.
The Movie library solves this issue in a rather unique (and convoluted) way. It relies on several external files to provide metadata, including folder.jpg, which showcases the DVD cover art or movie poster, and movie.dvdid.xml (where movie is the name of the video file), an XML file that contains several structured, text-based fields that provide more information about the movie. Both are located in the same folder as the video file.
When 7MC initially scans the folder structure to build the library, it uses folder.jpg to build a thumbnail of the cover art and movie.dvdid.xml to collect more information about the movie, in part from AMG. That process isn’t quite clear to me at this point, because I’ve seen a number of tools to build or otherwise procure these files, and they don’t seem to have a uniform structure or content (some black magic may be involved, I’m still looking into it). What is clear, however, is that 7MC builds yet another set of files in the %appdata%microsoftehome folder that effectively cache the movie’s metadata (presumably so the Movie library doesn’t have to repeat this complex process more than once per movie).
Here’s where the process breaks down, at least for me. Not only is this incredibly labor-intensive to set up in the first place, but there seems to be a considerable lag (on the order of 3 – 4 minutes to load the cover art wall) each time I try to access my Movie library, and that’s negatively impacting the WAF (wife approval factor) of the whole system. Since the upgrade to 7MC, I’ve had to endure minutes eye-rolling and awkward silences from my lovely wife and near tantrums from my 2-year-old son while waiting for the list of movies to load. It’s just painful, folks.
Tick tock, tick tock
I don’t know if the cache isn’t doing its job or what, but I get the feeling that cover art and other metadata aren’t being loaded from a local source. Now my other libraries work smooth as butter (Pete’s recent blog post discusses the new “date taken” view of the photo library, which is indeed an awe-smackingly awesome feature). I just wish I could say the same for the Movies library.
Look, all I really need is a pretty interface that lets me select a movie to launch from the couch. Like I said, I’m running 4 Media Centers, so it’s not feasible for me to do a bunch of tinkering in cache files or maintaining plug-ins on each machine. I’m looking for a solution that involves me dumping new movies into an existing folder structure, and the library just picking them up in the background.
As an alternative, I’ve actually considered reverting to my Vista MC strategy, which involved using the Videos library instead. It works, but it lumps your movies in with your home movies and other videos, and the folder structure factors very heavily into the navigation process. Forget about metadata, you’re Not an ideal solution, especially when there’s a dedicated library for movies that just sitting there. Teasing me. Mocking me.
Is this really the easiest they could make it on us digital media enthusiasts? Did they think we’d just enjoy the challenge? If Microsoft really intends to bring Media Center to the masses with Windows 7, then it should be dead simple for any idiot to use. Most users don’t have an appetite for this kind of tinkering and tweaking. XML editing shouldn’t even enter into the equation; it just needs to work.
PS: Expect a follow-up post when I get this working to my satisfaction. Ideas are very welcome.