Use Your Mac Mini as a Media Server Part 2

In the first part, I ran through the basics on how to connect and configure your Mac Mini as the heart of your entertainment center. In this next article in the series, I had been planning on going into detail on how to store your media files on a remote NFS share. However, one of the comments on the first article got my attention and it occurred to me that I didn’t really cover alternate video codecs at all. So, rather than launch into some fascinating list of iptables rules and Apple alias quirks, let’s look at third-party codecs.

Out of the box, QuickTime (the backend for FrontRow’s movie playing capabilities) only supports a few video formats. I’m not going to try to list them here, but the really big and common ones are H.264 and MPEG-4. However, a lot of video files are still encoded using DivX or Xvid. Also, if you’re extremely unlucky you may have a few old WMV-encoded files which you would like to play. You could just re-encode all of these files H.264 using a tool like FFmpegX. But it would be so much more convenient if you could simply play arbitrary video files in FrontRow. The solution is to run through and install the third-party codecs required to make all of this work.

Perian

Now the easiest solution (by far) is to just install the Perian codec. Perian is (self-described as) the Swiss Army knife of codecs. With Perian installed, you should be able to play everything from DivX/AC3 to FLV to VBR/MP3. It even handles playback of WMV files. Perian is open-source and can be downloaded here. A full list of the encodings supported by Perian is available at this page.

To install Perian, first download and mount the DMG. Then drag the LEGO brick file named “Perian.component” to the alias labeled “QuickTime”. Log out, then log back in and Perian should be installed. (if you get confused somewhere in those instructions, you can peruse the extensive, one and a half page README included in the DMG).

Perian is quite nice because everything “just works” right out of the box (or brick, in this case). The problem is that Perian provides somewhat sub-par quality compared to getting the codecs direct from the source. I experienced problems in frames with high motion. The motion appeared as if it was encoded progressive (with the actual “objects” on screen broken into horizontal lines), when the files had actually been deinterlaced in the encoding process. I didn’t have these problems with the same file and the actual third-party codecs. So, as nice as just using Perian would be, quality lovers will have to forego the convenience. (note, if you installed Perian at this point and now have decided not to use it, you must navigate to the /Library/QuickTime and remove the Perian.component file, otherwise replacement codecs will be screwed up)

Third-Party Codecs

More and more high-dev encoders are moving to H.264, because of its superior quality and compression ratio, but a lot of things are still on the proprietary codec, DivX. To gain QuickTime support (and hence, FrontRow) for DivX, we must download the DivX free codec from here. This is one of those unusual Mac applications which requires a stern bout with an installer, a license agreement, and a System Preferences add-on. When it’s finished, you will have to restart and it should have completed the installation for you (no drag-and-drop necessary). As you may have guessed from the site, you only received a trial version of the pro codec. This means that you won’t be able to encode DivX content after six months. However, the decoder should still work and this will allow you to play DivX files from within QuickTime more or less indefinitely.

Xvid in QuickTime is a little less ostentatiously supported than the DivX codec, however, it’s probably a little easier to deal with. First, download the Xdiv DMG from this link. Just like with Perian, you will have to mount the DMG and then do a little leg-work to make things happen. Open up “Macintosh HD” (or whatever you call your hard drive icon thingy on the desktop) and then open /Library/QuickTime. In there, you should see a few other .component “brick icons” which represent the other codecs you have installed. Drag the Xvid_Codec_….component file (again LEGO brick icon) into the QuickTime folder along with the other codec components. Log out, and then log back in and you should be able to play Xvid files in FrontRow.

WMV support is a bit painful, but not as painful as trying to get DivX working for the first time. The WMV codec is completely proprietary, but thankfully there is an implementation of the codec for QuickTime called “Flip4Mac”. It’s available at this page. Just like DivX, you’ll have to run an installer and will need to restart once it is completed. Also like DivX, Flip4Mac will install a (somewhat useless) System Preference page. However, once the installation is complete, you’ll be able to play those dreaded WMV files in QuickTime and FrontRow.

AC3

Some video files (usually Xvid) are encoded with AC3 audio streams. While it’s always fun to try and perform dialog and sound effects by yourself (or even better, with a group), it’s usually more satisfying to actually hear the sound-track recorded for the movie.

The codec for AC3 in QuickTime is available for download here and must be installed similarly to Xvid (by dragging the .component file to /Library/QuickTime and then logging out and logging back in). However, there are some unfortunate side-effects you should be aware of before you perform this step. Most importantly, it seems to break H.264 support in QuickTime. This is a killer for me, since I love watching H.264 encoded videos because of the higher quality. I would recommend that if you don’t absolutely need AC3 audio support, you leave this codec out and enjoy the perks of your H.264 files.

Conclusion

Hopefully, you should be able to use the information in this article to beef up the video playback support of your Mac Mini and improve your overall FrontRow experience. Stay tuned for part three, when we’ll finally get to all the boring NFS configuration and iptables hacks!

When not writing articles for How-To Geek, Mr Linux is coding in Java, Ruby, Bash, SQL and anything else which comes to mind. Mr Linux unfortunately cannot link to his blog. However, when the time is right he will use it as the means to control all thought and opinion.