FFMPEG settings for maximum quality h.264 video on AppleTV Gen 3

AppleTV Gen 3I believe I’m not the only person who has bought AppleTV Gen 3 and been pondering about the best way to convert the existing media collection to a format acceptable by the AppleTV. After some research & experimentation, here are my findings:

Video: AppleTV Gen 3 claims to support H.264 video bitrates of up to 25Mbits. My findings: While it has no problem playing back videos with bitrates up to 40Mbits (even encoded with the ffmpeg’s highest quality setting  of -crf 1), the buffering of the iTunes Home Sharing stream wasn’t adequate and the buffer was being exhausted every minute or so of the playback making it unwatchable.

Audio: AppleTV Gen 3 claims to support AAC stereo bitrates of up to 160Kbits. Suspiciously low, isn’t it? My findings: AAC 5.1 (6 channels) audio plays back ok on my TV at 640Kbits. AppleTV is just passing through the unencoded audio to the TV via HDMI, and TV is down-converting the audio to 2-channel stereo mode.

Continue reading

Updated fix for “Still waiting for root device” on OS X 10.8.2 Mountain Lion

Apple’s OS X Mountain Lion update to 10.8.2 has modified the IOAHCIFamily.kext once again, resulting in a failed boot with the “Still waiting for root device” error on the console. The previous fix won’t work, as well.

Here is the updated fix for 10.8.2’s version of IOAHCIFamily.kext. Don’t copy-paste everything into the Terminal at once, do it one line at a time. Pasting the whole code at once will result in the second half of the commands being used as your password at the first sudo command.

The following commands place a backup of the unmodified binary before patching it.

cd /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS
sudo mv IOAHCIBlockStorage IOAHCIBlockStorage.orig
sudo cp IOAHCIBlockStorage.orig IOAHCIBlockStorage
sudo /usr/bin/perl -pi -e 's|\x8b\x4a\x00\x00\xeb\x03|\x8b\x4a\x00\x00\xe8\x01|g' IOAHCIBlockStorage
sudo /usr/bin/perl -pi -e 's|\x74\x0e\x48\x8d\x3d\x72\x92\x00\x00|\xbf\xc8\x00\x00\x00\x90\x90\x90\x90|g' IOAHCIBlockStorage
sudo touch /System/Library/Extensions

Update: Updated fix for “Still waiting for root device” on OS X 10.8.3 Mountain Lion

This fix has been made possible due to countless hours spent by bcc9 from InsanelyMac forums reverse-engineering Apple’s work and his original script.

Building an Ivy Bridge Hackintosh with Gigabyte Z77X-UD5H and Intel i7-3770k

With Ivy Bridge based Apple computers and OS X 10.8 Mountain Lion out, it’s time to build an Ivy Bridge Hackintosh! Below is my walkthrough for building a capable workstation that can run both Windows and OS X. But first, meet the components of this build:

Gigabyte Z77X-UD5H-WB WIFIIntel Core i7-3770K Quad-Core Processor 3.5 GHz 6 MB Cache LGA 1155Cooler Master Hyper 212 EVO CPU Cooler with 120mm PWM FanCorsair Vengeance 16 GB (2x8GB) DDR3 1600MHz DIMM MemoryCrucial 256 GB m4 2.5-Inch Solid State Drive SATA 6Gb/sPowerColor ATI Radeon HD6850 1 GB DDR5 PCI-Express Video Card

Continue reading

Updated fix for “Still waiting for root device” on OS X 10.8.1 Mountain Lion

Apple’s yesterday update to 10.8.1 for OS X Mountain Lion again results in “Still waiting for root device” error during the next boot for Hackintosh owners. Moreover, the previous disk enumeration delay patch for IOAHCIBlockStorage.kext doesn’t work anymore as the kext has been changed in 10.8.1. Thankfully z0rglub from InsanelyMac forums has already published the proper hex strings for the 10.8.1 patch. The following commands place a backup of the unmodified binary before patching it.

cd /System/Library/Extensions/IOAHCIFamily.kext/Contents/PlugIns/IOAHCIBlockStorage.kext/Contents/MacOS
sudo mv IOAHCIBlockStorage IOAHCIBlockStorage.orig
sudo cp IOAHCIBlockStorage.orig IOAHCIBlockStorage
sudo /usr/bin/perl -pi -e 's|\xbb\x4b\x00\x00\xeb\x03|\xbb\x4b\x00\x00\xe8\x01|g' IOAHCIBlockStorage
sudo /usr/bin/perl -pi -e 's|\x74\x0e\x48\x8d\x3d\xb2\x91\x00\x00|\xbf\xc8\x00\x00\x00\x90\x90\x90\x90|g' IOAHCIBlockStorage
sudo touch /System/Library/Extensions

Update: This patch DOES NOT work for 10.8.2′s IOAHCIBlockStorage.kext Update 2: Updated fix for “Still waiting for root device” on OS X 10.8.2 Mountain Lion

This fix has been made possible due to countless hours spent by bcc9 from InsanelyMac forums reverse-engineering Apple’s work and his original script.