This is Inside RadioTime, a website that gives Broadcasters, Developers, OEMs and Advertisers looking for the 411 on the RadioTime guide.

Streams

Stream Concepts

Audio and video streams are a sometimes complicated mix of codecs, containers, protocols, and playlists. A thorough treatment of the technical background is beyond the scope of this document, but there are plenty of fantastic resources on the web, including Wikipedia.

The concepts that are most relevant to our API are codecs, protocols, and playlists.

Codecs

A codec is the algorithm used to encode and decode audio/video data. Below is a simplified chart of the ones we see most often.

Codec Description RadioTime Stream Type Prevalence
WMA Windows Media Audio Windows Very common
WMVoice Windows Media Voice WMVoice Rare, but some notable stations like Bloomberg
MP3 Mpeg Layer 3 MP3 Very common
AAC+ Advanced Audio Codec Plus AAC Uncommon but growing
Real Real Media Real Uncommon and declining
MP3/FLV Flash embedded audio HTML Uncommon but some important stations

There are many, many others, some of which we model and support in our guide.

Protocols

A protocol is the “layer 5″ network/transport technology that governs communication between client and server.

Protocol Typical Stream Formats Prevalence
HTTP MP3, AAC, Windows Very common
RTSP Windows Very common
ICY MP3, AAC Common
MMS Windows Uncommon
RTP Flash Uncommon

ICY is basically the same as HTTP, but the server responds with ICY rather than HTTP in its status line:

GET http://streamserver.com/stream.pls HTTP/1.0
ICY 200 OK 

Playlists

Playlists are simply groups of stream URLs. They are often nested and can reference arbitrary stream formats.

Playlist Typical Stream Formats Prevalence
M3U MP3, AAC Very common
PLS MP3, AAC Very common
ASX Windows Very common
RAM Real Uncommon
SMIL Real Rare

It is common for playlists to be malformed – bad formatting, invalid XML, etc.

Filtering and Player Support

The alphabet soup of protocols, codecs, and playlists can create serious headaches for stream players. Our services offer filtering so that players do not receive streams they cannot play.

In OPML, this is controlled by the global formats parameter. In OpenMedia, it is the formats customization. Alternatively, we can configure your partner profile with a set of media types.

See the respective API references for details.