Feb 22

Now that we have an Apple TV 2 hooked up to our main level TV and have moved our Samsung Blu-Ray DVD BDP-C5500 player to another room, it made sense to see how we could back up our DVDs to our NAS server such that we could load the movies on our iPad for road trips and stream them on TVs via the Apple TV, our Samsung Blu-Ray player and a Sony PS3 in the basement.

Many tech savvy people have been doing this sort of thing for years, but I’m glad that I finally got around to trying it for myself.  The results have been worth it: Not only are we able to easily access our 70 odd videos from all of the devices mentioned above, it helped set the stage for our use of EyeTV to record over the air (OTA) digital TV broadcasts and store them on our NAS server.

The Ingredients

After several hours of research and trial and error, I arrived at the following solution using tools on Mac OS X:

  • RipIt to make a descrambled backup of the DVDs to a filesystem (~$22USD)
  • Handbrake to encode the ripped DVD content to m4v format files (free)
  • MetaX and tagChimp to add cover art and other metadata to the m4v files (free)
  • iTunes to make the movies available to iOS devices including Apple TV and iPad

We also use Ubuntu Linux, but it was so much easier finding the necessary ripping and encoding tools for Mac OS X.

We’re using MediaTomb on our Ubuntu-based home server to act as a DLNA/UPnP player for the non-iOS devices. On our iPad we’ve installed the AirPlayer app to stream content directly from our home server.

Storage Strategy

Even encoded and compressed video files can take up a lot of space: depending on the resolution selected, it’s not uncommon for a movie to consume 1-4 GB of storage. Consequently, this exercise of backing up our DVD collection caused us to expand the overall capacity of our NAS server.

Since the ripping, encoding and metadata tagging processes are so disk and CPU intensive, it made sense for us to perform all of these operations on our relatively recent MacBook Pro and then copy the finished files over to our NAS server for back up and streaming.

On our NAS server, we carved out a new “videos/” folder with separate subfolders for “movies/” and “tv/” to hold the backed up DVDs and any shows we record through the EyeTV OTA dongle on our iMac.

Making a Back Up and Descrambling

RipIt was well worth its modest price as compared to my experience in trying to use several Linux tools.  Out of the box, RipIt is simple to use: insert the DVD, quit the Mac OS X DVD player and click “Rip” to back up and descramble the content of the DVD. A typical DVD on a fairly recent MacBook Pro might take 20-30 minutes to back up.

The resulting package can be opened in HandBrake for encoding to a smaller footpring .m4v file compatible with Apple iOS devices and devices. RipIt also supports compression, but we opted to use the more feature rich HandBrake tool to encode and compress the video files.

Although we have a handful of Blu-Ray DVDs, we haven’t yet backed those up because RipIt does not support Blu-Ray and we didn’t have a Blu-Ray DVD device available.

Encoding

The next step is to use HandBrake to encode the backed up DVD images to a more space efficient file format suited for the devices on which we’ll play the content.

  • Install VLC: First, I installed VLC as a prerequisite for HandBrake.  Among other roles, VLC provides the ability to play the content contained in the ripped DVD images.
  • Load ripped DVD: Then I fired up HandBrake and clicked on the Source icon in the toolbar to select the recently ripped DVD image from my desktop.  HandBrake reads all of the titles from the DVD image before allowing you to select which one you’d like to select.  In almost all cases, I’ve just used the default selected title.  However, in those situations where multiple videos are stored on one DVD, for example, with the Dune DVDs, you need to select each of the large titles separately to perform to encodings.  You can get a good feel for which title to select by looking at the time duration next to the title number.
  • Select preset: I then clicked on the Toggle Presets icon in the toolbar to show the device-oriented presets.  I chose “AppleTV 2″ because it seemed to have most of the settings of the High Profile preset, but it’s obviously going to work well for the Apple TV 2 device that we have in our living room. Thus far, the audio and video resolution settings with this preset have offered the best compromise by supporting both large displays such as our TVs and smaller ones such as the iPad.
  • Add more to queue: Since the encoding tasks can take an hour or more per DVD, I got into the habit of adding multiple DVDs to the queue and letting HandBrake run over night.

Adding Cover Art and Metadata

Much like various MP3 encoding tools are able to add metadata (song title, album art, etc) to ripped music files, MetaX can be used to do the same for movie video files.  As with HandBrake, MetaX includes a queuing feature to enable you to add a bunch of video files to a queue and process them automatically one after another.

The key hurdle I encountered with MetaX was initially getting black video content after applying metadata.  It turns out that, given the resolution of and resulting size of the backed up video files, I had to select Preferences -> General check “Enable Support for Large Files” to address the problem.  Even through most of the video files were under 4 GB in size.

Apart from that issue and its sometime quirky handling of checkboxes (the Toggle button in the toolbar is really useful in this regard), MetaX is pretty easy to use:

  • Select file: Open up the .m4v or .mp4 file of interest and wait for MetaX to find metadata from the tagChimp online database.
  • Select and customize metadata: Select the tagChimp matches and review the metadata to see which one best suits your needs. In some cases, I made the following tweaks:
    • Under the Sorting area, I often overrode the default sort key to ensure that the video was sorted the way we liked it in our video players. For example, I changed the sort key from “The Dark Night – Batman” to “Batman – The Dark Night” such that all of the Batman movies would appear next to one another.
    • Once in a while, I overrode or added cover art by finding an image on Google image search and dragging it to the cover art area.
    • On rare occasions, I had to redo or fill in the Chapters information.
  • Add to queue: Hit the “+” button under the list to add another selection. Don’t worry, you don’t have to save your prior track’s selections.
  • Write and share the metadata: Once you’ve queue up the tracks of interest, hit Write & Share to both add the metadata and share your modifications with the tagChimp database.
  • Enjoy the cow: When the queue is finished, MetaX will play a nice cow sound. :)

Using with iTunes and iOS Devices

OK, so now that we have all of these .m4v files, how do we share them with Apple iOS devices? Not surprisingly, the key is iTunes.  As long as the movie files are added to an iTunes library, you’re able to easily load them them on iPads, iPhones, iPod Touches, etc and stream them to Apple TV 2 devices.

As with most homes that have a Mac, we have multiple user accounts that run iTunes. In our case, we selected one account on our kitchen iMac under which we added all of our music tracks and videos to the iTunes library. We can choose to sync various iOS devices to this iTunes library in order to load movies and music. For example, if we’re going on a road trip, we might chose to load a few movies and TV shows from the iTunes library to the iPad.

Since all of our music tracks and video files are stored on our NAS server, we configured iTunes to NOT copy files to the iTunes media folder when adding content to the library. The library still has an entry for the files of interest, but iTunes will leave the content of the file on the NAS server.

Adding a movie file is pretty simple: select File -> Add to library… and browse over to the NAS server to select the file of interest.  As long as the file is compatible with iTunes, you should see it appear in the Movies section of the library.

Streaming movies to Apple TV requires iTunes to be running on your network and Home Sharing to be enabled.  Once this is done, the Apple TV device will be able to browse and play all of the movies known to the iTunes library.  Although I’d rather not have to depend on iTunes to play media from our NAS server, in practice it hasn’t been much of an issue.

Using with non-Apple Devices

This whole back up business for DVDs got me into the mode of exploring which UPnP/DLNA server would work best for our other players such as a PS3 and Samsung Blu-Ray player.  The goal was to be able to play our movie collection and recorded shows from all of these devices.  Even the iPad has a selection of DLNA-compatible apps such as AirPlayer that enable one to stream content directly from a server without having to worry about iTunes.

Although I tried multiple UPnP/DLNA players including the built-in TwonkeyMedia player on the QNAP, few of them worked properly with our Samsung Blu-Ray player.  In the end, I had the most luck with installing MediaTomb on our Ubuntu-based home server system which in turn accesses the media content on the NAS server. How we customized the MediaTomb configuration to work with the Samsung Blu-Ray player will be the subject of another blog entry.

Although none of the UPnP compatible media players displays the movie metadata as well as the Apple TV, they are all able to play the content housed on our NAS server.  Chalk one up again for the quality of the proprietary Apple experience, but it’s also a win in the openness category for the open source-based and standards compliant UPnP/DLNA implementations.

Next Steps

After having addressed the DVD back up topic, I was ready to tackle how to automatically load into our NAS server and iTunes library TV shows and movies recorded through an EyeTV OTA dongle attached to our iMac.  My next step is to post a blog entry on that experience.

2 Responses to “A Rippin’ Good Time”

  1. [...] for transcoding work. I was already familiar with using the Handbrake GUI based on my recent DVD ripping project. This time around I also installed the HandBrakeCLI wrapper such that I could easily invoke [...]

  2. JoelW says:

    Thanks for posting this!

    This is exactly what I’ve been looking for online the last couple of hours.

Leave a Reply

preload preload preload