UPDATE (08/20/2012): as far as the latest OS X version (10.8 Mountain Lion; ML for short) is concerned, I have some bad news.
Unfortunately, even the latest, recently-released (0.17) version of Subler requires the now-abandoned Perian for both DTS and AC3 to AAC conversion, independent of the number of channels etc. of the target AAC. (No such problems with MKV's purely with AAC / MP3 tracks like THIS; they're properly remuxed).
There's a dedicated thread on this HERE. Another one, with my posts, is HERE.
All in all, if you have Mountain Lion, do want to remux but don't want to install Perian because of its side-effects, only partial ML-compatibility and now-abandoned status, you'll need to choose something else than Subler.
Original article follows:
MKV, because of its being both open and very flexible, is a highly popular video container format today; this is why iOS forums are full of discussions of using, playing it (see for example THIS, new thread). Unfortunately, as has already pointed out in several of my articles, it can't be played back on iDevices natively; that is, with hardware-assisted decoding.
Software-only decoding in third-party video players is useless over 720p resolutions (for example, at 1080p), no matter what some people say. This is why, as has been explained in my previous article on MKV handling and playback, you either convert the container to the already iOS-compatible MP4 / M4V / MOV (these are interchangeable; from now, I refer to them as “m4v” for simplicity) or jailbreak and use players (currently, XBMC or RushPlayer+ (quick review of the latter HERE)) that, not being constrained by Apple's very strict (and, in this case (too), absolutely unnecessary) restrictions, can utilize the hardware decoder to correctly decode the video. Using third-party players on non-jailbroken devices, currently, is not really the way to go: even, for MKV playback, the most properly optimized player, EC Player, exhibits really nasty artefacts (video freezes for about 0.5 second every about 11 sec).
There's (still) no jailbreak for the iPad 3 (or in case you won't want to use it it's released), so, we're stuck with, currently, the only viable way of playing back MKV's: converting (from now on, I use the official term “remuxing” to denote it's basically only the container that is changed, but in no way the video stream itself) them to M4V's first. Fortunately, it's way easier and faster than many would think.
Let's start with the easiest, free approach that can handle most of the input videos.
I've discussed the (Mac OS X-only) Subler in several of my articles (the first one is HERE). In them, for the compatibility problems I'll soon describe, I've only discussed its excellent subtitle addition capabilities. However, in a full MKV -> M4V roundup, it should be discussed too.
First, it's also a first-class MKV -> M4V converter if you know its limitations and how it compares to the other remuxer tools.
1.1 First the advantages:
- just like avidemux, it does convert both AC3 and DTS soundtracks (both 5.1 ones) to the both iTunes- (which doesn't play AC3 tracks) and iOS-friendly (stereo) AAC format, and unlike several even commercial tools like the MKV remuxer in Playback or the desktop converter of Sub Video Player.
- it lets for changing the H.264 level of the videos to a value already accepted by iTunes, should you want to play it back in the stock Videos app delivered on your iDevice, as opposed to a third-party player. It's not only able to do this during the MKV > M4V remuxing, but with already-existing M4V files as well!
- it even has a command-line interface, making it possible to do batch conversations. An example: you let it remux an entire directory of MKV files in the morning, and, some hours later, it's finished. No need to open / save each MKV manually!
1.2 The disadvantage
In my tests, Subler refused to open some (not many), huge (slightly over 20 Gbytes) 1080p MKV videos (23.976 fps/16 Mbps/ 1920x1078/x264/2pass/L4.1). I had no such problems with avidemux at all: it happily opened the file and converted it to M4V, also converting the originally AC3 5.1 audio track to AAC. (Of course, then, I still needed to add the subtitle track(s) manually – a completely unnecessary step with a conversion entirely done by Subler.)
First, you will need to check the "Convert AC-3 audio to AAC" box in Preferences > Audio if you want (originally) AC3 soundtracks to be played by, among other things, iTunes on the desktop:
(If you forget to force the app to convert AC3 to AAC audio, it'll leave AC3 track(s) in the target M4V file, rendering the given track (or the entire video) unplayable. While some users have recommended (see e.g. evoshr...@gmail.com's comment on Jul 22, 2011 HERE), this default setting (always force AAC transcoding) still hasn't made its way to Subler.)
In addition to this, the most important setting you'll need to pay attention to is the first (but not the second!) 64-bit checkbox, 64 bits chunk offset, upon saving. (This dialog isn't shown when you just edit (subtitle addition, H.264 level change etc.) an already-m4v source file.) If you leave it unchecked, remuxed files over 4Gbyte will be unreadable by any players. (If you remux smaller files, you don't need to check this checkbox.)
(the checkbox is annotated by a red rectangle. Note that the "File Format" drop-down list can safely stay unaltered. I couldn't find any difference between the default setting ("Video-MPEG4") and the other video-specific ("Movie-MPEG4"): videos created with both settings could be read and edited by Quicktime 7, played back by VLC, iTunes and the Videos player on the iPad. Both could also be synchronized in the traditional iTunes way (making sure, of course, that the H.264 level doesn't exceed 4.1 (see below!))
Otherwise, converting MKV's to M4V's is very straightforward. You open the MKV file (File / Open), click “Add” (after, possibly, de-selecting for example the unnecessary subtitle or audio tracks you won't need – you can't do the latter with subtitles!).
After this, it's worth clicking the video track in the upper list if you want to play the video back in the stock Videos app on your iDevice and not in a third-party one. (iTunes refuses synchronizing anything over level 4.1.) If you see anything larger than 4.1 (4.2, 5.1 etc.) in the bottommost “H.264 Video Profile / Level” drop-down list, feel free to set it to 3.1 or 4.1 to enable synchronization:
(Make sure you select the video stream and nothing else for the drop-down list (annotated by a red rectangle above) to become visible AND editable! It'll be the uppermost item, as you can also see in the above screenshot.)
Again, this can be done to already-existing M4V files which have too large a level to be successfully synchronized by iTunes to your iDevice. Actually, using Subler to “patch” an existing “over-leveled” m4v file is much-MUCH faster and more reliable than the traditional, old ways explained in my dedicated article.
Note that, if in the file list it doesn't display a meaningful name in the second column, feel free to provide one to avoid not seeing any name in runtime.
1.4 All in all,
Subler's MKV conversion capabilities are fantastic. It provides a basically some-clicks only approach to convert entire MKV's with all(!) the sound- and subtitle tracks in them. With the previous, avidemux-based conversion, if you did need the subtitles, you had to spend a lot more time on the subtitle extraction from the MKV source (iMkvExtract) and adding to the M4V target (with Subler). In addition, it's REALLY fast. And free!
You just need to be aware of its very few shortcomings (the inability to open some MKV's) to know when to switch back to avidemux (and, if you also need to include subtitles in the m4v file, iMkvExtract and Subler).
2. Yazsoft Playback
Playback is a commercial (albeit not very pricey) UPnP server with built-in MKV -> M4V remuxing capabilities.
I've thoroughly tested it and compared to its compatibility to the avidemux-based approach. Unfortunately, while Playback excels in simple batch conversions (you just add all the MKV files you want to convert and, then, start the remuxing), it in no way transfers subtitles to the target files and its compatibility rate is clearly worse than that of avidemux – for example, of the traditional MKV test suite, it couldn't convert Harry Potter, Monsters and Planet (unlike avidemux). In addition, it's slightly (about 5%) slower.
All in all, I do NOT recommend it.
3. Sub Video Player
Sub Video Player is a (comparatively) expensive ($5), long-abandoned iPad video player. (Actually, when I contacted them – several times as a customer having paid full price for their app – last Summer, I haven't received ANY answer. The player hasn't received any updates since Autumn 2010 either.) It has a desktop component, which itself is a (disguised) MKV > M4V remuxer. It remuxes into two files: one for the audio+video combined (this is a plain M4V file and, therefore, can be directly rendered by the hardware decoder) and the other is a subtitle file.
I in no way recommend this player. It just doesn't handle even the most basic conversion needs; for example, DTS audio tracks (a HUGE omission!). In addition, its advertised ASS (the most advanced, animated, Karaoke-capable subtitle format) subtitle compatibility is REALLY bad. For example, the subtitle severely lagged while playing back the traditional, with the app's own desktop converter converted ASS tester video Suzumiya. Again: don't even think of paying a single penny for this useless app!
4. GOTSent (also see THIS)
This title has no Mac version. Under Parallels 5.0 running on my Mac, after having extracted the h.264 and audio track and having converted the latter to stereo AAC (all this taking about three(!) times more than avidemux' doing the same: 55 minutes for a 20 Gbyte MKV), the actual MP4 muxing crashed at once. No subtitle files have been extracted before this, it seems.
For me, it just didn't work and, preferring OS X to Windows, I couldn't bother more. Hope you have more luck. Nevertheless, you only should bother if you don't have a Mac with all its goodies (Subler being the most important).
UPDATE (04/30/2012): posted a review of iVI (Pro) HERE.
UPDATE (05/01/2012): article heavily rewritten after finding a solution to the QT compliance problem I've spoken of in the first version.