[General Topics] Menneisyys:
1.2 Available players for mobile platforms

(Note that this guide doesn't cover the features not directly related to AVC playback - for example, AVRCP support, equalizer etc. because they can also be utilized playing back other content. They'll be all elaborated on in my forthcoming Multimedia Bible.)

1.2.1 Windows Mobile

1.2.1.1 CorePlayer

Without doubt this is the best player out there to play H.264 content. It’s by far the fastest, most compatible and featureful. If you’re seriously into H.264, you MUST buy it: it isn’t THAT expensive.

1.2.1.2 TCPMP

For this free app to be able to play your AVC videos, you MUST download THIS (originally linked from HERE; mirror HERE) add-on CAB file. Install it after having installed TCPMP. The CAB file contains a beta version of an early Windows Mobile CoreAVC port and the well-known AAC decoder already discussed and linked to HERE. (A quick note: CoreAVC is the main AVC decoder of all multimedia products of the CoreCodec folks. CoreAVC, on desktop operating systems, is unrivalled in speed – it’s even faster than some hardware-supported, much more expensive solutions. The speed advantage is certainly visible with the mobile ports as well.)

Note that there is another AVC decoder, the official ffmpeg codec, which is WAY slower than this beta and is, therefore, in no way recommended.

While the app has certain strengths (most importantly, it’s free), I don’t recommend it for serious AVC freaks – it’s just not powerful enough.

1.2.1.3 Nero Mobile Pro

Unfortunately, while the encoder (“Nero Recode”, part of the Nero 8 Ultra Edition) of the same developer is without doubt excellent and highly recommended, their Windows Mobile player, the commercial Nero Mobile Pro, is not recommended for playing back AVC content. (Or, for that matter, currently for anything else either: in my tests, other media players have turned out to be much more efficient and featureful in almost every area. It seems its only advantage is the native ability to play back HE-AAC v2 audio. To do the same, however, you can always use the free TCPMP with the AAC plug-in – and it’ll still result in better battery life than Nero Mobile Pro.)

Unfortunately, there’s no trial version of this app any more. While Nero 7 Ultra Edition Enhanced did have a trial of Nero Mobile Pro, Nero 8 doesn’t. Before a trial is (re)introduced, you can safely take my word: it’s, currently (as of version 1.4.0.9), just not worth the price (I’ve paid some 15 euros + VAT for it). And, it costs the same as the technically VASTLY superior CorePlayer – why would you, then, go for it at all?

As far as its performance is concerned, on VGA Pocket PC’s, it’s only usable with 320-only (QVGA) videos; of them, ONLY with ones without CABAC and Bidirectional Prediction. This pretty much rules it out as a decent player. If you do enable these (important) features, there will be a lot of dropped frames – on even the fastest handsets like the Dell Axim x51v.

640-pixel-wide videos, even ASP ones, badly lag; the AVC ones, in addition, have stuttering sound, even at the lowest stream speeds. That is, it’s impossible to play back VGA content under Nero, not even if you do all the recommended performance tweaks.

On QVGA devices, the situation isn’t better either: it’s only able to play the lowest-speed QVGA AVC movies. On my 400 MHz HP iPAQ h2210, the video was stuttering even when using a 83 kbps video stream (a ~230 kbps one was even worse). I haven’t tested it with deblocking-disabled videos but I don’t think it’d improve the situation.

All in all, stay away from this app. While their encoder (Nero 8 Ultra Edition) is certainly worth purchasing (if you don’t want to manually convert your DVD’s or other files to AVC with alternative tools like x264), Nero Mobile Pro is in no way.

1.2.1.4 In no way recommended, other apps

Philips’ Platform4 player (no longer developed, entirely abandoned, low-quality)

GPAC Osmo4/Osmophone

VideoLan – long-abandoned and has never really worked. When it did, it only produced at least an order of magnitude worse speed than TCPMP / CorePlayer.

1.2.2 Symbian

To play AVC videos under Symbian, your only real choice is CorePlayer.

Note that the built-in RealPlayer is also stated to be AVC-compliant (not only ASP). If it is, then, it must only be compliant with the simple Baseline profile, which isn’t what you will really prefer. I’m absolutely sure it’s not compatible with the Main profile, not even without Bidirectional Prediction and CABAC.

As far as other Symbian players are concerned, SmartMovie (as of version 3.41) doesn’t support AVC videos at all (it doesn’t even list MP4 files). The recently-released MMPlayer (as of version 1.01) doesn’t support AAC sound (see their official list of what’s already supported and what is planned HERE). This means it can’t play back AVC videos either because AVC videos generally use AAC sound tracks.

1.2.3 Palm OS

Here, CorePlayer is your only choice. MMPlayer doesn’t support AVC and, unlike with Windows Mobile, the Palm version of TCPMP doesn’t have an AVC add-on.

1.3 MP4 as a container; compatibility

AVC videos can be delivered in many so-called “containers”. The most widely used is the MP4 container, which, in addition to the video itself, can also have two (AAC) sound tracks, two subtitle streams and chapter support. Nero Recode supports these features. If you would really want to include two sound tracks in your videos and plan selecting your players based on these needs, then, you will find this section useful.

In the following chart, I list the compatibility of mobile players with these features.

http://www.winmobiletech.com/122007H264Bible/t1.png

As can clearly be seen, both Nero and Symbian’s RealPlayer are unable to switch to the second soundtrack. They don’t support chapter information either. The latter may turn out to be a letdown with direct DVD conversions.

Finally, none of these players support the Nero Recode subtitle format – unlike for example the free VideoLAN on desktop operating systems.

1.3.1 Matroska (.MKV) support

There is another, compared to MP4, more advanced container format called Matroska, which is especially popular on the High Definition ripper / Torrent scene (as opposed to “plain” DVD-only resolutions). Matroska files generally contain AVC video. CorePlayer supports these containers.

Note that, however, CorePlayer is only able to play back videos no wider than 1008 pixels. That is, it will NOT play back for example torrented 720p (meaning 1280-wide videos) content – most of current MKV files contain these kinds of videos. This is pretty much understandable if you take into account that most (particlarly QVGA) mobile hardware is simply unable to play back even 640-wide videos, let alone ones with much higher (twice the size!) resolution.

1.4 Fixing the frame drop problem

Unfortunately, as has already been pointed out, playing back AVC files requires a lot of computing power. On especially slower and/or (W)VGA or other hi-res devices, you MUST make some tradeoffs in order to be able to play back your AVC contents without problems (dropped frames).

In addition to lowering the resolution if you use a non-QVGA (read: (W)VGA on Windows Mobile, 320*480 on Palm OS or the screen resolution of communicators like the E90 on Symbian), you have four choices: