HD Player Pro receives hardware MKV and FLV playback (+ MKVTools / MkvToolnix quick track removal tutorial)

UPDATE (19-Sep-2012): as promised, I've thoroughly tested the brand new TV output support.

1.) with wired connections (that is, via the VGA or the HDMI connector – I didn't test the RGB / composite ones), TV out works with the following types of videos:

a.) ones that aren't supported by the iDevice's hardware decoder (they aren't H.264 videos) and, therefore, can be played only via software decoding,

b.) ones that are supported by the HW decoder AND they're ALSO in one of the iOS-friendly formats (MOV / MP4 / M4V)

c.) ones that can be hardware-decoded via  behind-the-scenes decoding (because they're MKV or FLV files with H.264 content inside) but you explicitly disable this.

As you may have already noticed, the common in all these is that the playback in none of these bullets involves  behind-the-scenes decoding – something needed for MKV (and/or FLV with this player and/or AVI with AVPlayer(HD)) playback on non-jailbroken devices.

However, upon trying to play back MKV files with HW decoding, only the first frame is shown (if at all) on the external screen and the playback is, therefore, useless. AVPlayer(HD) plays the same videos just fine using wired connections.

Note that the player seems to be using software decoding for Standard Definition videos; for example, the the well-known Suzumiya test video. With them, wired TV out works just fine (again, then, no behind-the-scenes decoding takes place), along with, of course, SSA subtitle rendering – something very hard to do with the hardware decoder. (By the way, in the original article, I haven't emphasized I really recommend this player to  anime folks wanting to see animated SSA subtitles in their full glory and not being able / not wanting to use XBMC, the other iOS player with full SSA support.)

2, via AirPlay (wireless playback to either the Apple TV or an AirPlay server like AirServer), there are two cases.

a.) If you don't enable mirroring (on the mirroring-capable iPad 2+ or iPhone 4S+), the, for behind-the-scenes decoding, very common “An error occurred while loading this content” is displayed on the screen – just like with, among other players, AVPlayer(HD). Of course, natively iDevice-friendly videos (MOV / MP4 / M4V) are streamed O.K.

b.) If you do enable mirroring, the player switches to streaming frames directly. This  somewhat reduces the frame-per-second but is still OK.

In this regard, AirPlay-based playback has exactly the same behaviour as AVPlayer(HD), but the latter, in addition to setting the resolution, can also zoom into the image - but can't make it fill the entire screen either.

All in all, there are some bugs in the player, external screen driving-wise; most importantly, the MKV / FLV hardware playback via wired connections (HDMI / VGA / etc.) Hope the developers fix it very soon - after all, the player has really great MKV hardware playback support. 

Original article follows:

Master your iPhone in one minute a day:

Sign up to iPhone Life's Tip of the Day Newsletter and we'll send you a tip each day to save time and get the most out of your iPhone or iPad.

HD Player Pro (AppStore link), a, before this update, pretty mediocre video player, has received a really great update today. An AppStore Update screenshot:

The most important of the news is hardware acceleration for  MKV and FLV files – something REALLY needed by video enthusiast. (After all, ripping one's Blu-ray (BD) discs is done to MKV's, being the most powerful container format and also the native output of the great BD ripper tool MakeMKV. See my past, MKV- and DVD/BD-ripping specific articles for more info on all this.)

Hardware acceleration is enabled by default (unlike, say, in AVPlayerHD, which, so far, has been the most recommended MKV player unless you need runtime DSP's like brightness / audio boost) but you can also disable it in Settings:

I've very thoroughly tested the MKV playback and found it excellent.

The good:

- no hiccups, stuttering visible with the MKV's I've tested it; in this regard, it's WAAAY superior to EC Player, RushPlayer and It's Playing – but not necessarily to  AVPlayerHD and, when it's fed by a non-DTS file, BUZZ Player.

- DTS audio is supported, unlike in BUZZ Player, another very strong MKV player let down by the complete lack of DTS playback in hardware accelerated mode

The bad:

Incompatible with MKV files containing the original BD subtitle streams (S_HDMV/PGS Blu-ray subtitles; see THIS for more info). An example of these files is HERE – it just crashes the player.

After removing these tracks, the MKV's do play – so will the MKV file above if you do the removal.

(A quick tutorial on track removal from MKV files:

MKVTools: “Edit Tracks” tab, select the subtracks, make sure “Remove Tracks” is selected; click Go:

(every important control annotated)

MkvToolnix: click “Add” to load the original MKV file; unselect the leading checkboxes of all  S_HDMV/PGS subtracks; click “Start Muxing” at the bottom left:

Note that, in my tests (late 2009 17” MBP with a 2.8 GHz C2D, ML, 8GB RAM, reading from a ~90 Mbyte/s internal hard disk in the CD bay and writing to an, as my MBP doesn't support SATA3, "only" ~150 Mbyte/s-to-write Vertex 4 SSD) the two apps finished removing the tracks in exactly the same time: 4m:6s.)

Note that, for some reason, the hardware playback of this file (along with the full Iron Sky rip) just doesn't work with any of the players I've tested (HD Player Pro, AVPlayerHD, BUZZ Player). I don't know the reason for this as the file has a h.264 stream with a 22 Mbps (that is, not too high) video bitrate so it should be played back w/o problems by the iPad 2/3 hardware) – will report back as soon as I find it out.

I'll later report on the TV output, A2DP support and other, new features. Note that, for the time being, I haven't updated the chart of my forthcoming Multimedia bible with info on the new version either.

Master your iPhone in one minute a day: Sign up here to get our FREE Tip of the Day delivered right to your inbox.

<p>Werner Ruotsalainen is an iOS and Java programming lecturer who is well-versed in programming, hacking, operating systems, and programming languages. Werner tries to generate unique articles on subjects not widely discussed. Some of his articles are highly technical and are intended for other programmers and coders.</p>
<p>Werner also is interested in photography and videography. He is a frequent contributor to not only mobile and computing publications, but also photo and video forums. He loves swimming, skiing, going to the gym, and using his iPads. English is one of several languages he speaks.</p>