View Full Version : AVC Playback on Apple TV
pspvideo9
21st March 2007, 21:12
It seems that Apple has updated its Apple TV specs page now that the Apple TV is shipping.
Here are the old specs from the Google Cache:
Video formats supported:
H.264 and protected H.264 (from iTunes Store):
640 by 480, 30 fps, LC version of Baseline Profile;
320 by 240, 30 fps, Baseline profile up to Level 1.3;
1280 by 720, 24 fps, Progressive Main Profile.
MPEG-4: 640 by 480, 30 fps, Simple Profile
Here are the new official specs [1]:
H.264 and protected H.264 (from iTunes Store): Up to 5 Mbps, Progressive Main Profile (CAVLC) with AAC-LC audio up to 160 Kbps (maximum resolution: 1280 by 720 pixels at 24 fps, 960 by 540 pixels at 30 fps)
iTunes Store purchased video: 320 by 240 pixels or 640 by 480 pixels
MPEG-4: Up to 3 Mbps, Simple Profile with AAC-LC audio up to 160 Kbps (maximum resolution: 720 by 432 pixels at 30 fps)
Since Apple says it supports H.264 Main Profile, it should support both CAVLC and CABAC by default so it is quite odd that they not only mention CAVLC but also mention it by itself.
Also what's up with the level support? Level 3.1 supports up to 1280x720 at 30 fps, so that would make the Apple TV's H.264 support somewhere between Levels 3 and 3.1.
Hopefully iTunes/QuickTime doesn't enforce these requirements when syncing/streaming to the Apple TV and hopefully the decoder in the hardware is a lot more powerful than these specs lead on.
I guess we'll have to wait and see until people start getting their boxes in the next couple days.
[1]: http://www.apple.com/appletv/specs.html
giandrea
21st March 2007, 22:56
Since Apple says it supports H.264 Main Profile, it should support both CAVLC and CABAC by default so it is quite odd that they not only mention CAVLC but also mention it by itself.
They probably mean that CABAC is too CPU heavy at HD resolution, and only CAVLC is supported.
Anyway I tried to encode a 720p clip with the option for Apple TV in QuickTime yesterday, and it indeed encoded an h264 clip at that resolution. I was a bit surprised! :P
foxyshadis
22nd March 2007, 02:39
HD with Main Profile isn't so bad, but SD with Baseline? ("Low Complexity" means "1 reference frame" for them.) That's the iPod profile. Am I missing something, or is Apple just totally screwing over its devotees yet again?
giandrea
22nd March 2007, 03:31
HD with Main Profile isn't so bad, but SD with Baseline? ("Low Complexity" means "1 reference frame" for them.) That's the iPod profile. Am I missing something, or is Apple just totally screwing over its devotees yet again?
I guess that if it can do 720p with Main Profile, it can even do SD with the same encoding options... The other formats are reported just to make the compatibility with the iPod Video evident.
cacepi
23rd March 2007, 03:23
I guess that if it can do 720p with Main Profile, it can even do SD with the same encoding options...
It does. I just ran a quick SD encode in Quicktime using the "Export to AppleTV" option, and h264_parse reports Main Profile, Level 3.1. (If I read the spec right, I _think_ that's what "level_idc: 31" means.) It's definitely Main Profile ("profile: 77"), though.
Other interesting tidbits: 2 reference frames, 1 b-frame per NAL unit, 170M color matrix (original was 709!) and audio is downsampled to 44,100 KHz.
meGUI's Quicktime profile + Level 3.1, basically?
giandrea
23rd March 2007, 14:05
It does. I just ran a quick SD encode in Quicktime using the "Export to AppleTV" option, and h264_parse reports Main Profile, Level 3.1. (If I read the spec right, I _think_ that's what "level_idc: 31" means.) It's definitely Main Profile ("profile: 77"), though.
Other interesting tidbits: 2 reference frames, 1 b-frame per NAL unit, 170M color matrix (original was 709!) and audio is downsampled to 44,100 KHz.
meGUI's Quicktime profile + Level 3.1, basically?
Did you notice the high number of SEI frames? Usually MP4box just reports 1 SEI frame for video stream, while it reports many SEI frames for any file I encode in QuickTime with the AppleTV option.
What can they be?
cacepi
23rd March 2007, 18:26
Did you notice the high number of SEI frames?
What can they be?
It honestly could be anything - SEI covers a lot - but I think it's crop information, because it padded my test encode to mod16 dimensions (480x360 -> 480x368).
Or not. Nearly every SEI shows "payload_type: 5 user_data_unregistered", so really could be anything.
bond
24th March 2007, 16:44
[i]Or not. Nearly every SEI shows "payload_type: 5 user_data_unregistered", so really could be anything.a crappy attempt to limit apple tv to only play videos created with quicktime?
cacepi
24th March 2007, 23:40
a crappy attempt to limit apple tv to only play videos created with quicktime?
I somehow doubt it, as it occurs a number of times in each file, and the payload is always the same; string is "...N..K...:......".
<speculation>Hints for streaming, maybe?</speculation>
bond
25th March 2007, 11:03
I somehow doubt it, as it occurs a number of times in each file, and the payload is always the same; string is "...N..K...:......".
<speculation>Hints for streaming, maybe?</speculation>i wonder what would that be not covered by the official standard in another way
pspvideo9
26th March 2007, 17:55
Well its now become pretty apparent why the playback specs on the Apple TV are so low.
Unlike the iPod, the Apple TV is NOT using an ASIC to decode AVC video. Most of the video decoding is being done in software. I doubt the machine (1.0GHz Intel Pentium M, 256MB RAM) has enough juice to do it all, so it must have some hardware acceleration from the GPU (NVidia GeForce Go 7300 64 MB).
To top it all off, Apple TV is running a stripped down version of Mac OS X, and it seems that the video playback is actually being done by a local copy of QuickTime. Which means the Apple TV probably has the same limited AVC implementation as the desktop versions of QuickTime.
agilpwc
27th March 2007, 01:44
I just got an Apple TV yesterday and got around to doing an encode of some 1280x720 content. I had to convert to 24fps and I used the following settings
--pass 2 --stats "%~n2.stats" --bitrate 3000 --keyint 150 --bframes 1 --b-rdo --direct auto --subme 6 --trellis 1 --analyse p8x8,b8x8,i4x4,p4x4 --me dia --threads auto --thread-input --progress --no-psnr --no-ssim --output
muxed with mp4box
And it transferred and played on Apple TV. Basically the same settings I use when I want to QT to able to play the video.
miklg21
27th March 2007, 06:30
I really want one of these AppleTv's, but I don't see any support for 5.1. When I found out the ATV was going to play H.264 I encoded a couple of different profiles of a movie to see what the ATV would play and what they would look like. If you guys are interested we can figure out a way of getting these movies to you so you can see what they look like.
Randi
27th March 2007, 12:29
you should check out this thread (http://forums.somethingawful.com/showthread.php?threadid=2391956&perpage=40&pagenumber=1) They managed to install perian, so everything that perian supports, works on iTV as well.
lexor
28th March 2007, 01:44
Also of note (as per ArsTechnica review) that just because your stuff plays in iTunes/Qt doesn't mean it will even sync to AppleTV, let alone play.
Consensus is that since it has Core1 (Dothan laptop core I think) in there, Apple limited the specs on video even lower (compared to iTunes abilities) to ensure smooth experience out of the box. Even some iPod safe vids skip.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.