[General Topics] Menneisyys:
1.2 When you prefer optimizing an, otherwise, working stream...

Now that we’ve seen what can make it completely impossible to listen to a particular stream, let me also take a look at when you may still want to go for an optimized version of a radio station.

While, at your current connection speed, you already have a compatible stream, it isn’t of the best quality and you would prefer something much better.

The most important examples of this case are GPRS connections, meaning less than 43 kbps total download (downlink) speed, which means about 32 kbps effective radio stream bit rate. With traditional (non-HE-AAC v2) radio stations, you can only have streams of bad quality using GPRS.

For example, Orb only offers a 32 kbps, mono, 44 kHz stream when you switch to the GPRS mode (by using the “40 kbps” mode) if you can’t use RTSP because of the NAT restrictions of your operator. In no way can you instruct the Orb client to transfer stereo WMA audio in so low bitrates.

The (pretty few – most radio stations only have 60+ kbps OGG / WMA and 90+ kbps MP3 streams) radio stations that natively support 32-kbps-max bitrates suffer from the same problem: these streams are almost all mono and still of low sound quality.

You may want to prefer a single interface to quickly switch between your favourite radio stations, independent of their type / source. For example, you don’t want to fire up Internet Explorer Mobile (or, on Symbian, (Nokia) Web) to log into your Sirius account to listen to your Sirius stream only to find out you would still prefer a non-Sirius stream. In these cases, you’ll want to do this using an interface letting for quickly switching between your streams in order to avoid having firing up completely different interfaces to access them all.

And, I’ve already mentioned the vastly increased battery life when you fall back to 2.(7)5G technologies like GPRS (or EDGE – if you’re lucky enough to be a subscriber of a mobile operator with EDGE support). In general, you can count with about 50% (!) increased battery life if you do so.

Again and again, now, with the latest achievements in the radio streaming / encoding technology, you can get perfect sound quality even at GPRS speeds. That is, now, pre-3G technologies (and, particularly, GPRS – as has already been explained, EDGE, which offers far higher transfer speeds without any severe power usage increase, is able to stream most, if not all, current radio streams) have become much more important than ever before. You wouldn’t have thought you would force your shiny, HSDPA-capable, expensive handset to use GPRS only, have you? :) It certainly pays off if you need acceptably battery life while listening to your radio stations without any external charger for more than a few minutes.

If you don’t believe you can save a LOT of battery life by sticking to GPRS (or EDGE), just take a look at the following acbTaskMan screenshot showing the TCPMP playback of an MP3 stream on an HTC Universal. The first section shows playing back the stream over UMTS; the second over GPRS. The current difference is 200 mA / 330 mA = 60% (see the upper chart; the lower one shows the CPU usage which, in this test, is exactly the same because I played back the same stream with the same player). (Disregard the temporary power "bump" of the second part.) Yes, you can get 60% better battery life if you force your handset to operate in GPRS mode, instead of streaming over UMTS. Quite a difference, isn’t it?

As can clearly be seen, the difference is almost the same as with the Nokia N95 – or, for that matter, with any other, current handset. As a rule of thumb, you will have at least 50% better battery life with any handset if you don’t use 3G for streaming.

To have a picture of what playback times you can expect of current handsets while playing back HE-AACv2 (and, on Symbian, MP3) streams over GPRS, I’ve made some serious long-time tests. On the TI OMAP-based HTC Vox / s710 MS Smartphone, HE-AACv2 (TCPMP) consumed 27% power an hour. Incidentally, as the TI OMAP platform exhibits far less CPU usage-dependent power usage than at least the older (but still most widely deployed) pre-PXA-3x0-series Intel Xscale’s, I’ve got almost the same figure with A2DP enabled. A2DP causes about an additional 20% CPU usage on the Vox; still, the difference in battery life is negligible when streaming (streaming itself is a very battery-consuming activity, even if you only use GPRS/EDGE, and stay away from 3G).

On the Nokia N95 v20, without A2DP, the power consumption is about 0.93W (see THIS) ; with A2DP, about 1.15W. Therefore, you can expect slightly less than 4 hours of playback time without A2DP on the handset – just like with the HTC Vox.

Note that, currently, on Windows Mobile, you’ll want to use TCPMP to play back your streams. See THIS article for more info on HE-AACv2 compliance. It’s only later that CorePlayer and, probably, Conduits Pocket Player / PocketMind Pocket Music (the developers of these apps promised they'd look into implementing support for them) get HE-AACv2 support.

Keep in mind the following: if you install TCPMP on a MS Smartphone (WM6 Standard), as opposed to “regular” Pocket PC’s, just extract 00000aac.001 from the AAC CAB file, rename it to aac.plg and copy it to the home directory of TCPMP on your Smartphone.

On Symbian, currently, Nokia Internet Radio (see remarks & quick review HERE) is the best way to play back SHOUTcast MP3 streams.

Now, let’s take a quick look at what tools we have at our disposal.

1.3 Our tools: transcoders, stream formats

1.3.1 You must run a transcoder on your desktop PC!

First and foremost, for ALL the alternate technologies, you’ll need to have a desktop computer attached to the Internet and switched on when listening to music. The sole reason for this is that it’s on this machine that the so-called ‘transcoding’ (converting between two stream formats; Wiki page HERE) takes place. Your handset will connect to this desktop PC instead of the original radio station URL.

Why no purely desktop PC-less setup, you might ask. Why can’t you just connect to a third-party server to do the trick for you? The reason for this is pretty simple: transcoding is a pretty much CPU-intensive task. A typical transcoding process, in VLC, takes about 10% CPU cycles on a contemporary 3.2 GHz P4. You can’t expect for example the Orb folks to install a supercomputer or some hundred PC’s to offer transcoding to their clients – for free. Of course, in the future, companies / services specialized in providing server-side, commercial transcoding services may turn up.

This is why you MUST have a desktop PC running your transcoder, independent of their particular type.

1.3.2 Stream formats

In my quick review of streaming audio formats, I’ve already elaborated on the different playback capabilities of the available media players.

You may already also know that you should go for the currently best, most effective audio format, HE-AAC v2 if you have a Windows Mobile device. If you have a Symbian one, then, either MP3 or, if you have a non-NAT’ed network connection, even Orb's RealAudio or RTSP/AAC will work for you.

Quality differences (in which, HE-AAC v2 is certainly the winner) and generic operating system compliance (again, streamed HE-AAC v2 is, currently, only compatible with Windows Mobile but not with Symbian) aside, there are some other factors you should consider when going for a given streaming format; for example, the CPU usage, which, at least on some architectures, may have a huge effect on the power usage and battery life of the handset.

The following screenshot shows playing back MP3 (which is a less CPU-hungry operation) and HE-AAC v2.

Note that this, mostly, affects Intel Xscale PXA-2xx users only – that is, users with HTC Universals, Athenas / X7500’s and several earlier PDA’s and handsets. Users of for example TI OMAP-based handsets won’t really notice any increase in battery life if they go for MP3 instead of HE-AAC v2. The reason for this has already been explained in my H.264 Bible: the TI OMAP platform is much more battery-friendly than the Intel PXA-2xx one. I can only hope Marvel, the new owner / developer of the old PXA architecture, have indeed improved on power usage in the brand new, 3x0-series PXA’s. (I still haven't had the chance to verify this as these new CPU's are used in very few and, in Europe, still not available, disconnected, traditional PDA models.)