Do you have a link to these articles? I'd like to read them.
I can't provide external links as linking to my blog would be self-promotion. Therefore, I paste all the articles in here, in order. The first will be in this post; the second in the following one. Note that, if you have a Mac, you'll want to jump to the second as Subler should be preferred to the Mac-specific section of the first article. (The second is a newer article than the first one. H.264 level change was added to Subler between the two articles. I didn't have the time to completely rewrite the Mac-specific section of the first article so that it recommends Subler over everything else.)
Making the stock Videos application play every MP4 file possible
I've dedicated several articles to converting videos into MP4 (M4V / MOV) files so that they can be played back by the H.264 decoder of even older-generation iDevices. In the current one, I elaborate on how how you can play the output files with the built-in, stock
Videos application. This article also belong to my Multimedia article series, in which I plan to publish a
Streaming multimedia over your local Wi-Fi in the next few days and, then, finally, the real Multimedia bible.
If you don't want to use any third-party player on your iDevice to play these videos but want to strictly stick with the built-in Videos, you may have already run into the
XY was not copied because the video format is not supported by the iXZ "XY" message like the following:
The two videos shown here are both part of the well-known video test suite available
HERE and linked from the first,
Video testing samples chart: the
Suzumiya and the
Planet (MKV) videos. (Both have been converted into MP4 by only changing the audio track's encoding and channel number by
avidemux as is explained in my article dedicated to avidemux. Note that, should you want to convert the videos from MKV to MP4 with the current (1.8.10 ) version of
Playback, it'll refuse to convert
Planet - and, for that matter, of the test suite,
Harry Potter and ,
Monsters as well. I'll return to evaluating Playback, its UPnP and MKV -> MP4 conversion capabilities later, in my next article dedicated to streaming video on your Wi-Fi network.)
The problem is caused by Apple's long-outdated (and buggy) approach to synchronizing videos to iDevices. While all current (and even past, old ones like the iPad 1!) iDevices are fully capable of playing back even the most demanding H.264 videos, for some reason (it might be a simple oversight?), Apple doesn't let these videos synchronized to the Videos app on the iDevice.
This is caused by Apple's not allowing the synchronization of any videos above level 4.1. If you take a closer look at the chart I've linked to, you can see the
Enc opts contains
high profile 5.1 for both videos. If, on the other hand, you try to (after converting them to MP4, of course) ones that contain
high profile 4.1 (or less) instead, they'll be happily synched to (and played back by) your iDevice; for example,
Harry Potter,
Birds and
Monsters. The first of them uses
high profile 3.1, the second two
4.1. Incidentally,
Birds, which is also played back by even the A4-based iPhone 4, iPod touch 4 and iPad 1 flawlessly, uses a very high encoding bitrate: 40 Mbps. It equals to the maximal allowed bitrate of true Blue-ray discs (see
THIS). Actually, the chart even mentions (see column
Note:
Direct bluray (or hddvd) remux) that the MKV file has been created by directly(!) taking a small chunk of a video from a Blue-ray disc without any kind of recompression (and drastically lowering the birate).
Note that, while the CPU/GPU would definitely be able to cope with it, you can only transfer 720p videos to your A4-based devices (iPhone 4, iPod touch 4 and the iPad 1). Even if you downgrade the video to high profile 3.1 or 4.1 (from 5.1), it won't be synced to these devices. With these devices, the
only way to play back true 1080p content is using a third-party player (for example,
GoodPlayer) able to utilize hardware video decoding. Also note that you can only sync 1080p to iPad 2's running iOS5+ but not previous, 4.x versions (dedicated article
HERE)
The solution
The solution to the problem, apart from just purchasing an app (for example, GoodPlayer) that can directly play even high profile 5.1 H.264-based MP4 files using the hardware decoder, is modifying the video files in question. Fortunately, it's far easier than you might think: you do NOT need to recompress the video at all (taking even hours) but only need to change a single byte in the file.
If you have a Mac, just download
THIS file. It looks for the above-mentioned magic byte in the video file you pass it to and changes it to be of 3.1. (You can also supply 4.1 instead of the default 3.1 by changing the
f.write(chr(0x1F)) statement to
f.write(chr(0x29)). There isn't much point in doing so, though.) Please check out mcneildeal's post at
Oct 23, 2010 9:17 PM in
THIS thread for more info on the usage on both the Mac and Windows. Just overwrite the file iTunes previously declined to sync to your iDevice in the
Movies tab and try syncing again.
Patching may be a bit time-consuming if the byte in question isn't at the end of the file (it's from there that the script starts seeking back from). Basically, if you use avidemux for the conversion into MP4, this will be the case. However, if you use the above-mentioned Playback for the conversion, it'll be at the beginning of the file, rendering the script very slow.
Windows
Windows has a dedicated and also-free app for the quick file patching:
H264 Level Editor by
CoolSoft. It's available
HERE.
As opposed to the Python script I've spoken of in the previous section, it starts examining the file from the beginning. This means it parses videos repackaged by Playback reliably and, compared to the Python script, VERY fast at least ones that haven't been re-processed by Subler to add subtitles. It couldn't handle avidemux-repackaged files well.
Note that...
Non-standard MP4 files won't display subtitles in the stock player. For example, ones with built-in graphical (non-textual) subtitles like VobSub or external, textual SRT / SSA / ASS / SUB subtitles more on this and similar stuff in my forthcoming multimedia articles. That is, not every MP4's and/or all their features will be compatible with your iDevice. Standardized ones will be.
----------
And this is the second article, also explaining how Subler should be used. Again, Subler should be preferred to the Mac-specific scripts I've recommended in the previous article.
Watching videos taken to the max: Roundup of MKV to MP4/M4V video converters
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+) 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.
1. Subler
I've discussed the (Mac OS X-only)
Subler in several of my articles. 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.)
1.3 Usage
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 previous 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).