RealAudio

RealAudio, also spelled Real Audio, is a proprietary audio format developed by RealNetworks and first released in April 1995. It uses a variety of audio codecs, ranging from low-bitrate formats that can be used over dialup modems, to high-fidelity formats for music. It can be used as a streaming audio format, that is played at the same time as it is downloaded.

In the past, many internet radio stations used RealAudio to stream their programming over the internet in real time. In recent years, however, the format has become less common and has given way to more popular audio formats. RealAudio was heavily used by the BBC websites until 2009, though it was discontinued due to its declining use. BBC World Service, the last of the BBC websites to use RealAudio, discontinued its use in March 2011.

File extensions
RealAudio files were originally identified by a filename extension of .ra (for Real Audio). In 1997, RealNetworks also began offering a video format called RealVideo. The combination of the audio and video formats was called RealMedia and used the file extension .rm. However, the latest version of RealProducer, Real's flagship encoder, reverted to using .ra for audio-only files, and began using .rv for video files (with or without audio), and .rmvb for VBR video files. The .ram (Real Audio Metadata) and .smil (Synchronized Multimedia Integration Language) file formats are sometimes encountered as links from web pages (see .Streaming Audio section below).

Players
The official player for RealMedia content is RealNetworks' RealPlayer SP, currently at version 16, and is available for various platforms in binary form. Several features of this program have proven controversial (most recently, RP11's ability to record unprotected streaming media from web sites), and many alternative players have been developed. RealNetworks initially tried to discourage development of alternative players by keeping their audio format secret. However, in recent years, RealNetworks has made efforts to be somewhat more open, and has founded the Helix Community, a collaborative open source project, to extend their media framework.

When RealAudio was introduced, RealNetworks disclosed no technical details about the audio format or how it was encoded, but it was soon noticed that some of the audio codecs used in RealAudio were identical to those used in cellular telephones and digital television. As these formats had been described in detail in various technical papers and standards documents, it was possible to write software capable of playing RealAudio based on this information.

A variety of unofficial players now exist, including MPlayer, and Real Alternative. However, Real Alternative does not decode the audio data by itself, but relies on the dynamically linked libraries (DLLs) from the official RealPlayer. Thus Real Alternative requires RealPlayer to be installed (or at least its DLLs) in order to function. Most other players are based on FFmpeg, which has its own audio codec library. The audio codecs in ffmpeg were written based on the publicly available information about the formats, and do not use the RealPlayer or Helix software. It is also possible to obtain codecs which allow Windows Media Player to play some versions of RealAudio.

Although RealNetworks has made the Helix player available as an open source project, they have kept some of the audio codecs proprietary, and the Helix player can not play all RealAudio files.

Streaming audio
RealAudio was developed as a streaming media format, meaning that it can be played while it is downloaded. It is possible to stream RealAudio using HTTP. In this case, the RealAudio file is retrieved similarly to a normal web page, but playback begins as soon as the first part is received and continues while the rest of the file is downloaded. Using HTTP streaming works best with pre-recorded files so some alternative protocols have been developed which work better for live broadcasts.

The first version of RealAudio used a proprietary protocol called PNA or PNM to send streaming audio data. RealNetworks later switched to the IETF standardized Real Time Streaming Protocol (RTSP) but they use RTSP only to manage the connection. The actual audio data is sent with their own proprietary RDT protocol, which they initially kept secret. Recently, some specifications for the RDT protocol have been made public through the Helix Community project. By around 2004 the open-source MPlayer project developed a means of playing the RDT streams.

In many cases, web pages do not link directly to a RealAudio file. Instead, they link to a .ram (Real Audio Metadata) or SMIL file. This is a small text file containing a link to the audio stream. When a user clicks on such a link, the user's web browser downloads the .ram or .smil file and launches the user's media player. The media player reads the PNM or RTSP URL from the file and then plays the stream.

With RealPlayer SP, it is now possible to save an audio stream to a file. Other programs, including MPlayer, RM Downloader, VLC media player, StreamBox VCR, HiDownload and Real7ime Converter can also save streams to a file.

Codecs
RealAudio files are compressed using several audio codecs. Each codec is identified by a four character code. Below is a list of the codecs and the version in which each was introduced:


 * lpcJ, 14_4: IS-54 VSELP (RealAudio 1)
 * 28_8: G.728 LD-CELP (RealAudio 2)
 * dnet: Dolby AC3 (RealAudio 3)
 * sipr: Sipro Lab Telecom ACELP-NET (RealAudio 4/5)
 * cook: G2/Cook Codec (RealAudio 6)
 * atrc: Sony ATRAC3 (RealAudio 8)
 * raac: MPEG-4 LC-AAC (RealAudio 9)
 * racp: MPEG-4 HE-AAC (RealAudio 10)
 * ralf: RealAudio Lossless Format (RealAudio 10)

While the newest version of RealPlayer should be able to play any RealAudio file, other programs may not support all codecs.