Posts: 7
Joined: Feb 2008
Reputation:
0
So, XBMC on the Apple TV can handle 720p (1280x720) up to 4 Mbps (using h.264)? From Apple's website, the max bit rate for the device is 720p @ 5 Mbps.
I'm encoding DVD content using Handbrake (on my Mac) and haven't done HD content yet.
Now it may depend on the h.264 codec used to to encode the video?
I see a great future for XBMC on the Apple TV if it can handle 720p (1280x720) @ 4 Mbps.
Posts: 7
Joined: Feb 2008
Reputation:
0
My primary gripe about the Apple TV has been lack of DivX support. Yeah, I've used patchstick and installed Perian but then I had to use the ATV Fooler script to encapsulate the DivX file so it could be imported into iTunes and later synced.
I've since gone back to using a non patched Apple TV and now encoding my content to H.264. I like managing my content in iTunes.
However, I'm very excited about XBMC for the Apple TV and have to create another patchstick and give it a try.
Posts: 2
Joined: Sep 2008
Reputation:
0
Hey everybody,
My two cents regarding the bitrate et al. I have alot of 720p movies in high profile which will make the ATV vomit. I always reencode my movies to a setting that works really nice for me. The ATV supports H.264 main profile and if I'm not mistaken, main profile allows for peaks pf up to 14 MBps. In theory. I reencode using ffmpeg @ around 5500 kbps with a max rate of 6500 into a MPEG-4 container. It works like a friggin charm. Higher rates may work - I have used a peak of 7500 without problems. I'm sure you can go higher, but you really won't see any difference IMHO.
For those interested, I made a small bash script that converts the movie in question. The FFMPEG command in it is as follows;
ffmpeg -y -i INPUTMOVIE.mkv -threads 4 -s 1280x720 -aspect 1280:720 -r ntsc-film -vcodec libx264 -g 150 -qmin 8 -b 5500k -level 31 -loop 1 -sc_threshold 40 -partp4x4 1 -rc_eq 'blurCplx^(1-qComp)' -refs 2 -qmax 51 -maxrate 6500k -bf 1 -keyint_min 40 -async 50 -acodec libfaac -ar 48000 -ac 2 -ab 128k OUTPUTMOVIE.mp4
Please adjust the size setting - alot of movies are 1280x544 etc. Also, see if your source is PAL or NTSC and change the "-r" accordingly. The command line is the same one that the Mac app VisualHub uses - with some small tweaks. Try it out at let me knwo how it works out for you! Also, the sound bitrate is set to 128 in this example. 160 kbps will work aswell. Maybe 192, but I've had some problems with that setting.
Cheers.
Posts: 2
Joined: Nov 2008
Reputation:
0
To change the MKV container to TS without re-encoding the h.264 I use a tool called tsMuxer. This tool normaly runs on Windows, but I use Darwine to run in on OS X. It is very fast, around 2 minutes for a 1 GB MKV file.
The resulting TS file plays fine on Apple TV. Also I noticed that when the container is MKV and audio track is DTS, the DTS does not play.
The same movie in a TS container will play DTS on the Apple TV.
Now if the H.264 is high-profile even ina TS container the ATV cannot play it correctly. So I guess the bitrate has to be reduced to 5500 kbps.
I have not tried tsMuxer yet to do this, but looks like it is much faster than the other tool I tried (visual hub, handbrake) even running in Darwine.
Posts: 38
Joined: Nov 2008
Reputation:
0
It's not just the bit rate, it's the profile level as well. XBMC uses straight CPU power to decode h.264 streams so it's going to be jerkier than the Quicktime decoding done by the AppleTV. Unfortunately there is like this strange voodoo surrounding what exactly the AppleTV considers an acceptable h.264 stream. We've tried demuxing the streams and hacking the raw h264 to say that it's main profile instead of high profile but..... that tricky apple knows it can't play it and won't even show it in the video list.
As for XBMC, it shows the file but the FPS suffers greatly. The prospect for using the GPU ala Quicktime is dismal as it's not open source and it would have to be reverse engineered. I'm not saying it's impossible, as a matter of fact if anyone can do it, it's probably the brilliant people that work on this project.
I've been everywhere however looking for a way to avoid the overnight re-encodes using ffmpeg or visualhub.