Media player devs: a viable way to re-enable AC-3? (Users: make 8player play AC-3!)

Discussion in 'iPad Apps' started by Menneisyys2, Dec 1, 2012.

  1. Menneisyys2, Dec 1, 2012
    Last edited: Dec 3, 2012

    macrumors 603

    Joined:
    Jun 7, 2011
    #1
    Today, I played with the just-released update of 8player (AppStore link; the free version is definitely worth giving a try, particularly if you're into UPnP), an excellent UPnP media player (and a not-so-decent local one).

    Upon tapping a direct camera AVCHD test file (as has been explained in several of my articles, they all contain AC-3 audio tracks), I've seen the following message:

    [​IMG]
    (as with all images in this article, click the thumbnail for the original shot!)

    I've tapped the FAQ button and what did I read (pay special attention to the annotated part)?

    [​IMG]

    Yes, you can, by adding one single file to the Documents directory manually via iTunes, re-enable AC-3!

    All you need to do, as a user, is indeed going HERE, downloading the single ZIP file linked there (currently, at version 1.0, from HERE) and copying it, via iTunes, to the same directory as you'd do with standard videos:

    [​IMG]
    (the ZIP is selected in the filelist)

    This made 8player play back the AC-3 (and other Dolby) audio tracks again.

    Needless to say, it works just fine without jailbreaking (above, you can see I've done this on a non-jailbreakable iPhone 5) and without using third-party apps like iExplorer – after all, all you need to do is putting a single file in the standard Documents (and not, say, Library) folder of the standard iTunes.

    I've tested the same add-on ZIP file with the apps (EC Player, It's Playing, BUZZ Player, HD Player Pro) listed in the previous screenshot. All of them had to remove AC-3 support (see THIS article for the background). Unfortunately, none of them support the ZIP file, while the majority of them is based on FFmpeg.

    Hope this changes in the future, (also) these players adding support for using external, non-embedded, user-added libraries to play back this essential audio format, whose lack of support caused by Dolby's extremely high licensing fee demands, has made iOS as a whole a lot less desirable for generic multimedia playback – now, I'm seriously considering getting a Nexus 10 or a Surface Pro (or even RT if its price drops) for my video playback needs because of not only Apple's restricting hardware playback, making absolutely flawless MKV playback impossible if you don't jailbreak, but also developers being forced to remove AC-3. I again recommend checking out the user reviews collected in my previous, dedicated article to see how acute this problem is and how much damage it has done to the entire platform.

    My recommendation to developers is as follows: do the same as the 8player developers and, by telling users to copy the external codecs manually to your app, give us back AC-3 support. Hopefully Dolby can't do anything with external libraries you don't actively distribute with (inside) your apps and/or, at last, reconsiders their licensing fee demands and comes up with ones that are actually payable. Say, $0.3...$1/copy sold, depending on the AppStore price of the app itself (for example, a dev selling a $5 player can surely pay $1 per copy for a license but a $2 player can't), without any additional, e.g. annual fees - that is, no absolutely unreal punishments like $25k/year for developers of players that don't even sell that many copies a year.

    UPDATE (03/Dec/2012): as is pointed out HERE, in both versions of 8player, the AC-3 track of iOS-native files (mov / mp4 / m4v) is only played back if you explicitly disable hardware acceleration by disabling (just switch off the switch at Settings > Players > Video Player > Native Player). This, of course, doesn't need to be done with non-native containers - MKV's, AVI's etc. - as they're always played back in software, without utilizing hardware acceleration, independent of the state of the switch.
     
  2. macrumors 6502

    Joined:
    Dec 19, 2007
    #2
    Just tried this and it works, this is a solution that every developer needs to use.
     
  3. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #3
    UPDATE (later, the same day): 1.) I've changed two screenshots in the original article, now, showing screenshots of the full (commercial) version instead of the free one, the first on my iPhone 5. Both the full and the free versions of 8player support the additional library.


    2.) I've talked to several iOS developers on implementing this kind of a dynamic and fully user-dependent support for dynamic decoding (read: it's highly possible your code doesn't need to, say, test for AC-3 audio tracks - you can delegate even this to the external library. In this case, the Dolby folks really cannot force you to rewrite your code.) The devs of GoodPlayer / PowerPlayer have already announced they look into the solution. Their original posts are HERE and HERE. The former post quotes a post from another user referring to my article. His other, related post replying to my article, recommending the same to devs as me, is HERE. Another post, asking to tell the It's Playing devs the same is HERE.
     
  4. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #4
    UPDATE (even later, the same day):

    1.) I've read thru the U.S. user reviews of 8player posted in November and December; that is, after the developer's removing built-in AC-3 support (but, again, leaving a “backdoor” by letting the user add an external, pre-compiled ZIP file, with the necessary codecs). About 60-70% of the new / updated reviews complain about the missing AC-3. (Some “only” about MKV's, AVI's previously playable. They also belong to this category – again, AC-3 is very commonly used in these two containers.) Again, this does show how acute the problem is. I've also created some screenshots of these complaints HERE, HERE, HERE, HERE and HERE.

    2.) As usual, don't forget to backup the IPA of the current version of the player and/or make sure you in no way update it. It's not known whether Apple removes the app and/or forces the developers to remove support for dynamic library loading. Shooting themselves [Apple] in the foot, I'd say, if they do remove the app. Completely rendering an entire mobile platform unable to play, in cases, the majority of common video formats will mean a lot of disgruntled iOS users either jailbreaking (so that they can use the non-castrated XBMC or RushPlayer+) or leaving the platform entirely for more free ones (Android is catching up very-very nicely hardware-wise (e.g., Nexus 10) and Windows 8 (Phone) / RT also has the potential) – and, of course, bad press.


    They [Apple] should try to negotiate between Dolby and the developers to avoid these people leaving the platform, explaining to Dolby the licensing fees – particularly the annual ones – they demand are just too much for 99% of the devs. The latter would surely ready to pay licensing feed tailored for the monetary realities of the AppStore – unlike the present ones.
     
  5. macrumors newbie

    Joined:
    Nov 15, 2012
    #5
    how can we reach apple ? I've already tried to email Dolby a couple of times . no response .
     
  6. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #6

    Well, if we mail major mediums and keep the subject discussed so Dolby, at last, after having realized their demands are just unrealistic, reconsiders their licensing fees?

    (Of course known, famous Apple fanboy tech blogs - the names are known to everyone with open eyes - won't really discuss the matter as they also know Apple's obeying Dolby's AppStore removal requests destroys the entire reputation of iOS. More fair ones will surely do.)
     
  7. macrumors 68000

    Joined:
    Oct 20, 2007
    #7
    (Continuing from that other thread)

    Does 8player play locally stored (on the iPhone) mp4's with AC3 audio? I ask 'cos I wasn't absolutely clear what you meant when you said "for playing them back locally, I don't recommend it".

    Ideally, I'd just like to bung any of my existing mp4's (remuxed from mkv's) that I use with my AppleTV on the iPhone (not streamed) with no separate collection needed.
     
  8. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #8
    Answered at http://forums.macrumors.com/showpost.php?p=16416180&postcount=5
     
  9. macrumors 68000

    Joined:
    Oct 20, 2007
    #9
  10. macrumors 68000

    Joined:
    Oct 20, 2007
    #10
    Strange, put the ffmpeg zip file on the phone via iTunes, tried a few different mp4's with ac3 audio that work fine with AvplayerHD, but alas no sound still. No "Attention" dialogue re: the decoder like in the original post either. Hmm.
     
  11. Menneisyys2, Dec 3, 2012
    Last edited: Dec 3, 2012

    thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #11
    Oops... I think I've made a mistake - I haven't tested both playback modes (accelerated vs. non-accelerated) with iOS-native files, only one (non-accelerated). It's only with software decoded mode that AC-3 is played back, not with hardware decoding. That is, MKV's etc. are always played back with audio. So will be MP4's if you explicitily disable acceleration (Settings > Players > Video Player > Native Player), but, then, 1080p playback will be stuttering, even on the iPhone 5 / iPad 4. (Lower-res videos are properly played back.)

    Sorry for the confusion. (Hope you've used the trial version and not purchased the non-free one...)

    I'll mail the dev about asking her to enable AC-3 also for HW playback. Hope she'll be able to do it before she's forced to remove external library support entirely.

    EDIT: added this info to the original article (see first post).
     
  12. macrumors 68000

    Joined:
    Oct 20, 2007
    #12
    D'oh! Bought the paid version :(

    Audio does indeed work if I disable native, but its stuttery as £&@$. Oh well, its only £3, and it may actually work as I hope in the future. Good idea editing your original post so no one else gets burned.
     
  13. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #13
    Mail sent.
     
  14. macrumors 68000

    Joined:
    Oct 20, 2007
    #14
    Cheers!
     
  15. Menneisyys2, Dec 3, 2012
    Last edited: Dec 3, 2012

    thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #15
    They have answered my mail, stating it's impossible to add AC3 support when using hardware decoding.

    Interestingly, the following players do support AC-3 in HW decoding mode:

    DirectPlayer: albeit it doesn't have an iPad-compliant version, it's free and supports AC-3 - an absolute must. See http://forums.macrumors.com/showthread.php?t=1499666 .

    AVPlayerHD: yup, you already knew this :)

    CineXPlayer HD: nevertheless, you shouldn't get this right now as it's still not updated for the iPhone 5's 16:9 screen and seems to have major problems with a lot of files; for example, my AC3 testfile at https://dl.dropbox.com/u/81986513/1...testfiles/m4v-with-ac3-startsWithKeyframe.m4v


    The following don't:
    8player Lite (tested 2.8; SW decoding mode does work. That is, previous versions of 8player didn't support AC3 playback in HW decoding mode either - it wasn't the new ZIP file that rendered it this combination non-working.)
    GoodPlayer (tested with 5.7; SW decoding mode does work)
    ProPlayer (the censored-out little bother of AVPlayerHD)

    EDIT: I've sent the 8player folks another mail, with the following content:

    Yup, I know MPMoviePlayerController itself doesn't play AC-3 (see e.g. my post at http://forums.macrumors.com/showpost.php?p=16419744&postcount=16 ), but some 3rd-party players did implement AC3 playback in HW playback mode. Some of these players: DirectPlayer, AVPlayer, CineXPlayer.

    See my dedicated post at http://forums.macrumors.com/showpost.php?p=16419679&postcount=15
     
  16. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #16
    I've also played with programmatically passing the above-linked AC3 video to MPMoviePlayerController, using the following code:


    MPMoviePlayerController* mp = [[MPMoviePlayerController alloc]
    initWithContentURL:[NSURL fileURLWithPath:fullPathToSelectedFile]];
    [mp.view setFrame:CGRectMake(64/2, 80, 1920/2, 1080/2)];
    [self.view addSubview:[mp view]];
    [mp play];


    (this is the same code I used in my true, non-scaling 1080p player. If you're interested in programming and/or the iPad-only player, I can copy my entire article here.)

    It doesn't play the sound - only with files with AAC tracks. That is, AVPlayerHD and the other players that do support AC3 playback in HW decoding mode must be doing some kind of magic in the background: e.g., extracting the audio track and decoding it in the app itself.
     
  17. macrumors 6502

    Joined:
    Dec 19, 2007
    #17
    directplayer is done for now. they have updated it to 1.1, so now you will be stuck either updating, deleting or having a constant 1 on app store
     
  18. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #18
    Yup, killed in no more than 6 days from initial release...
     
  19. Duff-Man02, Dec 7, 2012
    Last edited: Dec 7, 2012

    macrumors newbie

    Joined:
    Dec 7, 2012
    #19
    Bump for interest...
    My thought: can't I just open the .ipa and add the needed codecs? This works on Windows: if something is missing, just open the the program files and add what's necessary...
    Btw: iPhone 5 can play 1080p flawlessly without HW-acceleration. I could even watch other HD videos while the 1080p mkv was downloading. Just tested with .mp4 (300mb 3min), .ts(530MB, 4min) and .mkv (6GB, 1h40min) files. I used the app "Rockplayer2". But again: the app delivers no audio and the .zip thing from above doesn't seem to work; neither with rockplayer, nor with directplayer. Any reliable work-arounds yet?
     
  20. Menneisyys2, Dec 7, 2012
    Last edited: Dec 7, 2012

    thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #20
    Not with files using H.264 and a bitrate over 8-9 Mbps. I'm absolutely sure you'd have better, more fluent results if you remuxed your files (whenever possible - H.264 MKV's can be easily remuxed; TS files with presumably MPEG-2 video can't.)

    I'm not speaking of the laughably over-compressed Apple iTunes Store 1080p videos with their 2...3 Mbps. With them, SW rendering is much faster. No sane person would use that high a compression, though.

    BTW, speaking of Rockplayer2:

    1, are you sure it even makes use of the Retina screen of the iPhone 5? I've tested it on mine (with the Monsters test video: I REALLY recommend it for testing): it was pixelizated and, of course, stuttered visibly. It's a 10 Mbps MKV with DTS audio and is one of the major benchmark videos I use: http://www.auby.no/files/video_tests/h264_1080p_hp_4.1_10mbps_dts_unstyled_subs_monsters.mkv

    2, I'd say it has a H.264 decoder about 40% slower than that of, say, yaPlayer ( https://itunes.apple.com/app/yaplayer/id503098609?mt=8 ). The latter has one of the best decoders around, as has also been explained / mentioned in several of my past articles. I *really* recommend it if you really into 1080p software decoding. (Just compare how much more fluently it plays back the Monsters video than Rockplayer2!)
     
  21. Duff-Man02, Dec 8, 2012
    Last edited: Dec 8, 2012

    macrumors newbie

    Joined:
    Dec 7, 2012
    #21
    I didn't remux anything. I just downloaded a 1080p mkv movie and uploaded it on the iPhone. Anyway, I opted yesterday for another player. Directplayer, because Rockplayer couldn't switch audio/subtitle tracks. But it has iPhone 5 support. It shows everything in full screen.
    I just tested the Directplayer with a 12GB mkv. Average bitrate: around 11mbit/s. Works flawlessly with and without HW acceleration. This one could even play the audio, even though VLC says it's DTS. However, I can imagine that it'll drain the battery pretty fast if I watch the whole movie. A52 (aka ac3) still doesn't work.
     
  22. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #22
    Yup, it has a better H.264 codec than RockPlayer2 (see http://forums.macrumors.com/showthread.php?t=1499666 for more info). However, if you're seriously into 1080p MKV video watching, I'd get something even better; for example, yaPlayer or It's Playing.

    Most players, incl. RockPlayer2, are DTS-capable. Strange RockPlayer2 didn't play your DTS track - it should.

    It will, as all apps using CPU at 100%. This is why I recommend remuxing into iOS-native formats, where there would be no excess CPU usage at all.

    You're some days late - the initial version, which was censored out from AppStore three days ago, still did. (BTW, after the launch of the original player, I've even posted a quick "Hey, do get this player ASAP!" thread here to tell people to get version 1.0 as I knew Dolby would make Apple remove that player too. See http://forums.macrumors.com/showthread.php?t=1499666 for more info & a generic review if interested.)
     
  23. macrumors newbie

    Joined:
    Jun 3, 2012
    #23
    I download one app that do the job converting some .mkv to .mov. The apps: VIDEO DECK ... it is still support AC3 I think. But unfortunately, some features are missing:
    - no iPhone 5 screen support
    - cannot open file in other apps ... (I ask them to add this functionality), I think Apple has not detected AC3 on this apps, since it is considered as Video Converter apps not Media Player ...
     
  24. thread starter macrumors 603

    Joined:
    Jun 7, 2011
    #24
    Has it been censored out from the US and Finnish store? The original link ( https://itunes.apple.com/us/app/video-deck-multi-codec/id534963347?mt=8 ) is dead...
     
  25. macrumors newbie

    Joined:
    Dec 14, 2012
    #25
    Ac3 & ftp

    Hi Menneisyys2,

    You seem to have a very comprehensive knowledge of the capabilities of various iPhone streaming apps so I was wondering if you could help me...

    I require an app that can support MKV, AC3 & FTP streaming. So far I've been using AcePlayer but with the recent update it removes AC3 playback. I've also tried VM Player which I can recommend because it supports quality adjusted streaming when away from home. I see you suggest 8player with a quick fix but this option does not include FTP streaming. The only AppStore player claiming to use AC3 is CineXPlayer but as you have said they don't have native iPhone 5 res yet and I'm not 100% that it supports MKV.

    Can you suggest anything in between that I may have overlooked?

    Thanks!
     

Share This Page