Help - Search - Members - Calendar
Full Version: My Hackintosh AppleTV HTPC
InsanelyMac Forum > Apple World > Gadgets and Handheld Devices > Apple TV
munky
Hackintosh HTPC - The Next Generation!

So, following on from my old HTPC thread, recent developments with AppleTV etc have spurned me on to bigger and better things with regards my plans for HTPC niceness using Apple's solutions.

The aims:

- Playback of Movies, TV Shows, Music and Photos - preferably streamed from a centralised server

- (Scheduled) Recording of TV programmes

- DVD playback

- All from the Apple Remote


Overview of my solution:

- Server sits in cupboard, downloading video content, converting to MPEG4 / AAC and adding to local iTunes

- HTPC runs AppleTV OS and streams content from Server

- HTPC also runs DVD Player.app and EyeTV

- All controlled from the Apple Remote, thanks to twistedmelon.com's Mira software and Manta TR1 dongle


The hardware:

HTPC:

- JVC Widescreen (16:9) Standard Def TV - SCART/S-Video/Composite inputs only sad.gif

- CoolerMaster Cavalier 4 (CAV-T04-UWA) Silver HTPC case

- ECS 915GM mobo [Intel 915, GMA900, ALC665 audio, Gigabit LAN all working]

- Seagate 160Gb 5400rpm SATA2 HDD

- IDE DVD / CDRW Combo drive

- Intel Celeron D 3.06Ghz (SSE3)

- 2Gb DDR333 RAM (1Gb + 512Mb + 256Mb + 256Mb - whatever I had lying around wink.gif)

- External VGA-> S-Video/Composite + Flicker Fixer (capable of 1024x768)

- Freecom USB DVB-T Stick (EyeTV compatible)

- Manta TR-1 USB IR dongle from twistedmelon.com

- 802.11g wifi card


SERVER:

- Pentium 3 733Mhz

- 256Mb RAM

- 4Gb boot drive + 420Gb for data storage (160+160+100) - all IDE

- PCI SATA card for future expansion

- 802.11g wifi card



The software:

HTPC:

- JaS 10.4.7 (the newer kernels break sleep/wake on this machine)

- Apple's AppleTV OS (thanks to DiaboliK's Front Row Replacement package)

- Elgato's EyeTV 2.4

- Apple's DVD Player.app

- BHolland's IR remote emulation software, combined with some Mira-driven applescripts


SERVER:

- Windows XP SP2 (only because this machine has no SSE2 to run OS X)

- iTunes for Windows

- iPodifier

- Azuerus


The Hows, Whys and Wherefores:

Ok, so the whole HTPC thing is something i've been looking into for quite some time - before the OSx86 project even existed. Basically, I want to be able to download content (all free-to-distribute films and shows, obviously) from the internet, and somehow have a nice way to view that content on the living room TV. I also want to be able to record TV shows, preferably in a scheduled way (ie program it to record a show next week, and not have to remember when its on) and watch DVDs.

I've looked into various Windows-based solutions, and been frustrated with basically all of them. The critical point is the streaming - I want the media to be stored on a machine I can leave on 24/7 - this means hiding it under the stairs or in the garage. I also want to be able to stream to anywhere in the house - to my MacBook Pro, to my PC in the bedroom, or to the HTPC hooked to the TV in the living room. Every time I have tried this in the past i've ended up giving up because of jumpy, crappy video playback. I had almost given up hope, thinking that I needed 802.11n for this to be feasible.

However, I have learned a lot and am now proud to say I have my dream solution, and its all working over 'crappy old' 802.11g.

The hacking of the AppleTV software was the main driver for me to revisit this, and I must say i'm very glad I did.


Overview:

The server machine, outlined above, is running in the cupboard under the stairs, completely headless. Its job is threefold:

1) To act as a central repository for content.

2) To download new content.

3) To convert downloaded content into a format suitable for serving to the rest of the network, and automatically add it to the pool of available content.


The HTPC machine lives in the living room, connected to a TV. Its job is threefold:

1) Display content on demand on the TV

2) Record TV programmes to hard disk

3) Playback DVDs



Challenges:

- Content downloading aka Codec hell

- Streaming over 802.11g

- Backup / redundancy

- Switching between apps


1. Codec Hell

Content, by and large, is easy to come by. However, when you're dealing with content derived from internet sources such as torrent sites, you're at the mercy of whoever encoded it in the first place. Thanks to the way AVI acts as a container for Video and Audio codecs, and thanks to the bewildering array of such codecs out there, chances are that out of any 10 videos you download, only a couple of them will use the same combination of video and audio codecs.

Back in the days when I was still trying to do this stuff in Windows, I was installing codecs until I was blue in the face, only to discover that one particular movie or other would behave strangely - either colours would be wrong, or it would play too slowly, or the audio wouldnt sync, or the video would be upside down (!) or a myriad other problems.

I distinctly remember coming up with an 'Install Plan' for my HTPC which detailed three different versions of DivX, some versions of XviD, some other codec packs, utilities and tweaks, all to be installed in a particular and very precise order, to stop them breaking each other. I also remember that that approach only fixed it for only most - not all - of my content. There had to be a better way.

Wanting to move to an iTunes-based solution made me realise i'd need to bite the bullet and convert all my existing content to a standard format. This turned out to be the best idea I could have had, as it removed, in one fell swoop, the need for all these damn codecs, and gave me just one format to concentrate on. So I grabbed a copy of iSquint and set about converting everything to glorious H.264...

...Quack quack oops. H.264 needs significant CPU resources and time to encode. I had something in the order of a couple hundred gigs of video I wanted to convert, and while my Pentium D920 2.8Ghz hackintosh is no slouch, I did want to get it all done this century. So I opted instead for the crappier quality (but significantly faster to encode) MPEG4 option. I figured once you're viewing it on the TV, you're not going to notice. Well, I probably wont. I'm not an AV nut - I dont really care about uber-high quality, I just want to enjoy the movie. For audio I standardised on 128kbps AAC.

To automate the conversion of new content on my new media server, I have iPodifier set up to monitor two directories - one for incoming Movies, and one for incoming TV Shows. I get Azuerus to dump whatever i'm downloading into the relevant directory. iPodifier takes care of the rest - it picks up the video, converts to MPEG4 (or optionally H.264) and adds the converted video to the local iTunes library. Supersweet!


2) 802.11g Streaming

None of my content stutters or breaks while streaming to AppleTV running on the HTPC, even while the server machine is downloading at full pelt, and the CPU and disks are busy converting incoming video to MPEG4. Nothing i've tried before has managed it even when the CPU and network were otherwise idle. Nuff sed really - just amazing.


3) Backup / Redundancy

I had considered making the server machine use RAID-5 for redundancy. But I dont have any spare HDD space to sacrifice just now. The drives are all fairly new, and I wouldnt put anything on there that I couldnt replace. I may, however, revisit this in the future - either with Windows software RAID, or a PCI card.


4) Switching between AppleTV / DVD Player / EyeTV

Mira provides a nice, big, configurable menu which can be invoked with the menu button. I have it set up to give Front Row (really AppleTV), DVD Player and EyeTV options. All three apps are configured (in Mira) to quit if I hold down Menu. Thus, if I want to change app, I hold down menu to get back to desktop, click Menu once again, and select the relevant option.


Current Problems / Limitations / Issues / Ideas

There is very little thats 'wrong' with my setup, but here's my small list:

- the Mira applescripts cannot handle 'holding down' the up or down keys to scroll through a long list of movies - so that has to be done by repeat-clicking, which is a pain.

- cant wake the machine from sleep with the remote (no biggie - just hit the power button).

- the only audio out port which is working on the HTPC is on the front-panel. I need to figure out how to change it to work with the rear output, otherwise i have to keep plugging a long audio cable into the front every time I use the machine (my current workaround).

- I may think about removing the 'Quit' option from the appletv menu and installing the application launcher menu plugin to launch dvd player and eyetv that way. Not sure how that will compare to my current setup - I guess it'll be nicer cos it'll all be in the one interface.... hmmm.....

Other than that, this is killer-super-sweet. If I was doing it with a mac server and a real Mac Mini, it'd be even easier / better.

Anyone got any comments / thoughts?
U.C.
All I can say is WOW! That is quiet a accomplishment. As far as the Front Audio thing goes, you could solder the wire from the front audio port to another female audio port which is let out through the back.

1) Get a audio cable with Female Headphone port
2) Remove other end of wire
3) Solder wires (of above said audio cable) to appropriate parts of the front panel port
4) Put wire through computer and take it out a back hole in chassis
5) Enjoy

Low Level fix but will not need any programming/hacking knowledge.
aed0101
Great set-up!
What wifi card are you using?
I have converted movies on my main machine and moved them to HTPCīs iTunes. Without wifi it is a real pain in the arse to move new movies - I have to burn DVDs. And what about your key presets in Mira for EyeTV? Have the same problem while navigating the ATV menus, it looks like there is no solution at the moment.
munky
hey there - thanks for the kind words smile.gif

U.C. : I already sourced a minijack (headphone) socket and will dig out my soldering iron sometime soon wink.gif

aed: wifi card - cant remember, but i have to use some third party ralink driver thingy. might swap it for my netgear in my main hackintosh which is detected as Airport.

key presets in Eyetv - i downloaded them from the mira forums, here: http://in.mypocket.com/index.php?showtopic=1255&hl=EyeTV

hope this helps biggrin.gif


Update on the setup: iPodifier is having a few little issues.... annoyingly, it cant handle subdirectories, and a lot of torrents create subdirs (if there was a directory in the original torrent, i mean) when downloaded. im going to have to look into automating this somehow... maybe an azureus plugin to run a script on torrent completion? anyone have any ideas?

Also, iPodifier doesnt seem to have an option to delete the source video once its been converted, so I guess clearing out my incoming torrent directories is going to be manual for now.
munky
ok, im a moron - ipodifier does indeed have an option to delete after encoding.

weird thing is, most of the files i encode wont seem to stream to the appletv... i just get an empty progress bar. i wonder if its because i dont have the latest itunes installed on the appletv machine? i dont suppose a real appletv has itunes on there, but it probably has quicktime codecs etc which are installed with itunes7. will try that later.
aed0101
Thx for the link. The problem with EyeTV is completely solved and now I donīt need mouse. Everything is done via apple remote.
The only inconvenience Iīm facing is that when OS X starts, the default position of a mouse pointer is the top left corner and when for example Media Central is started the bar and pointer is visible. It happens with most full screen applications. The only solution I found at the moment is to program one of Apple remoteīs buttons to move mouse pointer down (Universal Access) when in Finder, but of course Iīd like it to move automatically at startup. Anybody has any proposal for that?
munky
solution for you:

install this http://osaxen.com/files/xtool1.1.html

then make an applescript which does this:

set ScreenWidth to item 1 of (screen resolution)
set ScreenHeight to item 2 of (screen resolution)
move mouse {ScreenWidth/2, ScreenHeight/2}

save that applescript as an application, and set it as a login item.

i havent tried this btw, but let me know how you get on wink.gif

also - i tried installing appletv on my MBP, which has the latest iTunes installed. the videos which failed to stream to the HTPC streamed fine to the MBP, so i guess installing latest iTunes on the HTPC will solve this problem.

just thought i'd note that for anyone else thinking of building their own AppleTV.
aed0101
Thx, but it seems it isnīt working.
munky
shame.

i have another problem. i installed iTunes 7.1.1 (the latest) and some of my videos still arent streaming to the HTPC machine, which is running 10.4.7. they stream fine to my MBP which is running 10.4.9.

but the htpc machine isnt able to sleep and wake reliably under any build other than 10.4.7. dammit!

i guess there must be some framework or quicktime component missing from 10.4.7.... hmmmm......
munky
tried copying over everything i could find in /System/Library/Quicktime and /System/Library/Frameworks/QuickTime.framework... result: appletv still works as before, but no change with streaming those files... dammit!
U.C.
I dont really know how streaming works and all that stuff, but can you just mount the servers HDD on your mac, and play movies off it on VLC or something.
aed0101
QUOTE (munky @ May 25 2007, 01:16 AM) *
tried copying over everything i could find in /System/Library/Quicktime and /System/Library/Frameworks/QuickTime.framework... result: appletv still works as before, but no change with streaming those files... dammit!

It seems I have the same problem on 10.4.8 . Some videos are not streamed.
munky
im going to see if i still have the appletvos DMG lying around and see if i can glean whats on there.

maybe it needs some 10.4.9 kext or framework...

aed: do you have a real intel mac you can test with also? so far, all my videos stream correctly to my MacBook Pro (10.4.9 _+ latest updates). please post any findings here - i will do likewise.
munky
LOL... ok so I solved the 'mystery'... and it has NOTHING to do with some mysterious framework from 10.4.9....

I realised the other main difference between my MBP and my HTPC is that on my MBP I installed the latest Perian beta.

The software im using to transcode the videos (iPodifier) appears not to touch the audio stream, so I guess some files just dont have AppleTV-compatible audio streams. Not compatible, that is, until you install Perian 1.0 Beta 4.

(I'd post a link but they politely ask people not to do so. However, googling for 'perian beta' will get you there wink.gif)

My HTPC now streams all my media without problems biggrin.gif
mac-mini
nice. my appleTV is my mac mini though i also use OS X on it
peekay_us
how about some pictures, munky?
munky
its not very pretty... but sure, i might at some point.

ive been ill in bed all this week, so not up to much beyond tinkering on my MBP... wink.gif
markusf
Interesting setup.

I just put together a MacBook without a screen as my HTPC.
Connected to a Sony Wega tube via S-video and using an optical cable for the audio.
I still haven't had time to get Front Row 2.0 to work on it.

My previous 1.25 eMac just didn't cut it on H.264, MKV and mp4 files.
munky
wow, i hope that macbook became headless by accident! wink.gif
markusf
QUOTE (munky @ May 29 2007, 09:49 AM) *
wow, i hope that macbook became headless by accident! wink.gif


I built it from scratch, so I purposely left out the screen.
Don't really need it for an HTMac and it reduces the cost.

Click to view attachment
munky
uh... where can you buy macbook parts to build one?!
mac-mini
i want to know too
markusf
QUOTE (munky @ May 30 2007, 01:22 AM) *
uh... where can you buy macbook parts to build one?!


eBay!
GoodOmens
Ehh I just use a hacked AppleTV with a external 1TB formated NAS attached directly to my router.

With NinoTV, ATVFiles, and automount I've got everything I need (AC3 passthough on avi files, can play VOBS/ISO's etc all over a wireless connection (802.11N). Works great!

I was having issues when I had the storage localy on my PC (since it was wireless from my pc ->router and wireless from router->atv) but breaking down and buying a NAS helped tons and everything ugly is hidden :-p
munky
im ditching this setup in favour of a modded xbox with xbmc. the htpc machine is now going to run MythTV (tho possibly in a VM thru parallels).

why? well, the external VGA->TV thing never gave me decent video playback (it always seemed bizarrely jerky).

that and the xbox has a decent frontend, and is frankly more advanced than the appletv frontend (eg tv shows by season number anyone? hello? apple??)
munky
funny, im kind of going back to this kind of setup.

i went down the route of the modded xbox running xbmc playing back content stored on a pair of usb drives connected to an Asus router running a modified linux-based firmware. this worked ok, but was a bit fiddly (i didnt like having to have my USB drives as ext3, plus the xbox was a noisy beast of a thing. i also had plans to incorporate some kind of TV recording / viewing (Freeview / DVB-T).

i sold the router and bought an AppleTV (actually, one slightly dodgy ebay transaction and one warranty call later, turned out that I got one for free from Apple... true story). i had high hopes for the AppleTV, which I expanded with a 750Gb USB drive (in sweet sweet HFS+) and a usb DVD-ROM. NitoTV provided the needful on the hacking front.

but the appletv annoyed the hell out of me. unless I rebooted it regularly, it would gradually slow down, the menus becoming less and less responsive. it also annoyed the hell out of me that the standard Take2 UI prioritises iTunes Store content way over local content. i concluded the box, while reasonably interesting, is just too lacking in CPU and RAM to be of any real use.

so my current plan is to put together a system based around intel's dual-core Atom board (little falls 2) running a vanilla 10.5.6 (any later and i'd have to turn off HyperThreading, by the looks of things). i plan to disable Finder, Spotlight, Dashboard and other non-essential stuff and have it boot into Front Row.

the ingredients so far:

Intel d945gclf2 mini-itx board (dual-core+hyperthreading Atom 1.6Ghz, GMA950, runs vanilla Leopard)
1-2Gb RAM (whatever i can find lying around)
1.5Tb HDD
slimline SATA DVD-ROM
nice little media case with enough room for a 3.5'' drive and a slimline optical
2x Freecom DVB-T USB sticks (recognised by EyeTV as Miglia TV Mini units)
boosted DVB-T aerial splitter
twistedmelon's Manta TR-1 infrared tranciever
Apple Remote
USB 802.11N dongle

software-wise:

EyeTV 3
Remote Buddy (for emulating the apple-shipped IR function for the apple remote)
Front Row
PyeTV (Front Row EyeTV integration)
VideoDrive (allows non-iTunes formats to be added to iTunes automagically)
rTorrent and SABNZBD+ for content goodness
EyeControl for remotely scheduling recordings etc

Im hoping this box will replace both the AppleTV and my current piece-of-poop Freeview box, and provide a reasonable living room experience for watching and recording TV, as well as watching downloaded content.

And im aware this box is no good for HD - i dont care. I'm not likely to get an HD tv anytime soon, and SD is plenty good enough for my purposes wink.gif
iHack13
what's the current state?
poofyhairguy
QUOTE (munky @ Aug 4 2009, 09:50 AM) *
funny, im kind of going back to this kind of setup.

i went down the route of the modded xbox running xbmc playing back content stored on a pair of usb drives connected to an Asus router running a modified linux-based firmware. this worked ok, but was a bit fiddly (i didnt like having to have my USB drives as ext3, plus the xbox was a noisy beast of a thing. i also had plans to incorporate some kind of TV recording / viewing (Freeview / DVB-T).

i sold the router and bought an AppleTV (actually, one slightly dodgy ebay transaction and one warranty call later, turned out that I got one for free from Apple... true story). i had high hopes for the AppleTV, which I expanded with a 750Gb USB drive (in sweet sweet HFS+) and a usb DVD-ROM. NitoTV provided the needful on the hacking front.

but the appletv annoyed the hell out of me. unless I rebooted it regularly, it would gradually slow down, the menus becoming less and less responsive. it also annoyed the hell out of me that the standard Take2 UI prioritises iTunes Store content way over local content. i concluded the box, while reasonably interesting, is just too lacking in CPU and RAM to be of any real use.

so my current plan is to put together a system based around intel's dual-core Atom board (little falls 2) running a vanilla 10.5.6 (any later and i'd have to turn off HyperThreading, by the looks of things). i plan to disable Finder, Spotlight, Dashboard and other non-essential stuff and have it boot into Front Row.

the ingredients so far:

Intel d945gclf2 mini-itx board (dual-core+hyperthreading Atom 1.6Ghz, GMA950, runs vanilla Leopard)
1-2Gb RAM (whatever i can find lying around)
1.5Tb HDD
slimline SATA DVD-ROM
nice little media case with enough room for a 3.5'' drive and a slimline optical
2x Freecom DVB-T USB sticks (recognised by EyeTV as Miglia TV Mini units)
boosted DVB-T aerial splitter
twistedmelon's Manta TR-1 infrared tranciever
Apple Remote
USB 802.11N dongle

software-wise:

EyeTV 3
Remote Buddy (for emulating the apple-shipped IR function for the apple remote)
Front Row
PyeTV (Front Row EyeTV integration)
VideoDrive (allows non-iTunes formats to be added to iTunes automagically)
rTorrent and SABNZBD+ for content goodness
EyeControl for remotely scheduling recordings etc

Im hoping this box will replace both the AppleTV and my current piece-of-poop Freeview box, and provide a reasonable living room experience for watching and recording TV, as well as watching downloaded content.

And im aware this box is no good for HD - i dont care. I'm not likely to get an HD tv anytime soon, and SD is plenty good enough for my purposes wink.gif


Just wanted to comment on this thread because I recently finished (for now ) my Hack HTPC.

For software I am using Plex. I find that if you mess with iTunes you are stuck with transcoding or re-encoding media for it to work (at worse quality than the original) as you have pointed out. Or messing with Perian (which lacks dual core or GPU assisted decoding).

With Plex since it uses FFMpeg as the engine, it can play 30 gb m2ts files ripping straight off a Blu Ray as long as you have enough cpu power (since its all CPU power with Plex) and you downconvert the audio (which can happen during the ripping process- OSX can't use HD audio). Plex can also play everything else (divx, mkvs, mp4 itunes files, etc.) and since it uses XBMC's media engine (its a fork of XBMC) it gives you an interface for you media far beyond what Frontrow/AppleTV provides IMHO (check out the Aeon skin if you don't believe me). Plex also has wonderful Logitech Harmony support so you can move past the limits of the Apple Remote (like dedicated buttons for Play, Stop, etc). Finally Plex's media server allows you to easily access Hulu, Youtube, Netflix Online, and news sites like CNN.com all from a remote.

I have a hackintosh server with 10 tbs of media on running 10.5.6. This allows me to share on my network all this data using AFP. This box also doubles as a Plexbox in my bedroom.

For my living room I have this:

http://forums.plexapp.com/index.php?/topic...ntosh-plex-box/

Currently with a dual core CPU clocked up to 2.8 ghz, but I am think of going quad core for the rare times I want to record something on EyeTV and play a HD movie in Plex.

As mentioned I also use EyeTV for my local TV channels with a HDhomerun. Plex can activate EyeTV and then re-activate itself when EyeTV is closed so its a completely remote controlled HTPC.

Plex uses iTunes as a music server- everything in my music library it can use. It evens plays with the awesome iTunes visualizations.

The only limit to my setup (compared to say iTunes/Frontrow) is that I cannot play back drm media- no buying movies off the Apple store and playing them on Plex or using those "digital copy" disks. I don't' really care about that because I am a huge and proud media pirate- the internet has provided me more than 700 HD movies, many of them not even on Blu Ray yet. (I pay for OSX though-I support companies I like, steal from the ones I don't).

I thank you very much for your advice so far in this thread. Some of the suggestions (such as the mouse thing) I have used directly on this box. If you feel there is anything I can help with, please let me know!

EDIT: Maybe one place I can help: the Mantra TR1 is a piece of junk, and so its the Mira software. Worst waste of my cash since I moved to OSX. It is MUCH better to build a IR port using a Macbook Pro IR board, and then use Remote Buddy to be Quarterback for the signals. Here is a guide of how to build one:

http://photos.pottebaum.com/gallery/7075206_LwKc4

A real Mac IR port is much more responsive, and does not force you to use Mira (which eats RAM and CPU more than any simple program should).
munky
hey there

thanks for the tip... the manta IR thing is actually pissing me off right now, will look into this MBP IR thing.

one thing thats really driving me insane is that the onboard S-Video output doesnt work under OS X, so I have to use a crappy external VGA to Composite box, which gives horrible tearing artefacts on any horizontal movement. Wish someone who knew Natit could hack up a working TV-Out solution for the D945GCLF2. sad.gif

EDIT: Plea for help... http://www.insanelymac.com/forum/index.php?showtopic=192695
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.