[3.0] The new audio engine explained

The audio engine underpins the Radioplayer Browser Player. With so many new devices popping up, we’ve spent a lot of time updating the engine to ensure it works reliably across as many browser/OS/device combinations as possible.

Flash with HTML5 benefits

At its core, is a new version of the Radioplayer Embedded Media Player. This Flash object has been updated and supports a raft of new features. Alongside this, we’ve built in HTML5 playback for non-Flash devices.

New Flash features

Better support for AAC – Flash does support AAC over both RTMP and HTTP. If you’re trying the latter, make sure your streaming server is capable of sending the FLV or MP4 wrapper which Flash needs (a vanilla AAC stream will not play without it). If your stream is compatible, set the audio type httpmp4m4a

In-stream metadata – if your stream provides in-stream metadata such as Now Playing information, the EMP is able to extract it. In its simplest form, if the EMP finds something it can read, and it’s a track then the player will display the track title in the Now Playing Ticker. This works with RTMP streams, Shoutcast MP3 (but not Icecast) and AAC. Users needing Icecast should consider the LiquidCompass Echo server (paid) instead since Icecast embeds data in a way that is not easily decoded. Advanced station developers can take this new feature further and manually intercept and parse the data for additional processing if required.

Reconnection resilience – we’ve tweaked the reconnection rules following feedback from stations. The EMP will still be as stable as it used to be, but with some subtleties which will prevent connection flooding. Stability has been improved across the board.

Continued support for nested SMIL, XSPF and M3U playlists – if you’re using nested playlists for pre-roll, we still support these so nothing will break. Consider using overlays and interstitials for more up-to-date ways of doing pre-roll.

HTML5 features

Web developers will know that browser support for HTML5 is very mixed. So we’ve kept it simple for stations to use this.

Support for MP3 live and ondemand audio – we have standardised on MP3 because, whilst some non-Flash enabled browsers do support other codecs like AAC, MP3 is more widely supported which means your stream will be heard by more people.

Intelligent reconnection rules – the HTML5 engine is less capable of detecting problems, compared to Flash, so it’ll try five times before giving up.

Tested on iOS – we’ve tested the iOS/Safari and iOS/Chrome combinations to ensure that iOS tablet users get the best experience possible. We’ve tested Android too, of course, and don’t forget that for older Android devices, Flash is still enabled.

Using the HTML5 engine

We’re asking stations to provide a separate HTML5-friendly stream which the console will pick when Flash isn’t available. This stream must be an MP3 stream delivered over HTTP and playlists are not supported. If you are already streaming in MP3 via Shoutcast or Icecast, then you’re already ready. The console lets you set a Primary Stream (for Flash playback) and an HTML5 stream and it’s fine to use the same MP3 stream for both.

The console generator will provide you with the fields to complete and for stations not using the console generator, check the bundled integration guide for implementation details.


What happens if a user doesn’t have Flash and can’t play HTML5?
We’ll serve up a page telling the user they don’t have a capable browser. For mobile devices, they’ll be advised of the Radioplayer apps which they could download instead.

Why can’t the HTML5 engine play the mobile stream we’ve already submitted?

If the stream is an MP3 stream and not in a playlist, it can. Because we can’t guarantee AAC support across the wide range of devices, we have to ask for MP3 streams only.

What about playlists?
Playlists remain supported in Flash so you can still set your Primary Stream to be a playlist. Playlists aren’t supported in HTML5 because of CORS (cross-domain) issues. This is a limitation of the specification not the Radioplayer browser player.

How easy is it to set this up?
Very. Don’t forget the engine works out whether a browser can support Flash and does all the heavy lifting. You just need to give it your usual console stream as the primary stream and set the HTML5 stream to an MP3 stream.

Are there any limitations on bitrates, like in the mobile apps?
No. But the difference in audio quality above 192k is rarely perceptible except for classical music.

Do you support any other codecs?
So all of the supported codecs are here – if you’ve got ambitions to try FLAC streaming or OGG or something crazy like that, then it’s worth knowing that whilst the Flash EMP supports any audio stream normally playable in Flash…it’s best to stick to codecs we officially support.

Radioplayer Knowledge Base has written 40 articles

We’ve put together a handy guide to get you set up quickly in Radioplayer. As you know, the Radioplayer console is a browser-based application which is hosted by your station, so before you begin, you’ll need someone who knows their way around your website and has FTP access.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>