iHTPC – A Mac mini Home Theatre PC

I had often fancied the idea of having a PC under my TV serving up Movies and Music but didn’t seriously consider it until recently.

Background

About 8 months ago I decided to upgrade my CRT based flat screen TV, replacing it with a Sony Bravia KDL-40W5500. At the same time I bought a large TV stand and a Sony Blu-Ray player.

Got home, ripped my current media set up to pieces made up of some quite old equipment (comprising a flat screen TV, Sky TV, a VHS Video player, a DVD player, a DVD+PVR, a Wii, a PS2 and a PS3 and a scart switcher and UHF signal booster), threw out the old stand, the TV, the VHS player, the DVD player and the PS2, the scart switcher and UHF booster and proceeded to set up my new entertainment centre.

It all went together perfectly. The TV has enough inputs for everything to plug straight into the back of the TV. I had my new entertainment centre set up. Sky TV and the PVR were now the runts of the litter so I upgraded these soon after to a Sky+ HD box.

The TV (and the PS3) both supported DLNA, and as I had a Linux box in the other room on which all my Music and ripped DVDs were sat, I set up a DLNA server on Linux to serve this media to my TV/PS3. I used MiniDLNA to achieve this.

This set up worked quite well, now I could watch and record and pause live TV in HD, watch bluray/DVD, play PS3 games in HD and play Wii games and be able to read the text on screen. Plus I could now watch any of my DVDs (at least the ones I had ripped so far) just using my remote control, no getting up to find the DVD from the huge bookcase in the other room. And more importantly I could play my Music through the TV whilst working.

The one thing that really bugged me about this set up is the Sony menu system. I don’t know who came up with that design, but as a user interface it is bloody awful. A piece of crap. The designer should be sacked.

During this time I was given a project to write an application for the iPhone and for this was given a Mac book, and was getting quite comfortable using the Mac after using a PC+windows for many many years.

It’s around this time I started looking at the Mac mini. I was initially thinking of getting some kind of Mac for myself purely for iPhone development, as I had in the past having had an iPhone since they first came out. But could never really justify the spend.

But the Mac mini’s form factor appealed to me, and I was beginning to think how perfectly it would sit in my new entertainment centre, and wouldn’t it be great if I could stick all my Movies and Music on it and hook it up to my TV. I also considered an Apple TV but quickly dismissed it as an option as it was too much of a closed system. I started to do some research into software that would run on it making it effectively turning it into a HTPC. Came across a few websites that described how to turn a Mac mini into an HTPC and what software would be required, and I was sold.

Buying the Mac Mini

So I proceeded to order a Mac mini. It happened to be just at the time they released the new version with Snow Leopard installed, which was Nice (or so I thought). I also did some research into the Mini-DVI and audio outputs.

Initially I considered a Mini-DVI to HDMI lead however this created one major issue for me. The Mini-DVI does not carry any audo, so the TV would not receive any sound. My TV does not have a separate “general” audio input, so the only option would be to run the audio to an AMP+speakers. However I did not like this idea, one thing I cannot stand is having to use multiple remote controls to switch from one device to another, and that is what I would have had to do when switching between say Sky+HD and HTPC, I would have to switch over the video source and then switch the audio source too.

If money was not an issue I could perhaps buy an expensive amp which includes HDMI switching and control it all through the AMP, but I didn’t want to go overboard on spend, and I am not sure where the Wii would fit into the equation being a non-HDMI device. Also I wasn’t (at this point) looking to upgrade the audio, the TV speakers were adequate. Plus this would still mean I needed an extra remote.

As my TV can double as a PC monitor, it has both VGA and audio inputs at the back to support this. So I went for the Mini-DVI to VGA lead and used a simple audio lead (jack-to-jack) for the audio. This works perfectly. The analogue audio from the HTPC is fed to the TV speakers when the PC input is selected.

Can’t say I have noticed a quality issue using VGA but I accept that in theory it cannot produce as good an image as Mini-DVI to HDMI would.

I also bought an Apple Bluetooth Keyboard and Bluetooth Mouse though these are not really part of the HTPC set up but are necessary when setting the thing up or using it as a PC/Internet Browser.

Software

From the various articles out there I knew that there were several bits of free software that would turn my Mac mini into some kind of HTPC.  The software I trialed was Boxee, XBMC and Plex.

I tried Boxee first.  I liked the features but was not over enthused at the user interface. I then tried XBMC.  Now this I liked, I liked very much, especially using the Mediastream skin.  It was almost perfect.  However so far I had been using keyboard and mouse to control it all.  Not very HTPC.

This is when I hit my first major issue.  The new Mac mini is shipped with Snow Leopard which, in Apple’s infinite wisdom, they broke (or enhanced or otherwise changed) their Apple remote control driver such that now, when an application takes over control of the Apple remote, it will react to the remote buttons, but so will the O/S this firing up Apples Front Row.  So that was no good at all.

Much searching of the internet into the problem wasn’t giving many results as Snow Leopard was new and so not many people had come across this specific issue.  So for a time, my HTPC project was kind of on-hold, as I had no working remote solution, and I didn’t really want to buy custom remote.  I just had to use keyboard and mouse for now.

It took me a while to figure out how to configure XBMC to get full benefits from it.  Trying to add Movies to XBMC and then importing those into the library,  it would not import anything.  It turns out that XBMC (and the Movie Database websites it uses) are very particular about how the movie file is named.  Specifically, the file name (minus punctuation) has to match exactly the name of the movie in the database.  So I spent the next few days renaming all my movie files to match the names given to them at themoviedb.org (the database I had chosen to use).

Another option is to create a .nfo file with the same name as the movie file that contains a link to the movie database entry for that particular movie.    I used a mixture of the two methods to make sure XBMC could import all my movies.

I also started to rip more of my DVD from the bookcase in the other room.  I marked each DVD case with a sticky label as each one was ripped so I could easily see which I still needed to do.  (I still have several 100 to rip).

A month or so later I noticed an announcement on the XMBC news ticker that there was a fix for the Snow Leopard remote issue.  The fix was to install a free driver kindly provided to the community by the developers of Remote Buddy (that was also affected by the Snow Leopard bug).  I installed this driver and bobs your uncle, the remote now worked and no more Front Row popping up.

I then looked at Remote Buddy itself, and it offered some nice features to the remote control that I decided to purchase a copy.  I can now launch XBMC or Plex or any other application for that matter, just using the Apple remote.  Brilliant.

I was having some instability issues with XBMC and was also looking at different skins as each skin handled the remote control in slightly different ways (in that some skins made all the options easily accessible even with a basic remote, other skins did not).    I also could not get things like the YouTube plug-ins to work properly.  Its at this time I tried and ultimately switched over to Plex.

Plex is a version of XBMC maintained separately.  I has a much more controlled release process and lacks some of the newer features of XBMC, but as a result I found it more stable.  In particular it has a whole host of working plug-ins, including YouTube, BBC iPlayer and C4’s player.

Plex wasn’t perfect though, it still crashed occasionally and it’s Mediastream skin was not as Apple remote friendly as the XMBC one.  One thing Plex did not support was .nfo files.  Plus the logic its scrapers used to picking a title from a list of matches is somewhat flawed.  It would for example, given a search for Highlander it find Highlander: The Source and Highlander and it picks Highlander: The Source!  When in fact there was an exact match to the search term in the results.  I was often having to hand edit scraped movies which was a pain.

I realised that the PS3 BD remote is a bluetooth remote, so I switched to using this with Remote Buddy to control XBMC / Plex.  This works much better in that there are many more buttons available, although remembering which button does was is a bit difficult.  The PS3 BD remote has one major major issue however, it EATS batteries when paired with the mac mini.  Why it does this I don’t know, when paired with the PS3 it does not eat batteries yet remains responsive, but on the Mac mini, it will consume 1 set of batteries in 24-48 hours, clearly not acceptable.

Fortunately Remote Buddy has an option to disconnect from the remote after a few minutes to preserve battery life.  This works but brings an additional problem, now when you come to use the remote you have to press a button then wait a few seconds (2s-10s-30s sometimes) before Remote Buddy responds.  So not perfect still.  Remote Control is still one aspect of the HTPC  to be ironed out.

A new release of XMBC came out at Christmas (XMBC 9.11: Camelot).  I decided to take another look at XMBC and installed it.  It seems a lot more stable and it’s scraper does a much better job.  It has a nice new default skin Confluence which works well for the most part.  Have not really played with the plug-ins side of it though, kind of got bored of having YouTube on the TV, though iPlayer and such would be nice, something to look at when I get around to it.

I have all my Music, TV Shows, DVD’s and some Blu-Ray rips at varying quality (still HD, but reduced bit rates to keep size down) all loaded into XBMC now.  This brings me on to my next purchase for the setup, a 1.5TB USB HD, which I used to store all my movies on.  My music is still stored on my Linux server, the iHTPC plays those from there.

Speakers

Recently my 5.1 PC speaker system started exhibiting a fault (a clicking noise) which I tracked down to being the dolby processor unit or the base box that comes with the speakers.  It only does it after its been running a while and then is intermittent.  It started to get annoying so I dismantled them and stuck in an old pair of stereo speakers I had lying around.

Whilst these speakers were out, I decided to try them on my TV.  I connected the headphone jack to the processor and they worked great, to a point.  The processor took the signal and send the low frequencies to the base box.  The sound was defiantly much richer that I got from the TV speakers.  However the annoying clicking sound was still there.  Sadly this speaker system is no longer available so buying an exact replacement wasn’t going to be an option.  I settled for a fairly cheap 5.1 speaker system that had some good reviews for sound quality, but lack any kind of processor unit, just a bass level dial on the back of the base box.  It did however support RCA audio connections which my TV provide RCA-Audio-Out at the back.

I have only connected the 3.1 speakers (left, right, center, bass box) but it works quite well, though I had to play around with the various volume settings to get some sensible control of the volume using the TV remote.  I had to set the speaker volume quite high, this gave me enough scope in volume control using the TV remote.  Unfortunately however, most that range is in the 0-10 volume range of my remote, then 11-20 then little extra volume change 21-100 whereas with speakers connected to the headphone or the TVs own speakers, the volume curve was flat.

Another issue I had is the level of bass I get now.  From the TV (Sky+HD and BluRay) at minimum setting it is just about right, but from the HTPC, there was just way too much bass from the sub woofer to allow any kind of volume to be used.  It was uncomfortable listening to.

This was not good.  My nice new richer sound watching TV has broken my HTPC set up.  I started to research a solution.  What I needed was an EQ for the Mac mini.  I first looked to see if XBMC has one (it doesn’t, the developers don’t feel its necessary, nor is there any open source EQ code available).  So I switched my attention over to a system wide EQ (OSX does not include one, unlike most windows sound drivers).  I came across Audio Hijack Pro.  This allows the audio output of an application to be Hijacked and optionally recorded.  The audio can be passed through a number of filters including an EQ.  With this software I was able to tone down the bass to a comfortable level so now I can crank up the volume and not loose slates off my roof.

What’s next?

Probably a better 5.1 speaker system, something with an amp and EQ and HDMI switcher though I am not really happy that I will have to delegate volume and input source switching to yet another remote control.

Whilst what I have now is not perfect, at least it is limited to 3 remote controls. The TV remote for input source switching, the Sky+HD remote for channel selected, PVR and volume control, and PS3 remote for HDTV control. So at the moment for the most part I use 1 or 2 remote controls depending if I am watching Sky+HD or another device (and a third to switch inputs). If I had a new remote that controlled volume, I would have to use 2 or 3 remote controls (though would not need a fourth to switch inputs).

My iHTPC remains a work in progress.

Links

Sony Bravia KDL40W5500 – http://www.sony.co.uk/product/t32-w-series/kdl-40w5500
Mac Mini – http://www.apple.com/macmini/
XBMC – http://www.xbmc.org/
Plex – http://www.plexapp.com/
Boxee – http://www.boxee.tv/
Remote Buddy – http://www.iospirit.com/
Audio Hijack Pro – http://www.rogueamoeba.com/audiohijackpro/
Remote Control – Sony Blu-Ray Disc Remote Control (PS3)

Costs

£778.00 MAC MINI (2.0GHz Core 2 Duo, 4GB Ram, 250GB HD, DVD+R/+RW)
+ Apple Wireless Mouse
+ Apple Wireless Keyboard
£ 18.74 Remote Buddy
£ 89.99 Seagate Expansion 1.5TB External USB Desktop Hard Drive
£ 21.08 Audio Hijack Pro
£ 49.99 5.1 speakers
£ 8.84 PS3 BD Remote
£ 2.79 Mini-DVI to VGA adapter

Grand Total: £969.43

3 Responses to iHTPC – A Mac mini Home Theatre PC

  1. Pingback: iHTPC – A Mac mini Home Theatre PC « Chicago Mac/PC Support

  2. scbond says:

    Actually, the KDL-40W5500 does have a separate audio connection for HDMI. The device using it has to be on HDMI 1. I’ts a bit of a work around as you have to convert the digital optical output from the Mac Mini to a coaxial composite connection (S-Video). I’ve done this for my new Mac Mini Server and tried it on my MacBook Pro as well but haven’t been able to get the sound to work. I’m going to call Sony to get some support on any possible configurations on the TV to get this working but so far I’ve heard it’s supposed to work automatically.

  3. Pingback: iHTPC – A Mac mini Home Theatre PC | chimac.net – Stuff worth knowing about

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s