Archive

Archive for the ‘AppleTV’ Category

HandBrake AppleTV Custom Presets and Pyramidal B-Frames

July 6th, 2010 No comments

As of this HandBrake svn commit and its corresponding Nightly Build, HandBrake is no longer overriding x264′s default of b-pyramid being on. Previously HandBrake would internally turn off b-pyramid by initializing it to 0 as it caused issues with the version of QuickTime that existed at that time. QuickTime has progressed and can handle b-pyramid just fine … except for the modified 7.0 version found in the AppleTV (much like weightp addressed prevously). At any rate using b-pyramid on the current AppleTV firmware will not only screw up your encodes … but will in fact freeze the AppleTV which only a restart can correct. So the way to fix this is by adding:

b-pyramid=none
to all of your custom presets advanced panel *if* you are using any HandBrake nightly after svn 3424 (NOTE: this does not affect the last public release of HandBrake 0.9.4 however in fact there is no reason not to add it if using 0.9.4 in the interest of “future proofing”). This also does not affect the AppleTV built in presets as that is also added in the commit. So only critical for your custom presets if using a version after 3424.

The advance custom string discussed in HandBrake AppleTV Hi Profile Setting: Part 2 has been changed accordingly to:

mixed-refs=1:b-adapt=2:b-pyramid=none:trellis=0:weightp=0:vbv-maxrate=5500:vbv-bufsize=5500

Categories: AppleTV, HandBrake Tags:

HandBrake AppleTV Hi Profile Setting: Part 2

June 30th, 2010 4 comments

This post is a follow up on a previous post HandBrake AppleTV Hi Profile Setting which includes what constant quality settings to use, etc. If not familiar with it maybe read it as this expands upon that post. A couple of pertinent facts:

1. As of AppleTV OS 3.0 extensive testing has shown that the AppleTV can handle weightb just fine.

2. As is said in the Edit comment from the previous post the AppleTV can not handle weightp. So weightp=0 MUST be included in any AppleTV custom preset. This is because the AppleTV as of this writing uses a modified version of QuickTime 7.0 which did not handle that option at all. Horrible blockiness and artifacts will show especially on fades.

3. When encoding High Definition sources (1080p, 720p) to a proper AppleTV preset extreme bitrate spikes can cause the AppleTV to drop frames. Therefore for safety Video Buffer Verifier (known as VBV) options need to be put in place as safeguards for just this event.

4.[Edit] As of this HandBrake svn commit and its corresponding Nightly Build, HandBrake is no longer overriding x264′s default of b-pyramid being on which I discuss here. Using b-pyramid on the current AppleTV firmware will not only screw up your encodes … but will in fact freeze the AppleTV which only a restart can correct (NOTE: this does not affect the last public release of HandBrake 0.9.4 however there is no downside to adding it to your custom presets as you update HandBrake you will be “future proof” as far as b-pyramid is concerned).

Trimming the fat off the option string (removing unnecessary options):

First we start off with the advanced options string from the first post:
ref=3:mixed-refs=1:bframes=3:me=hex:subq=7:b-adapt=2:8x8dct=1:weightb=0:trellis=0:weightp=0

As per item number one the current AppleTV can handle weightb just fine as well bframes=3, me=hex, subq=7 and 8x8dct are all default in hb’s x264 encoding library so we slim the options string down to:

mixed-refs=1:b-adapt=2:trellis=0:weightp=0

As per number 4 above regarding b-pyramid we want to make sure its turned off by adding:
b-pyramid=none
So we now have:
mixed-refs=1:b-adapt=2:b-pyramid=none:trellis=0:weightp=0

Now having said that as per number three above I am adding vbv parameters to control very high bitrate spikes which are:
vbv-maxrate=5500:vbv-bufsize=5500

This now results in a new advanced option string for the Hi Profile AppleTV preset which looks like this:
mixed-refs=1:b-adapt=2:b-pyramid=none:trellis=0:weightp=0:vbv-maxrate=5500:vbv-bufsize=5500

A few words about video buffer verifier (vbv) settings:
Some playback devices have published video buffer specs in which case setting the vbv is pretty easy. We would know the maximum rate and the size of the video buffer that can be filled. However as usual the AppleTV is a bit of a black box when it comes to any published specs and even the spec that are published are notoriously conservative. So these settings were determined through a lot of testing … and testing … and retesting using some of my toughest material. The idea is to put a cap on peak bitrates so that the AppleTV does not drop frames during tough scenes, yet keep the cap high enough so that for most material the encoder can use as much bitrate as it needs to keep quality up. Currently these have been bullet proof over many tests. For what its worth these vbv settings will allow a .75 second spike as high as 12,833 kbps. The AppleTV publishes a peak bitrate of 13,000 kbps though fails to mention on what duration that spike can be maintained. At any rate using the settings above with rf 22 causes most HD sources to stay well below that so the cap is never hit. But, if its needed its better to cap some bitrate than drop frames. Frankly the effect of the capped bitrate is all but indistinguishable when it happens.

In the end … I suggest that if you use these advanced options with this x264 option string in the HandBrake advanced panel you should be more than happy with your AppleTV encodes especially considering the file size / bitrate tradeoff for visual quality.

Categories: AppleTV, HandBrake Tags:

HandBrake AppleTV Hi Profile Setting

November 6th, 2009 15 comments

Edit: As of HandBrake 0.9.4 you must add weightp=0 to any encode to be used on the AppleTV as weightp will introduce horrible blockiness and artifacts especially during fades. The option string below has been modified accordingly.

So, for some time now I have been using my own custom HandBrake settings when encoding for the AppleTV. I have two eSata modded AppleTV’s and by and large these HandBrake settings have been stellar. They have also been used by other HandBrake testers and fervent users on stock AppleTv’s with much success. So I figured I would post them here now.

Having said that though, I suggest these settings be used with one of the snapshots posted on the HandBrake forums. HandBrake 0.9.3 is almost a year old and the current HandBrake snapshots produce much smaller files with better quality than the older 0.9.3 public release.

1. To start, pick the Apple > AppleTV preset in HandBrake which is built in.

2. Instead of the built in presets constant quality of RF 20, slide the slider up so you get RF 19.25 ( RF goes lower as your quality gets higher, much like in golf ). One word of warning: constant quality is determined based on the source file. 19.25 is proven for SD DVD. Now if you are doing HD sources like say a 720P or 1080p mkv or whatever, then try more like RF 23 or so as 19.25 on HD sources will give you a pretty high bitrate depending on the source file.

3. Click on the Advanced panel and paste this string into the ” Advanced Options String ” textbox at the bottom (note the crappy code box.. gotta work on it but functions just fine):

ref=3:mixed-refs=1:bframes=3:me=hex:subq=7:b-adapt=2:8x8dct=1:weightb=0:trellis=0:weightp=0

Thats about it.

You should find that you’re encodes are smaller, and the quality higher than the built in HandBrake preset.

Categories: AppleTV, HandBrake Tags:

AtvCloner 0.1.4 – Snow Leopard Compatible

August 29th, 2009 2 comments

AtvCloner 0.1.4 is now available which is compatible with Snow Leopard ( OS X 10.6) . You can find it here .

Categories: AppleTV, Software Tags:

AtvCloner 0.1.4b is NOT Snow Leopard Compatible

August 28th, 2009 No comments

AtvCloner 0.1.4b is NOT Snow Leopard Compatible. I am currently testing a new version that is compatible with both Leopard and Snow Leopard. I will update here when it is released.

Categories: AppleTV, Software Tags:

AtvCloner 0.1.4b Update

August 21st, 2009 No comments

This AtvCloner update addresses the dreaded error:

newfs_hfs: /dev/rdisk2s4: partition size not a multiple of 4K.
accompanied by a failure to properly format the media partition error which is typically seen on drives > 500GB (though may be experienced on smaller drives depending on firmware). You will notice a checkbox next to the “Prepare New Drive” Button for “Large Drive Formatting” ( sue me, I didn’t know what else to call it ). This uses an alternate method of drive formatting which cures my problem child and has worked on a couple other drives with this issue. The caveat is that it creates a media partition approximately 300 mb smaller than the standard AtvCloner method due to diskutil creating 128 mb of free space before and after the media partition. On the other hand it works ( so far ) for those problem drives. I will try to elaborate more later. You can get AtvCloner 0.1.4b here.

Categories: AppleTV, Software Tags:

AppleTV Drive Problem Child

August 18th, 2009 1 comment

Edit: This problem has been solved with AtvCloner 0.1.4b ! Am happily using the problem child and it works perfectly!

Of the six or so drives I have tested and used AtvCloner on, one drive is indeed my problem child. My Western Digital 750GB Studio Edition external triple interface drive has never worked quite right when attached to my atv whether using the old manual command line method or using AtvCloner. Now AtvCloner actually uses the same system utilities that the command line uses so it makes sense that the problem exists with either method. This issue has been experienced by others, I also heard about it in a response to
my eSata AppleTV Mod on the HandBrake forums.

The issue is that the last step of formatting the Media partition in hfs+ and the volume name “Media” fails with this error (note, it shows up manually in terminal with that method as well as in the activity window in AtvCloner) :

newfs_hfs: /dev/rdisk2s4: partition size not a multiple of 4K.

which means that step has failed. This results in a diskutil list like this:

/dev/disk2
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *698.6 Gi disk2
1: EFI 34.0 Mi disk2s1
2: Apple_Recovery 400.0 Mi disk2s2
3: Apple_HFS OSBoot 900.0 Mi disk2s3
4: Apple_HFS 697.3 Gi disk2s4

Note that partition index 4 is indeed Apple_HFS but is not correctly named “Media”. The resulting behavior when attached to the Atv is that the drive boots up just fine, works fine and in fact can update its atv software just fine, however a Factory Restore will fail. I have run this drive just fine, but it bugs me that it’s “not quite right” so using a bit of google-fu I found a few items of interest that point to the problem, however nothing as a workaround yet for these problem drives.

Update: A new version of AtvCloner is in testing, it seems to fix this problem as I have successfully restored my problem child and updated it successfully. Its a bit of a kludge but works. More to come …..

Categories: AppleTV, Software Tags:

AtvCloner 0.1.3 update

August 7th, 2009 No comments

Another quick minor update to AtvCloner which adds preferences to scan all disks at launch as well as alert you with a system beep and alert window when it is finished. This update also makes it easier to use as it remembers the last browsed directories instead of always defaulting to the DeskTop. AtvCloner 0.1.3 can be downloaded here.

Categories: AppleTV, Software Tags:

AtvCloner Updated

August 7th, 2009 Comments off

AtvCloner updated to version 0.1.2.

This minor update just adds “AtvCloner Website” and “AtvCloner User Guide” to the help menu so you can access these resources from within the app. See the change log to review changes.

Categories: AppleTV, Software Tags:

AtvCloner user guide available

August 6th, 2009 No comments

So, since there have been a few requests trickling in I figured I better put up some kind of a user guide for AtvCloner. It needs some work but should give the basics for anyone that is at all familiar with the old school command line methods for prepping a new drive for use with the AppleTV.

The guide is here but be sure to read the main AtvCloner page if you haven’t and intend to use it since it has a few things about it which are not in the user guide. As well I figured I should post a change log to help keep track of what I changed from rev to rev, even if it’s only for my own benefit.

Note: You can also access any pages via the pages bar at the top of the site.

Categories: AppleTV, Software Tags: