The Multiplatform YouTube Bible

Watching YouTube videos is a favorite pastime of many. With data charges constantly decreasing (or, should I say, plummeting), not-that-expensive flat 3G data rates getting common, Wi-Fi’s getting pretty ubiquitous and, of course, YouTube’s getting really-really full of videos worth checking out, you might be tempted to watch YouTube (or other) videos on your handset. After all, it's a great pastime and these handhelds have both the processing power, the necessary hardware and, in most cases, connection speed to render these videos well.

In this YouTube Bible, I show you how this all can be done on the three major non-iPhone platforms: Windows Mobile, Symbian S60 and BlackBerry. (As the iPhone, as opposed to most other solutions, already comes with a decent player, there isn’t much point in elaborating on it. You just fire up the YouTube icon and off you go at – if you have Wi-Fi connectivity – very good quality. Nothing needs to be installed and there’re no alternatives you will need to know to make an intelligent decision.)

Note that I’ve published several YouTube-related articles (a quick search for YouTube on my blog reveals these tutorials). These, however, are pretty outdated now – particularly that a lot of vastly superior solutions have been released in the meantime. I’ll, however, refer back to for example the HTC Streaming Media tutorial.

Also note that this Bible is multiplatform, as with the majority of my later Bibles. If you're a fanboy of any of the three reviewed operating systems, don't post angry messages like "Why on earth did you include operating system X? I hate it, it's sooooo inferior and lame!". Sorry, both as a gadget-loving geek and as a professional IT advisor / consultant, I MUST know all the mobile operating systems. (Particularly now that the Microsoft folks have just told me they would be interested in some of my week-long lectures on the differences on BlackBerry and Windows Mobile devices. I need such kinds of work because I (more precisely, my employer) prefer getting mobility-related IT consultant contacts as opposed to non-mobility-related ones. This is also why I keep posting on other operating systems - as I need to know them, why wouldn't I post on them? Finally, I won't create a separate version of the Bible for Symbian, BlackBerry and Windows Mobile devices for two reasons: 1. it'd cause me a LOT of additional work not only initially but also when I post a revised, updated version: restructuring the entire Bible, taking out all references to other OS'es; 2. knowing what other operating systems are capable of won't do anyone any harm - you may even find that having read info on another OS useful if you are given a handset running a different OS.)

Also note that, Windows Mobile-wise, the discussion applies to both touchscreen-less MS Smartphones (Windows Mobile 6 Standard) and touchscreen-enabled Pocket PC’s (Windows Mobile 6 Classic / Pro) models. All the reviewed Windows Mobile solutions run on both platforms. In the compatibility lists, I've listed the earliest Windows Mobile operating system a given solution is compatible with but didn't list them all. This means if you see WM2003+, it means compatibility with WM2003 and all subsequent operating system versions (WM2003SE, WM5, WM6, WM6.1), not only with WM2003.

1.1 Browsing the desktop Web version of YouTube

This section applies to both platforms of Windows Mobile starting with WM2003+ and used with Internet Explorer Mobile (IEM) and Opera Mobile; Symbian with integrated Flash Lite 3.

1.1.1 Windows Mobile

1.1.1.1 IEM / Opera Mobile + Flash 7 plug-in

If you install the Flash 7 plug-in (see the Flash Bible HERE for more info on the availability etc.) on your Pocket PC and either use the WM5+ (not earlier: due to bad JavaScript support, they won’t work) Internet Explorer Mobile (IEM) or WM2003+ Opera Mobile (any version), the videos will be played back in-line, just like on the desktop.

This is, however, the worst approach you should ALWAYS avoid because it, in some cases, grinds the entire handset to halt and is very slow, even on high-end Windows Mobile devices. All in all, it’s in NO WAY recommended - there are far superior approaches.

1.1.1.2 IEM + FlashVideoBundle

This is an immensely better solution having all the advantages of the desktop version; most importantly, direct access to YouTube, Google Video & Veoh links sent in, for example, mails. Then, when IEM is invoked, you’re shown a context menu, where you can instruct IEM to show the video in TCPMP, save it into a file or, alternatively, take you right to the page so that you can see for example the comments / related videos:

If you directly enter the URL in the address bar (by, for example, pasting it to there), it’ll too present you with the same context menu; the same will happen if you just click a video link on YouTube (GV etc.) pages.

The current version is 1.4.4; CAB file available for download HERE (if you don’t want to register, I’ve mirrored it HERE); my old, now-outdated article HERE. Installing it is pretty straightforward; just follow the section "Installation instructions" in the tutorial on the homepage.

This is one of the most recommended ways of playing back online videos, particularly if you get links in e-mails / other, offline documents like Word files.

1.1.2 Symbian with Flash Lite 3

In order to play back (Flash, including YouTube) videos embedded in Web pages, you’ll need to have a device with Flash Lite 3 preinstalled. One of them, the, currently, best multimedia handset of all, the Nokia N95 received Flash Lite 3 support in firmware version v21 released some weeks ago.

If you have a compatible handset, you don’t need to install anything else (no third-party apps at all): videos will be played back right in the pages that contain them, with much-much less adverse effects than (currently) with Windows Mobile relying on the CPU-hog Flash 7.

As has already been emphasized, Flash Lite 3 on Symbian behaves much-much better than the full Flash 7 on Windows Mobile. While the latter is in no way recommended, the former – if you have a Symbian device – is. Note that you can still use the Mobile YouTube Web and the MIDlet-based interface too (see sections 1.2 and 1.3, respectively), but they only deliver 3GP videos at a much lower quality than Flash Lite 3. Alternatively, if you need high-quality (Flash / H.264) videos, you may also want to prefer Mobitubia – or the soon-to-be-released, YouTube-capable version of CorePlayer.

Note that Portrait playback will always be oversized as can be seen in THIS screenshot (source link HERE). Also, if you use the standard Nokia Web menu (Options / Rotate Screen) to switch to Landscape mode, it’ll stay oversized. The trick is clicking the Flash Lite 3 surface with the Action button – it’s then that it’ll be resized to fit into the screen as can be seen in the first screenshot.

Also note that there’s still no Flash Lite 3 on Windows Mobile but will, hopefully, be soon released; see THIS and THIS for more info.
 

1.2 Browsing the mobile version of the YouTube on the Web (Windows Mobile (WM), Symbian, BB(?))

If you fire up YouTube in your mobile Web browser for the first time, you'll be taken to the mobile version available at http://m.youtube.com/ - as opposed to the desktop one. This is vastly different from the desktop version in that it uses 3GP / RTSP - and has much less bandwidth usage even for rendering Web pages themselves.

This, of course, has both advantages and disadvantages. While it has much lower video/audio quality and is incompatible with firewalls (except for directly Net-connected Access Points, which almost all do decent RTSP NAT'ing), it uses applications most likely to be already present on your handset. For example, most Symbian handsets have the RealOne Player sufficient for playing back RTSP streams, but comparatively few have the latest, recently released Flash Lite 3. Similarly, on Windows Mobile, several, mostly HTC-branded devices come (but if your device doesn't have it, you can safely download and install it) with HTC's Streaming Media as is explained HERE. Finally, it MIGHT be compatible with more recent BlackBerries too as they too have an RTSP-capable media player; in my tests, however, it reset my OS 4.5.0.9 (beta)-based BlackBerry 8800 - unlike vTap's streams. (This doesn't necessarily mean it resets all other BlackBerries!)

Note that m.youtube.com already has ALL the videos available, unlike some months ago when it was first announced. That is, if you can live with the lower video / audio quality of 3GP streaming (and/or you don't have a network connection making RTSP streaming impossible), it might be a better choice than the desktop version - on both Symbian and Windows Mobile. Also, its interface offers exactly the same capabilities as that of the desktop version - in a much more bandwidth- and memory-conserving way. This also means you don't need to learn a brand new interface - your can safely rely on your already existing knowledge of the desktop YouTube interface. (Not that the alternative apps and interfaces would be THAT hard to master...)

Also note that if you ever click "View Desktop Version" link once (at the bottom of the page), after that, you'll always be taken to the desktop version.

1.3 Using the official YouTube MIDlet, YouTube for Mobile (beta) (currently, Symbian)

If you navigate to http://m.youtube.com/app from inside the browser of your (select) Nokia or Sony-Ericsson handsets (N73, E65, N95, 6120c, 6110n / k800i, w880i), you can easily download and deploy the client by just clicking the Download link.

This client is a standalone app; that is, you don’t need to fire up for example the Nokia Web browser to get to your videos.

It has both restrictions and advantages. The biggest problem with it is that it can’t work over Wi-Fi connections (even with RTSP NAT correctly working, which is pretty much the case with most current Wi-Fi access points), unlike other clients. That is, you can only use wireless data to access videos. Another problem is that it’s only able to access 3GP streaming, meaning low playback quality.

However, it has a very nice and capable GUI, much better and powerful than that of most of the standalone alternatives on all platforms (not only Symbian). For example, it supports upload, account; it has related videos and is VERY polished – for example, it has search history support, which is even saved through restarts. Some screenshots showing it in action:


(searching in progress)

(related videos)

(search history)

(flagging videos)

(A GUI screenshot of portrait and landscape playback is HERE and HERE; unfortunately, the screen capturer app couldn’t capture the rendered video.)

Note that this app, currently, is NOT compatible with any MIDlet Manager on Windows Mobile, as has also been explained HERE. The reason for my not putting it in the strictly Symbian-only section is that it hopefully will be made compatible with Windows Mobile as well – if Google doesn’t release a native (C++) version for the operating system, as they have done with Google Maps.

Related threads HERE, HERE and HERE.

1.4 vTap (WM, Symbian, BlackBerry)

vTap is an RSS-like content syndication service with integrated, multi-site searching (including all major video sites, WikiPedia etc.) It has both a standalone (Windows Mobile / BlackBerry) client and a Web interface. The latter is of paramount importance with BlackBerry, as it’s, currently, the only way to access online YouTube videos.

First, let’s take a look at the standalone Windows Mobile client. After installing and starting, it presents you a single input field, where you can enter for example the video you’re looking for – as with the traditional YouTube search. It, however, also presents Wikipedia (and other video) hits.


(a Windows Mobile screenshot showing the collected results of a search – again, not only from YouTube)

Its GUI is pretty powerful as it allows for for example feedback, account login etc. Its settings capabilities are also pretty cool (1 2). Also allows for showing related videos which is pretty rare as of the writing of this article.

As far as the BlackBerry is concerned, the native client is only able to search from the Wiki as can be seen in HERE. The vTap folks do state the standalone client is, as with Windows Mobile, able to play videos (or, at least, pass videos to the system-level multimedia player) starting with BB OS version 4.3. This doesn’t seem to be the case with version 4.5[0.9] beta of the operating system (see the 04/23 update of THIS article for more info on acquiring and installing the beta). As can be seen in HERE, there’s no Play icon at all and the menu (screenshot HERE) is much less powerful than that on Windows Mobile. (These are all 4.2.1 BB 8800 screenshots; the client behaves in exactly the same way on the same device with the latest 4.5.0.9 beta OS). Some Pearl users with native 4.3, on the other hand, did state it worked for them.

See for example THIS for more info.

However, this isn’t a problem! There is, fortunately, a way to play back online, streamed content on the BlackBerry too. (Note that the following part has only been tested under 4.5.0.9. It might work on "official" 4.2 / 4.3 OS versions as well.)

1.4.1 The online Mobile vTap

If you navigate to http://m.vtap.com/ on your BlackBerry, you’re presented an interface pretty similar to that of Mobile YouTube. It allows for searching and a lot of other goodies. On BlackBerries, it’s the only way to get online, non-reconverted content, unlike the ways described for example HERE or in the well-known, related CrackBerry.com tutorial. Screenshots showing it in action – again, under OS version 4.5.0.9:





(note that, as with Symbian, I couldn’t make a shot of the rendered contents)

Note that Mobile vTap is also compatible with Symbian; in there, it uses the built-in RealOne player (and RTSP). It must also be compatible with HTC’s Streaming Media on Windows Mobile (haven’t tested this), should you want to prefer it to alternate solutions.

1.5 Operating-system specific, other apps

1.5.1 Windows Mobile

1.5.1.1 CorePlayer

I don’t think anyone needs to introduce CorePlayer (particularly not to readers that have been following my past multimedia-related articles), which has recently received native YouTube browsing / searching support – in addition to, of course, playing it back. And it does the latter extraordinary well. Being based on the fastest AVC (H.264) and HE-AAC decoders, it plays back high-quality (non-3GP) videos with much less overhead than any other YouTube client on Windows Mobile. See for example THIS and THIS post for more info on this.

If you know iPhone’s YouTube player, you already know that of CorePlayer – the latter is very similar to iPhone’s. (Except for, for example, the lack of related videos.) This means it’s very easy to use and, again, has the most CPU-efficient decoding algorithm when it comes to playing back quality AND firewall-friendly, H.264 + AAC content - as opposed to the low-quality RTSP-streamed and, therefore, not firewall-friendly, 3GP content, which has considerably lower demands and can be played back by even non-optimized code without major CPU hits. Some screenshots:


(standard list view)

(detailed view of a selected video)

It’s still worth explaining how you can switch between the RTSP + 3G (low/medium-quality) and H.264 (high-quality, firewall-friendly HTTP-streamed) modes. By default, CP is configured to use the former. If your network topology / connection doesn’t allow for RTSP connections, the current, 1.2.3 version doesn’t display any error message – just times out after some minutes. (This will be fixed in a future version, as is also explained by the developer: "Automate the YouTube Quality Control 'seeking'... this will help incase one setting appears to hang (spinning buffering icon).") If you either want to fix this problem or just want much better audio & video quality, just switch to "High Quality" in Menu > Tools > Preferences > Select Page > Network > YouTube Format:

Note that QTv Display is set by default as the video renderer; therefore, if you don’t see any video (only sound), you’ll need to set the video mode to Raw Framebuffer or, if your PDA has a graphics co-processor (for example, the Intel 2700G), to it in Menu > Tools > Preferences > Select Page > Video > Video output:

Note that with the (unfortunately, still very few) stereo high-quality (H.264) videos (like this) aren’t played back in stereo, unlike with TCPMP-based H.264 / FLV players - or simple 3GP players like that of Nokia Flash Lite 3 or the BlackBerry. This problem will be fixed really soon, as HE-AACv2, the state-of-the-art sound compression technology I’ve often elaborated on in my articles, finally gains support in CorePlayer in the near future. This is just great news – so far, Windows Mobile clearly lagged behind both Symbian S60 (on N-series devices) and BlackBerry 4.5 (which both support HE-AACv2 out of the box, with minimal CPU usage and AVRCP support not available with Windows Mobile) when it came to playing back HE-AACv2.

Also note that, while the YouTube client of CP currently lacks a lot of additional functionality like clip upload, login, online favorites etc., this will soon be fixed as is explained HERE: "we have omitted some features till later on when we add it as a module with login, uploading, related, and bookmarking".

Finally, should be interested in why I recommend CP so much, take a look at my H.264 Bible (if you haven’t already done so), where I’ve thoroughly benchmarked the H.264 (and AAC) decoding efficiency of all media players.

1.5.1.2 Milesmowbray’s YouTubePlay - YouTube Player

There’s another, free(!) and pretty cool, but, being based on the old TCPMP libraries, compared to CorePlayer, less efficient standalone player, Milesmowbray’s YouTubePlay available HERE.


(the search results, highlighting a clip - as you can see, there isn't much you can do - no related videos, flagging, account support and the like)

(it uses a built-in video player for playback - that is, it doesn't rely on external players)

It’s pretty straightforward to use as it’s a stand-alone app: you just install it and fire it up. No further (external) app installs are necessary. See the above-linked thread for user discussion & new versions (albeit, of course, I’ll try to keep you updated).

If you want a standalone (non-Web-based) app and don't want to pay for the, otherwise, technically superior CorePlayer, this app is worth checking out. Note that, however, it's pretty much inferior to CP, capabilities-wise.

1.5.1.3 YTPocket

YTPocket is a decent Web-based interface offering Flash-based, that is, high-quality (as opposed to low-bitrate and, hence, low-quality 3GP streams) and HTTP (meaning firewall-friendliness) streaming. The interface is pretty much similar to that of the Web interface of Mobile YouTube.

As it’s FLV-based, you must have a FLV-capable player to play the videos it downloads. Shouldn’t you already have TCPMP with the FLV plug-in installed, you can easily download them over-the-air from the setup tutorial page of YTPocket.


(the thumbnail list)

After clicking the Down arrow, the file fully downloads (to anywhere in the local file system) and, then, TCPMP is invoked on it to play it back:

Note that the biggest advantage of this interface that it stores the FLV files in the file system on your PDA, should you want to keep them for future use. (Also, it works in all alternate browsers – even Opera Mini! –, not only with IEM – as far as one of the most recommended YouTube playback solutions, FlashVideoBundle, is concerned) This, however, also means it will not utilize any kind of streaming, which means
1. you’ll have to wait until the file is fully downloaded, which can take some time (as opposed to streaming-based solutions, which start at once), particularly when downloading to a non-optimized / slowish storage card (see THIS for my latest benchmarks)
2. you must also have the necessary free storage. In the age of cheap 4+ GB cards, this is less of an issue, though.

1.5.2 Symbian

The most important standalone app is the highly recommended Mobitubia; see for example THIS. It has become a commercial app but you can get it by even donating as low as $1.50. Of course, you’ll want to donate much more to keep the development going (I donated $10 at first and if the dev continues to come out with new, even more enhanced versions, will definitely donate more). It’s really decent, plays back high-quality FLV videos without stuttering (as opposed to the Flash Lite 3 plug-in or the native YouTube MIDlet)

(thumbnails after a search)

(you can sort the clips using several different methods)

(playback; note that I’ve forced the app to display the toolbar; otherwise, it’s hidden and the video is played back in full screen)

(a direct URL can also be entered – or, better, pasted – should you have received a direct link in, say, an e-mail and don’t want to fire up Nokia Web or Opera Mini to find out the title or other parameters of the clip to be able to quickly find it)

(you can also supply the YouTube ID – see the remarks of the previous screenshot)

Note that there used to be another Symbian app to play back YouTube, emTube, but it’s been down for some months and it’s still not known whether it’ll be restarted at all. Also see THIS.

Finally, the Symbian version of CorePlayer will receive the same functionality than the Windows Mobile version in 1-2 weeks (this being written on 04/24/2008). See section 1.5.1.1 for more info.

2. Comparison chart

The feature / comparison chart available HERE is pretty easy to understand based on the info above. It lists the compatibility, quality, protocol (whether it’s using high-quality, firewall-friendly HTTP / H.264 or the low-quality, firewall-unfriendly RTSP 3GP), standard YouTube features like uploading, editing / reading comments, related videos, logging into your account and the ability to save videos for future use (in which YTPocket really rocks).

3. Verdict - what to go for?

There're no hard-and-fast rules for choosing the right solution. First, you need to decide whether the quality (or the lack thereof) of 3GP streams are sufficient for you. If they aren't (and you aren't a BlackBerry user) OR you can't play back RTSP streams (because of your restricted network connection), go for something FLV / H.264-based. Fortunately, both Symbian and Windows Mobile have several apps offering FLV / H.264 playback. For WM, I recommend FlashVideoBundle and/or CorePlayer the most. For Symbian, Mobitubia is a really decent solution - and the forthcoming CorePlayer, if you don't mind the higher price tag. Of course, on Symbian, you can also safely stick with Flash Lite 3 if you have a compatible handset / firmware version (again, remember that Flash Lite 3 being comparatively new, your otherwise compatible phone may still running an older, incompatible firmware - as was the case with the Nokia N95 before firmware version v21).

On the other hand, if your connection isn't firewalled (which would make incoming RSTP connections impossible), the 3GP "quality" is sufficient for you and/or you must reduce network traffic (or, you are on the BlackBerry), you can safely stay with http://m.youtube.com/ (see section 1.2) if you're a Windows Mobile (making sure you do have an RTSP player (pre)installed; for example, the free HTC Streaming Media) or Symbian user or the online Mobile vTap (see section 1.4.1) if you're on BlackBerry.

Cross-posted to (might be worth checking out for additional info / discussions!): PPCT, AximSite, XDA-Developers, BrightHand, HowardForums, SPT, MoDaCo, CrackBerry, AAS, Symbian-freak.

UPDATE (04/25/2008): note that BlueApple.mobi is another great transcoding service compatible with, among other mobile platforms, the (4.3+) BlackBerry. See for example THIS for more info on its BB compatibility.

Also note that I may haven't included some other YouTube transcoder services in the Bible - there're quite a few of them, and I've found the reviewed ones the best.
UPDATE (05/10/2008): there is a lot to report on; most importantly, the just-released CorePlayer with its, on Windows Mobile, heavily bugfixed and enhanced YouTube support – and, on Symbian and Palm OS, its pure existence. I, in addition, elaborate on the differences of the three major formats used on YouTube: H.264, FLV and 3GP and give you some excellent screenshots of the real-life difference between them.

First, however, let’s take a look at the operating system-specific news.

1. Symbian

a. some people have asked me to elaborate on myZen, a Java-based and YouTube-compliant player. It’s not recommended at all - it's 3GP / RTSP only with all its drawbacks (sub-par video and audio, not compatible with several wireless operators etc.) Besides, it's, being based on Java, a bit slow. (Albeit this isn't really visible at playing back video as it uses the underlying media player.)

b. I haven’t emphasized this in the initial version of the Bible, but it’s surely worth mentioning: not even the latest (build 4) version of MobiTube can play about 20% of the (FLV) videos off YouTube without (on the high-end N95 with the latest-and-greatest v21 firmware) major stuttering problems. One of these videos can be found HERE. Fortunately, the just-released CorePlayer can play all these videos without problems – or, for that matter, the Flash Lite 3 plug-in, if you don’t mind having to browse the full (and bloated) YouTube site from Nokia S60 Web. The developer has promised to look into the problem. In the meantime, I recommend getting CorePlayer for Symbian to play videos that MobiTube can’t play back. (YouTube does have some advantages over CorePlayer, though; for example, any number of hits. More on this later.)

2. Windows Mobile

milesmowbray has been busily enhancing his youtubeplay app (see the review of an earlier version above) and adding nice features like getting the list of Related videos, a new, much more capable in-play GUI and saving a particular video to the file system. (Screenshots of the latter HERE and HERE). Currently, it’s at version v1.0.0.6 and is worth checking out if you want a free solution, don’t want to browse the bloated, original YouTube site in order to be able to utilize FlashVideoBundle, don’t want to watch low-quality 3GP streams (HTC Streaming Media, http://m.youtube.com/ etc.) and don’t want to use third-party, but FLV-based Web interfaces like YTPocket. Otherwise, if you don’t mind being commercial, the lack of clip saving and Related videos and/or have a VGA Pocket PC, CorePlayer might be a better, more mature solution.

3. CorePlayer 1.2.4

Fortunately, CorePlayer, which has only recently received YouTube support, has received a lot of bugfixes in the meantime, which is certainly very good news for Windows Mobile users. Also, Symbian and Palm OS users rejoice: now, you also have YouTube support!

3.1 Windows Mobile

Let’s start with Windows Mobile. Two huge YouTube problems with pre-1.2.4 versions was the lack of FLV support and the buffering issues have been fixed. I’ll elaborate on what FLV is and how it compares to the other two streaming formats supported by CorePlayer.

As far as the buffering is concerned, the new version no longer exhibits the bad buffering problems of the previous versions, which stopped for buffering quite often even when the connection was far faster than required. In the old versions, this could only be partially fixed by increasing the system buffers to 32M (and enabling microdrive mode). There are no buffering problems with FLV playback either.

Unfortunately, it still has some major functionality problems; most importantly, it still doesn’t list related videos and, even more importantly, it’s only capable of listing 13 videos at most in ANY list. Just an example: if you look for, for example, all parts of Scandinavia: The Forgotten Front - see THIS for the first part - , at least one part will pretty surely be missing if you search for "winter war" using the built-in search tool. (Fortunately, the CorePlayer folks have promised me they would fix all these issues, along with adding support for other video sites – that is, not only YouTube, but also for example dailymotion (which already works in internal test versions) and, hopefully, Google Video.)

This problem is pretty huge on Windows Mobile; for example, with milesmowbray’s youtubeplay as of version v1.0.0.6 (it lists only five items as can also be seen HERE). On Symbian, MobiTube don’t suffer from this: there, 25 clips are shown at a time and you can switch to the next (previous) 25 hits by simply selecting Next / Previous page from the menu.

3.2 Symbian

The Symbian version, which has just received YouTube support, still suffers from the lack of H.264 hardware acceleration. That is, H.264 (480*320) clips are practically unwatchable. On the high-end Nokia N95, it drops about 30-40% of the played frames and has heavy buffering pauses. The somewhat lower-quality FLV playback has no such problems. Therefore, before hardware acceleration is added (or the H.264 playback efficiency seriously enhanced), you’ll want to stick to FLV playback instead of H.264 on Symbian (but not on Windows Mobile, particularly if you have a VGA device).

4. Differences between the three streaming formats: H.264, FLV and 3GP

You may not understand what the three streaming formats, H.264, FLV and 3GP, are, and how they compare to each other, quality-wise. Let’s take a closer look at this question, particularly now that CorePlayer introduced support for FLV in addition to the other two formats.

4.1 H.264

H.264 is the best of all and, currently, is only supported by CorePlayer on both WinMo and Symbian. (The other players are either FLV or 3GP-only.) It has the highest video resolution (480*360), the highest video and audio bit rate with the most advanced codecs (H.264 for video and stereo 44 kHz AAC audio). This, however, also means that it has much higher data usage than the other formats: about 1.8 times more than that of FLV and 3-4 times more than 3GP (also somewhat depending on the audio codec used with the latter). Also, it has much higher CPU demands than FLV or 3GP; this is why, for example, Symbian devices currently can’t play back YouTube videos in the H.264 format. Let’s see an example (the first frame of THIS clip); make sure you compare the quality to that of the two other videos. I’ve deliberately selected a clip with some subtitles; it’s mostly on the latter than you can really see the resolution differences between H.264 and FLV. Also make sure you check out the general blockiness of the videos. (Note that I’ve taken these shots with 95% JPG quality; that is, I haven’t introduced almost any additional blockiness.)

The additional strength of the H.264 format is the support for stereo 44 kHz sound. While, currently, very few (see for example THIS) real-world clips have a stereo soundtrack - and the ones that work on mobiles, like THIS and THIS, don’t necessarily have stereo audio on the desktop.

4.2 FLV

Now, let’s turn to FLV, which is the most widely supported format on mobile platforms. On Windows Mobile, for example, there aren’t other players with H.264 support, while ones with FLV support abound (for example, FlashVideoBundle, milesmowbray’s youtubeplay, YTPocket etc.)

YouTube FLV is, technically, far inferior to H.264: it only has the resolution of 320*240, has much lower bitrate and the technically inferior (worse quality at the same bitrate) H.263 video and MP3 audio format. It doesn’t support stereo audio either.

While on a low-resolution (for example, QVGA) screen the quality difference isn’t so visible as on a high-resolution one (where the difference in the resolution plays a big role in rendering FLV much inferior to H.264), it’s still preferable to go for H.264 even on QVGA handsets because the H.264 videos are just less blocky (much higher bitrate and much more advanced format). Also, the audio is much better (44 vs. 22 kHz and, when possible, stereo). An example screenshot showing the resolution / blockiness on a VGA device:

4.3 3GP

Finally, 3GP, the worst of all – the format that you should avoid at any rate (unless you absolutely need to reduce data usage or don’t need video at all because it’s static like with, say, THIS clip) uses the resolution of 176*144 and a very low video bitrate resulting in a lot of blockiness. An example screenshot follows so that you can see how bad it is:

Note that, audio-wise, there’re two sub-formats of YouTube 3GP streams. The first (better) uses 22 kHz AAC mono audio and is referred to as "Medium-quality" by CorePlayer (as with FLV); the second (worse) uses the 8 kHz AMR speech vocoder to further decrease data usage (and to further reduce audio quality). Of course, the gain is marginal; therefore, if you absolutely need to go 3GP, try preferring the former format.

4.4 Setting the YouTube format in CorePlayer

Don’t forget to set the format in CorePlayer according to your needs and the restrictions of your handheld. (For example, as has already been explained, on a VGA device it’s always worth trying to use H.264 because of the higher source resolution. On a QVGA device, the difference isn’t that big - H.264 is a bit less blocky but, again, requires far more CPU cycles and has much higher data usage. Of course, you should also keep in mind the superior audio quality of the H.264-based streams too.)

UPDATE (05/12/2008):

1. (Symbian):

a. I've tested the last about 20 latest featured videos on YouTube with MobiTubia. All played well. Therefore, it's possible it's only with some older videos that MobiTubia delivers sub-par results; with newer ones, it doesn't seem to.

The Symbian version of CorePlayer, on the other hand, doesn't seem to like firewalled cellular connections. These cause it not to download any clip lists. This works just great under Windows Mobile (and, of course, with MobiTubia under Symbian) and, therefore, must be an internal bug.

b. I've very thoroughly compared the power consumption of MobiTubia to CorePlayer 1.2.4. While MobiTubia consumes a tad more power when it's still loading (caching) the clip in the background, after the clip is cached, it delivers considerably better results (much lower power consumption) than CorePlayer. Therefore, it's always worth going for MobiTubia when your Internet connection speed is much faster than the ~320 kbps stream of FLV videos because, after the caching is finished, the power consumption will be really decreased. CorePlayer, on the other hand, doesn't cache the file and, consequently, it'll use the (with both Wi-Fi and 3G connections, power-hungry) wireless unit all the time.

The following screenshot shows this in effect: the first ~5:30 show CorePlayer playing back a 6-minute clip; the second show the latter with MobiTubia. As can clearly be seen, the latter manages to cache the file in the first about 60% of the total playback time of the clip; after this, it doesn't use the wirleess unit any more, resulting in a heavy power consumption decrease. CorePlayer, on the other hand, streams the YouTube contents all the time, resulting in much higher net power consumption:

I've made another screenshot showing CorePlayer only, repeatedly playing the same 6-minute clip. As can clearly be seen, the power consumption is constantly the same (high) because there's no caching at all.

Let's see some other screenshots comparing the power consumption using HSDPA. As you'll see, the difference won't be as articulated as with Wi-Fi and the average power consumption will be pretty similar because buffering, with much bigger excess power consumption, takes much more time than over Wi-Fi. The following shot shows playing the same clip thru Wi-Fi and, then, HSDPA using MobiTubia:

As can clearly be seen, the average power consumption is bigger because the system were in the low-power (~1.1W) area for a much shorter time than with Wi-Fi. (And, of course, streaming anything (!) via HSDPA will always take much more power than via Wi-Fi, as has also been explained in my Multiplatform Radio Stream Transcoding Bible.)

Let's see the CorePlayer results. Two HSDPA examples follow:

As can clearly be seen, while there indeed isn't any kind of buffering, the overall lower CPU usage of the H.263 / MP3 decoder has resulted in about the same average power consumption as that of MobiTubia.

All in all, as a rule of thumb: on Symbian:

- when you watch YouTube videos over Wi-Fi and would like to have as long battery life as possible, prefer MobiTubia
- when over 3G, both will behave almost the same way.

2. (Windows Mobile): I've continued comparing milesmowbray's youtubeplay to CorePlayer 1.2.4.

a. in youtubeplay, you can fetch the first 50 hits of any search / "Related" operation; but, it seems, no more (it, then, complains about the network's not working.) To set this, go to Config (button in the bottom left) and just increase the number of hits shown with the second slider (Results returned).

b. on the test iPAQ 210, youtubeplay uses about 62-64% CPU time to decode and play back (FLV) videos (in both Portrait and Landscape). CorePlayer, at the same time, uses about 21...23% (again, in FLV). With H.264, of course, CorePlayer requires far more CPU time (more than 80%) and if you run other even slightly CPU-intensive tasks (like acbTaskMan to track CPU usage), there will be some (about 10...30%) dropped frames, particularly with really dynamic videos like those of Call of Duty 2.

This means if you plan to stick to the FLV format (because you're on a QVGA device and, therefore, you couldn't take advantage of the higher resolution of the H.264 video or you're on VGA but the source video is already of bad quality making it unnecessary to stream in H.264), you can save a lot of battery if you go for CorePlayer on CPU architectures that have much higher power consumption with high CPU loads than with low ones. Typically, Intel / Marvel Xscale CPU's belong to this group, where the difference in battery life can even be 1.5...2-fold between two players using 22% and 63% CPU cycles. Of course, with activated Wi-Fi and higher levels of backlight, the difference won't be this pronounced. The only architecture that (somewhat strangely) doesn't exhibit excess power consumption with higher CPU loads is that of Samsung (at least the older architectures; I haven't tested the latest, 6400-series in this respect.)

What about buffering, you may ask. Do alternative solutions like milesmowbray's youtubeplay have an advantage over CorePlayer in the same way as was certainly visible on Symbian? The answer is, unfortunately, no. Just look at the following screenshot, taken via Wi-Fi without power saving enabled on the Dell Axim x51v running WM6.1. (Note that, while CorePlayer had absolutely no problems playing back clips without dropped frames on this particular model, youtubeplay fared much worse. That is, using youtubeplay is in no way recommended on the x51v.)

The CPU usage is shown in the upper and the power consumption on the lower pane. The first ~8 minutes show CorePlayer playing the clip; after that (there's a small discontinuation in the chart) youtubeplay follows. As can clearly be seen, the average power consumption of youtubeplay is much higher than that of CorePlayer. Raising the buffer size from 2048 kbytes to, say, 16Mbytes (to allow for the complete buffering of most clips) won't help at all.

With Wi-Fi power saving enabled, the power consumption is far lower - but, with youtubeplay, it's still definitely larger than with CorePlayer:

All in all, unlike on Symbian, on Windows Mobile you'll always want to stick to CorePlayer in order to absolutely minimize power usage when playing back FLV YouTube videos. (Again, the above power usage tests only only show FLV playback power usage as it's FLV playback that the other players support, not H.264.)

UPDATE (05/12/2008, later): I’ve forgotten to elaborate on the other implications of CorePlayer 1.2.4 having just received FLV support.

One of the most important consequences of this is that you no longer need to use TCPMP as a player together with FlashVideoBundle, should you want to stick to browsing the "full" YouTube in IEM and invoke an external player to play back the videos on them.

That is, you only need to install CorePlayer and, then, the single CAB file of FlashVideoBundle (as of this writing version 1.4.4) available for download HERE and, then (making sure you restart it at least once so that the plug-in is loaded), just fire up YouTube in your (WM5+) IEM and click any video link. In the context menu, just select "Play video" and CorePlayer will be invoked. Cool, eh? You’re no longer dependent on the aging TCPMP but can invoke CorePlayer to play your videos instead. One less programs to install on your handset, not to mention the other advantages (more refined, more battery-friendly drivers, decoders etc.)

If your handheld already has TCPMP pre-installed, you’ll want to either uninstall it or, in CorePlayer, override the file associations. Unfortunately, I couldn’t find out how you should force FlashVideoBundle to pass the execution to CorePlayer instead of TCPMP (without a chance to remove it) with ROM’s containing TCPMP built-in, without any way to uninstall them, like that of Ranju's HTC Universal ROM (v7.6). I’ve tried everything including deleting HKEY_LOCAL_MACHINE\ SOFTWARE\TCPMP in the Registry (the plug-in uses it) – in vain. Unfortunately, simply unassociating the files from inside TCPMP won’t work. I'll let you know when I find a solution.

UPDATE (09/23/2008):

The Kinoma folks have released the Windows Mobile port of their well-known, famous Palm OS player, Kinoma Play. It has excellent (in my opinion, the best on Windows Mobile) online media access features, including YouTube access. No wonder it has become the #1 in the connected media player category of WMExperts' (unfotunately, pretty terse and, CorePlayer-wise, pretty questionable - it has never crashed on me on any of my [numerous] WinMo devices) roundup. It offers a lot that, currently, CorePlayer can't provide.



(list view)



(playback in Landscape mode with controls shown (normally, they're hidden))

The biggest advantages of Kinoma Play (as of the current version) compared to the current version (1.2.5) of CorePlayer are as follows:

 

  • it supports Youtube accounts:

     

 

  • the length of lists isn't constrained: at the end of all lists (including searches), there's a "More" menu item, which allows for loading the data for and displaying the next 20 list items:

This, along with YouTube account support, is really missing from the current, pre-1.3 version of CorePlayer.

Now, the problems (as of the current (09/23/2008) version). Unfortunately, there are some.

 

  • on (W)VGA devices, the increased resolution isn't utilized. With YouTube, where only H.264 offers 480*320 (as opposed to the 320*240 resolution of Flash-based videos), there isn't much difference; with other video sources like standalone files (or ones coming from podcasts), this might be a huge problem. This also means that, unfortunately, album art and standalone image files are also rendered in low (QVGA) resolution only. This will, of course, not be a problem with low-res (QVGA) phones. Now, with the huge popularity of the VGA Diamond (Pro) and the forthcoming WVGA X1 and HD, more and more users run into this problem. Hope this will be fixed soon.

     

  • There's no built-in support for switching between portrait and landscape orientation. In CorePlayer, you only need to tap the screen to do this. Fortunately, the program automatically rotates the screen if you also rotate the system screen orientation from Settings / System / Screen. This is, however, pretty awkward: CorePlayer's approach is certainly much easier.

     

  • The GUI (and particularly the video playback) is really slow in Landscape, particularly on VGA devices. (QVGA devices fare far better in this respect.) That is, you'll want to prefer using Kinoma Play in Portrait, even with the videos not filling in the entire screen estate.

     

  • Playing back lower-res (QVGA at most) videos take definitely more CPU (and, consequently, battery) than doing exactly the same in CorePlayer.

Unfortunately, video playback speed problems are pretty common with Kinoma Play, particularly with video formats requiring a lot of computation power to decode. This means you won't be able to watch VGA-resolution H.264 movies on your (W)VGA handset. While CorePlayer can play them at almost full frame rate (with 5-10% framedrops at most), Kinoma Play will only deliver about 0.5-2 fps – and only at QVGA resolution.

Note that, stereo audio playback-wise, it works exactly like with the desktop version and unlike with CorePlayer on Windows Mobile. This means clips that are playbed back by CorePlayer in stereo in H.264 mode (for example, THIS and THIS) but only in mono in desktop browsers using the Flash player and, of course, in Kinema. On the other hand, clips like THIS are played back in stereo on both the desktop and in Kinoma but mono only in CorePlayer.

Hope the above-listed bugs will be fixed before long; currently, for YouTube searches / playback / browsing / login, it's far better a choice than the current (again, 1.2.5) version of CorePlayer. If you, on the other hand, don't find CorePlayer lacking in these respects (because, for example, you don't have a YouTube account or don't need more search results than 13), CorePlayer might be a better choice.

UPDATE (21/03/2009): YouTube have just released their own YouTube client for Windows Mobile – for a complete review & tutorial, see http://www.smartphonemag.com/cms/blog/9/youtube-release-their-own-youtube-client-windows-mobile
 

UPDATE (22/05/2009): New wmDA version out – now, with built-in full YouTube Flash download capabilities

UPDATE (10/06/2009): Just posted an update on (among other things) the YouTube features of the recently released Kinoma Player 2 and CorePlayer 1.3.2 to http://www.smartphonemag.com/cms/blog/9/multimedia-news-kinoma-player-2-pocket-player-41-coreplayer-132

UPDATE (22/06/2009): Just posted an update on the iPhone OS 3 improvements to http://www.iphonelife.com/blog/87/youtube-enhancements-iphone-os-3

Syndicate content