General The Excellent Media Player XBMC, AirPlay and the Lightning-HDMI adapter (tutorial)

Discussion in 'Jailbreaks and iOS Hacks' started by Menneisyys2, Mar 19, 2013.

  1. Menneisyys2, Mar 19, 2013
    Last edited: Mar 21, 2013

    Menneisyys2 macrumors 603

    Joined:
    Jun 7, 2011
    #1
    This article elaborates on making the (jailbreak-only) excellent multimedia player "XBMC" display its contents over AirPlay, thorugh an Apple TV 2 or 3. It also examines video playback over Apple's new Lightning-HDMI adapters.

    I've recommended the free but still excellent XBMC media player in several of my articles. While it certainly delivers somewhat lower performance with high-resolution videos than some other players, it's free and supports some video, audio and metadata formats very rarely supported by other players – if at all. For example, as has been pointed out in my "Lossless audio playback on iOS" article series, it's the only player to play back lossless and/or 24 bit WMA's.

    External TV / monitor / projector output has only been recently added to the iOS version of XBMC. In my previous article HERE at MR, I've explained how it should be used on previous-generation iDevices; that is, ones without the new Lightning adapter.

    As I'm preparing a full report of the new Lightning-HDMI adapter, I've decided to thorougly test its performance with XBMC, along with the wireless AirPlay, which the new, current 12-series XBMC does support. (Please see THIS MacRumors thread for my posts on some of my benchmark, latency etc. measurement results of the Lightning adapter.)

    Which XBMC version to go for?

    First and foremost, as with previous versions, not even the latest official, stable XBMC version, 12.1, does support high-resolution wired / AirPlay output. You WILL need to use THIS installer file. (It's the same file as the one recommended in my previous XBMC article dedicated to high-resolution local playback.) Transfer it to anywhere on your iDevice.

    Installing is simple. Basically, you'll want to install the official XBMC version from the http://mirrors.xbmc.org/apt/ios/ repository first, as is explained HERE, in section "1 Installing from Cydia". After installing, just start iFile (a GREAT jailbreak app well worth the $4) and tap the DEB installer file you downloaded first. In the pop-up menu shown, select "Installer" – the standard method of installing DEB installer files. (For example, I distribute the beta versions of the jailbreak tweaks I write as .DEB files too – see for example my iPhone 5 video camera enhancer posts HERE, also here at MR.)

    AirPlay support

    Note that XBMC's (current) AirPlay support is, technically, not mirroring, but still not native ATV-decoded video playback, unlike with the stock Videos app or most third-party AppStore video players supporting hardware-decoded playback. That is, it's not the ATV that decodes and renders the original video file, but the iDevice itself. This means the results won't be as good as with native ATV playback, one of the biggest advantages of AirPlay.

    Enabling AirPlay is explained HERE, in section "3.4 Resolutions iDevices can play and output". (See the right column of the chart.) Basically, you need to connect to the ATV2/3 and explicitly start mirroring. It's only by doing the latter that XBMC will let you play back videos on the ATV in full screen, without the, in this regard, much-much worse (non-fullscreen) mirroring mode. After this, just do exactly the same as with wired external output: go to System > System > Video Output and change the default Full Screen #1 to Full Screen #2 by tapping either arrows. (You'll only be able to do this if you, as explained above, connect to the ATV and enable mirroring before starting XBMC.) I've annotated this in the following screenshot:

    [​IMG]

    After waiting for some 10 seconds, the external screen comes alive, displaying whether you want to keep the new resolution. Assuming you've already switched to the, for external TV playback, recommended “Confluence” skin, just do a single-finger left swipe to highlight "Yes" and, then, tap the screen once, with one finger, to activate the button. If you fail to do this quickly, the old setting will remain. A shot of this:

    [​IMG]

    Unfortunately, as has been pointed out above, you WILL need to use the 12.0-Alpha7 version for any video over XGA with both AirPlay and wired Lightning adapter playback. (As you also needed to do with the old, wired, non-Lightning adapters.) Let me show you two examples of the official, current (12.1) and the high-res friendly Alpha7 versions, both showing the standard resolution chart I've created for benchmarking (downloadable video HERE):

    [​IMG]

    (official XBMC version. Click for the entire shot. As you can see, the extinction point is around 550-560 lines.)

    [​IMG]

    (Alpha7 version running on an iPad 3. Click for the entire shot. As you can see, the extinction point is around 700 lines.)

    While the latter is still not as good as that of the same Alpha7 outputting to an external display via the old (non-Lightning) VGA / HDMI adapters on previous iDevice models, it's still much better than the pretty bad resolution delivered by the official XBMC version. For the record: this is how Alpha7 renders 1080p videos over the old (non-Lightning) VGA / HDMI adapters:

    [​IMG]

    As you can see, the extinction point is exactly at 1080 columns, meaning the old, non-active, non-Lightning 30-pin adapter adapters indeed make full use of the available resolution, unlike AirPlay – or, for that matter, the new Lightning-HDMI adapter (see below).

    The Lightning adapter

    As has already been hinted on, over the Lightning-HDMI adapter, the resolution is considerably higher than with AirPlay. Also, as with AirPlay, the full screen is utilized. A screenshot of the settings screen, the Resolution list being set to the (default) maximum, that is, 1600*900:

    [​IMG]


    A shot of the iPhone 5 driving an external display through an Apple TV and wireless AirPlay:

    [​IMG]

    As you can see, the output resolution is exactly that of the iPad 3 using AirPlay (see above).

    Two shot of the effective resolution of the (wired) Lightning adapter:

    [​IMG]

    [​IMG]


    Note that, as has been explained above, it's still worse than true 1080p – again, the old, "passive" adapters.

    Other questions

    XBMC, as has pointed out several times in my articles, has clearly worse support for high-resolution playback than some AppStore players with hardware decoding support. This, unfortunately, also means there's absolutely no support for rendering more than 30 fps of 1080p videos. THIS 120 fps video shows the playback of my standard 1080p60 counter benchmark video (original video file HERE) on an iPad 4. As you can easily check by advancing the individual frames one-by-one, the playback speed is 30 fps only. This is independent of whether you use the hi-res friendly Alpha7 version or the official 12.1 one - both will play back any 30+ fps at 30 fps only.

    (As with all my 120 fps benchmark videos, I provide this - and the next - file as is, as a downloadable, non-YouTube one. It's only this way that you can easily advance, by one frame only at a time, to correctly evaluate the framerate of the playback - without having to install separate download tools / scripts to download video from YouTube first.)

    Lower-resolution 30+ fps videos, on the other hand, might be played back with more frames rendered in runtime. For example, the A6-based iDevices (currently, the iPhone 5 and iPad 4) play the "dumbed-down" version of my 60 fps benchmark video with around 50 fps. (Dumbed-down, in this case, means XGA resolution only and the computationally easier-to-decode MPEG-4 encoder.) Over the Lightning adapter, as with standard mirroring, XBMC's output will also be around 50 fps, as can also be seen in THIS 120 fps video shot of the benchmark test video.


    Should you just forget XBMC if you have a new-generation device?

    This all means you

    - will have inherently worse resolution over even the Lightning-HDMI adapter, let alone AirPlay to the Apple TV, and

    - you can't play back high-resolution ((720p) HD or Full HD) videos with more than 30 fps.

    These will NOT be a problem if you stick with AppStore players making direct use of the hardware decoder of the iDevice. Then, it'll be the Lightning adapter (or, if you use AirPlay, the Apple TV 3) that does the decoding, allowing for both true 1080p resolution and even true 60p playback.

    All in all, I in no way recommend XBMC if you plan to play back 1080p videos on external displays if you have an iDevice with the new Lightning connector. There simply isn't a way of driving the monitor at 1080p. Get a decent AppStore player instead for much higher (true) resolution and, with 30+ fps videos, the original framerate.

    If you have an earlier (non-Lightning) device, at least the resolution won't be hit if you use the VGA or HDMI adapter. (AirPlay playback will be as restricted as with new-generation, Lightning-based devices.) The framerate will, however, also be capped at 30 fps during 1080p playback, however. That is, if you have 30+ fps videos, you'll really want to use some other player even if you have, say, an iPhone 4S or an iPad 3.

    This can't be emphasized enough...

    Finally, don't forget: on both iPhones, iPod touch models and iPads, you will ALWAYS need the non-official Alpha7 release to properly output high-resolution video to AirPlay / wired displays – again, regardless of the connection type, let them be wireless AirPlay, the old 30-pin HDMI / VGA adapters or the new Lightning ones. If you don't need to do this and "only" have an iDevice that is not a Retina-screen iPad (currently, the iPad 3 and 4), you do NOT need to use this version. Then, you can safely stick with the official Cydia version; that is, currently, 12.1.

    Related discussion

    I've just posted a lot of XBMC-specific information, also elaborating on other players, in THIS MacRumors thread.
     
  2. BumpyFlatline macrumors 68030

    BumpyFlatline

    Joined:
    Apr 11, 2012
    #2
    Thanks for the in-depth article. Always well written, always enjoy reading it, and always appreciated! Thanks man! Good job.
     
  3. ivinz Suspended

    Joined:
    May 13, 2012
  4. guitarmandp macrumors 6502

    Joined:
    Sep 21, 2012
    #4
    So I'm confused. Will I get much better picture on my iPad 4 or iPad Mini if I use the lightning to HDMI connection over the airplay option?
     
  5. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #5
    You will - albeit not as good quality as with older 30-pin connectors (of course, not available on the iPad mini) or when using a player with support for native playback. In the latter case, it's the Lightning adapter that does the decoding, not the iPad, resulting in full 1080p resolution, not just 900p.
     
  6. Menneisyys2, Mar 21, 2013
    Last edited: Mar 21, 2013

    Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #6
    Additional iPad 4 info

    What about the iPad 4?

    Everything I've stated about the iPhone 5 above applies to the iPad 4 as well (tested with iOS version 6.1.2):

    - when using the app via the Lightning-HDMI adapter cable, the effective resolution is 1600*900, just like with the iPhone 5 – better than wireless AirPlay but, as has been explained above, definitely worse than the full 1080p resolution previously available with the old, 30-pin adapters.

    - with the official (12.1) version, you'll have low (XGA-)resolution video playback both onscreen and on any kind of external display. This means you absolutely must get and use Alpha7 instead of the official version.
     
  7. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #7
    To make my point and recommendation much clearer, I've completely rewritten the "Other questions" section (among other things, added a new "Should you just forget XBMC if you have a new-generation device?" section).

    Among other things, I've added a new benchmark video in the rewritten section to show the (lack of) performance of XBMC while playing back 1080p60 videos on an iPad 4.
     
  8. grinny11 macrumors regular

    Joined:
    Aug 12, 2008
    #8
    I've followed all your steps in the post and installed alpha7 but when I go to change the display mode to "Display 2" there is no #2. I can only select #1.

    I am on a iphone 4s with the hdmi adaptor. Any ideas?
     
  9. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #9
    Strange - it should work. Are you sure other apps do detect / use the HDMI adapter (including mirroring being on all the time)?
     
  10. grinny11, Apr 12, 2013
    Last edited: Apr 12, 2013

    grinny11 macrumors regular

    Joined:
    Aug 12, 2008
    #10
    You are right. When I try hulu and netflix, it won't video out to the second display, it just mirrors.

    When I use my iPad it displays fine, but not my iPhone 4s. I don't think I have any weird settings or cydia apps installed that would interfere. Any thoughts?

    UPDATE: It works in safe mode. Seems like something is blocking it from doing it in normal mode. I wonder what it could be.

    2nd Update: Cydia tweak NoAccSplash was causing the problem. Works perfect now.
     
  11. Ratatapa macrumors 6502a

    Joined:
    Apr 3, 2011
    #11
    Thanks for the Tip

    I should be able to get rid of my Apple TV2 and get the 3 for 1080 now!

    2 Questions

    1) What is the max resolution you could get from Mirroing and Ipad Mini to a Apple TV 3 (Airplay)


    2) I guess i should get a lightning connector + HDMI cable?
     
  12. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #12
    Are you absolutely sure? I've emphasized in the article that mirrored AirPlay is significantly worse than cabled connections.

    900p with native apps (max. 30p) and 1080p with native iOS videos.

    Well, you still shouldn't use XBMC for playback on the iPad. It's a bad choice on Lightning-based devices.
     
  13. Ratatapa macrumors 6502a

    Joined:
    Apr 3, 2011
    #13
    How come it's a bad choice?

    My goal would simply be get like 1-2 Apple Tv3, and plug it on my bedroom TV and stream movies from my XBMC ipad to watch there
     
  14. guitarmandp macrumors 6502

    Joined:
    Sep 21, 2012
    #14
    I spent $50 on one of those HDMI to Lightning cables and ended up returning it realizing I was better off with a jailbroken AppleTV 2.
     
  15. Ratatapa macrumors 6502a

    Joined:
    Apr 3, 2011
    #15
    I agree but i dont have 600$ for 2 apple tv 2 sadly :(
     
  16. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #16
    If the video you want to stream is iOS-native (e.g., mov / mp4 / m4v), you do NOT want to use XBMC for AirPlay streaming or HDMI output. Use any player capable of hardware decoding.
     
  17. Ratatapa macrumors 6502a

    Joined:
    Apr 3, 2011
    #17
    Oh just that?

    Yeah my goal is to stream like first channel, or MKV from my NAS or SportsDevil for Hockey
     
  18. guitarmandp macrumors 6502

    Joined:
    Sep 21, 2012
    #18
    My receiver has 4 HDMI inputs. The TiVo and bluray take up 2. The other 2 I use my roku and AppleTV

    I use a jailbroken appletv for things like 1channel, and icefilms, and I use my Roku's plex app for streaming MKV files

    If MKV files are what you want to stream I'd get the Roku 3
     
  19. Ratatapa macrumors 6502a

    Joined:
    Apr 3, 2011
    #19
    Nah i really want an Apple TV to stream 1 Chanel Navi, Sportsdevil and all

    But if not i'll wait see if i can cable my house and put a Rasberry Pie with XBMC instead
     
  20. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #20
    UPDATE (Apr/21/2013): I've re-made the benchmarks with the Elgato Game Capture HD, an RGB / HDMI capturer device, running the latest (Mac: 1.2.1) desktop software, using 1080p30 recording at the highest possible bitrate (30 Mbps). It's from these videos that I've grabbed some frames during the post processing.

    My aim was to provide you with a much more reliable set of benchmarks. So far, I couldn't directly digitize HDMI signals, the digitizers being either very expensive or crippled by not supporting progressive recording at the maximal native resolution of iDevices' output, 1920*1080 (Full HD). This is why I needed to use a digicam previously. Of course, it in no way can provide as good reliability as directly accessing the output HDMI signal and grabbing frames from them. With the recent 1080p upgrade of the Elgato Game Capture HD, 1080p recording was finally added. (Previously, only the significantly lower-quality 1080i was possible.) Needless to say, I've bitten the bullet and purchased the thing. From now on, I'll have a much easier time at presenting high-quality screen recordings from all my devices.

    First, a shot showing the digitizing and HDMI cable quality of the Elgato Game Capture HD while directly feeding the output of the resolution chart playback from my iPhone via the Lightning – HDMI adapter. I used hardware playback via the stock Videos player, which means it was the adaptor that did the decoding, not the iPhone. (Unlike with XBMC, which never utilizes the adapter's decoder, resulting in definitely lower image quality.) This means full quality – somehting impossible when the iDevice has to do the decoding, "thanks" to the limited throughput of the Lightning bus.

    [​IMG]

    As with all images in this update, click the thumbnail for the original-sized, full (large) framegrabs. On the thumbnail, I used two red lines to denote the two (both vertical and horizontal) Nyquist thresholds (Nyquist frequencies) and blue to denote the point where the black (all the nine of them) and white (all the eight of them) lines no longer can be distinguished from one another. (Please see THIS for more info on how this all is to be assessed.) It's impossible to have better resolution than the former. It's, however, the latter is the one that shows the true performance of a given player / configuration.

    In the above shot, the red and blue lines are at the same position as the effective resolution is the same as the maximal possible. As you can see, even the highest frequencies are properly rendered – there is no resolution drop.

    Following is an additional shot showing the Elgato Game Capture HD setup I used for most of these resolution chart framegrabs. If you examine the info bubble on the right, you see I used 1080p30 recording with the maximal possible recording quality:

    [​IMG]

    Now, let's examine the output results of XBMC.

    Official (non-Retina / non-high res TV output) XBMC release

    OK, let's go on with the offficial, non-Retina-enabled release of XBMC. Here's what it produces over cableless AirPlay, over the ATV:

    [​IMG]

    Here is the (cabled) Lightning connection result:

    [​IMG]

    As you can see, as it's the app's not supporting Retina resolution that severely reduces the effective resolution and not the transfer type (cabled vs. wireless), there's no measurable difference between the two results: both are equally bad. The effective resolution doesn't even come close to the native AirPlay resolution, let alone that of the Lightning adapter.

    The recommended Alpha 7 results

    As can be clear from above, if you plan to output your video to an external adapter, you must use the somewhat older Alpha 7 of XBMC, no matter what interface (wireless AirPlay; wired (new) Lightning or (old) HDMI / VGA adapters) you use.

    First, the worse of the two, AirPlay:


    [​IMG]

    Then, the (better) wired Lightning:

    [​IMG]

    Again, not even the latter does come close to the results produced by players making the Lightning adapter directly decode the video – or the old, "passive" 30-pin VGA / HDMI adapters.
     
  21. OutSpoken macrumors 6502a

    Joined:
    Jun 9, 2009
    Location:
    UK
    #21
    Man all this stuff is spinning my head:eek:

    My set up is simply an iPad 3 and hdmi cable hooked directly to my tv. All I do is stream 1channel, navi x etc. so far things have good, quality wise I know I'm not getting true HD content, but I put that down to the streamed format.

    No airplay involvement although I'm fiddling about trying to get audio airplayed through my bose speakers.

    My question is, is this setup advisable or can I improve it somehow? I have resisted getting an ATV so far as the less devices I have connected the better, plus the only one I would be interested in is the ATV2 for jailbreaking purposes but these are selling at a premium now on the secondhand market.
     
  22. Menneisyys2 thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #22
    iPad 3 (or anything sufficiently fast) + hdmi is the best for XBMC. There's no way of making it better - other than using truly hardware players if you have compatible media. (XBMC isn't as fast as, say, nPlayer or AVPlayerHD.)
     

Share This Page