Convert RM to AU — Free Online Tool

Convert RealMedia (.rm) files to Sun AU format, extracting the audio stream and re-encoding it as 16-bit big-endian PCM — a lossless, uncompressed representation stored in the classic Unix audio container. This is especially useful for recovering audio from legacy RealMedia streaming files into a format compatible with Unix/Linux audio tools and early web audio systems.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

RealMedia files typically carry AAC or MP3-encoded audio (lossy-compressed) inside a proprietary container. During this conversion, FFmpeg demuxes the .rm file to extract the audio stream, then decodes the compressed audio (AAC or MP3) into raw PCM samples, and finally re-encodes those samples as 16-bit signed big-endian PCM written into the Sun AU container. The video stream, if present, is discarded entirely — AU is an audio-only format. Because the AAC or MP3 source is lossy, the output AU file is an uncompressed representation of that already-lossy audio, not a fully lossless restoration of the original recording. The AU format's simple fixed header and raw PCM payload make it immediately readable by Unix audio utilities, Java's AudioInputStream, and legacy web browsers that supported .au files via the <audio> tag or browser plugins.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that powers this conversion. In the browser, this runs as FFmpeg.wasm compiled to WebAssembly — the same logic and command syntax as desktop FFmpeg, executed entirely locally without any server upload.
-i input.rm Specifies the input file in RealMedia format. FFmpeg detects the .rm container, identifies its proprietary RealMedia demuxer, and reads the embedded audio stream (typically AAC or MP3) and any video stream for processing.
-c:a pcm_s16be Sets the audio codec for the output to 16-bit signed big-endian PCM. This decodes whatever compressed audio codec was used in the source .rm file (AAC, MP3) into raw uncompressed samples stored in the byte order native to Sun SPARC hardware — the correct encoding for a standard AU file.
output.au Specifies the output filename with the .au extension. FFmpeg uses this extension to select the Sun AU muxer, which writes the simple .snd magic header followed by the raw pcm_s16be audio samples. The video stream from the source RM file is automatically dropped because the AU container supports audio only.

Common Use Cases

  • Recovering audio from archived RealMedia streaming recordings from the late 1990s or early 2000s for playback on Unix/Linux systems using tools like SoX or aplay
  • Preparing audio samples extracted from .rm files for use in Java applications, which have native support for the AU format via the javax.sound API
  • Migrating RealMedia audio content into an uncompressed PCM format for further processing in scientific or signal-processing pipelines that expect raw big-endian 16-bit samples
  • Extracting and converting RealAudio streams from .rm files into a format compatible with legacy Sun workstations or SPARC-based Unix systems that pre-date wide MP3 or AAC support
  • Converting old RealMedia lecture recordings or audio books into AU files for archival or integration into older Unix-based digital library systems
  • Stripping a RealMedia file down to its raw audio for editing in audio workstations or batch processing scripts that consume uncompressed audio via FFmpeg pipelines

Frequently Asked Questions

There is an unavoidable generation of loss during this conversion, but not because of the AU format itself. The audio inside a .rm file is stored in a lossy codec — most commonly AAC or MP3. FFmpeg must decode that compressed audio first, then write it as uncompressed PCM into the AU file. This decode-and-rewrite step introduces no additional compression artifacts, but the original lossy encoding artifacts from the RealAudio stream are baked in. The resulting AU file is an uncompressed copy of whatever quality the source RM file contained.
AU is a strictly audio-only container with no provision for video streams, chapters, or subtitles. FFmpeg automatically drops the video stream when writing to an audio-only output format. If your .rm file contains video you want to preserve, you would need to convert to a video-capable container such as MP4 or MKV instead. The AU format was designed for simple, single-stream PCM audio delivery in Unix environments.
pcm_s16be stands for PCM (Pulse-Code Modulation), signed, 16-bit, big-endian. It is uncompressed audio where each audio sample is stored as a 16-bit integer with the most significant byte first — the byte order standard on Sun SPARC hardware, which is why the AU format defaults to it. The Sun AU specification was designed around big-endian architecture, making pcm_s16be the natural and most compatible choice. This codec is lossless in the sense that it introduces no compression, though as noted above, the source RM audio is already lossy.
Significantly larger. A typical .rm file uses compressed AAC or MP3 audio at 64–192 kbps, while pcm_s16be at the default 44100 Hz stereo produces approximately 1411 kbps of raw audio data — roughly 10 MB per minute of audio. Compared to a compressed RM file at 128 kbps (about 1 MB per minute), the AU output will be roughly 10 times larger. Plan your storage accordingly, especially when processing longer recordings.
You can add '-ar 22050' to set the sample rate (e.g., 22050 Hz for a smaller file) or '-ar 44100' to explicitly request CD quality. To use 8-bit PCM instead of 16-bit, replace '-c:a pcm_s16be' with '-c:a pcm_s8' or '-c:a pcm_u8' — both are valid AU codecs. For telephony use cases, '-c:a pcm_mulaw' or '-c:a pcm_alaw' produce G.711-encoded AU files at 8 kHz, which is the classic format used in phone systems and early VoIP. For example: ffmpeg -i input.rm -c:a pcm_mulaw -ar 8000 output.au
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.rm; do ffmpeg -i "$f" -c:a pcm_s16be "${f%.rm}.au"; done'. On Windows Command Prompt, use: 'for %f in (*.rm) do ffmpeg -i "%f" -c:a pcm_s16be "%~nf.au"'. Each .rm file will be converted independently, producing a corresponding .au file with the same base name. This is particularly useful when processing archived collections of legacy RealMedia content.

Technical Notes

The Sun AU format stores audio with a minimal 24-byte header containing the magic number '.snd', a data offset, data size, encoding type, sample rate, and channel count — followed immediately by raw audio samples. This simplicity makes it highly portable on Unix systems but means it carries virtually no metadata: no title, artist, album, or chapter information from the source RM file will be preserved. RealMedia files may also embed multiple audio streams or codec-specific features like RealAudio 10 (AAC-based), and FFmpeg will select the first audio stream by default; if your .rm file has an unusual or proprietary codec variant that FFmpeg cannot fully decode, the conversion may produce silence or fail with an unsupported codec error. Because .rm files were often designed for streaming at low bitrates, the source audio quality is frequently limited (64–128 kbps), and the uncompressed AU output will faithfully preserve those bandwidth-era limitations. There is no transparency, subtitle, or chapter support to worry about losing — neither RM nor AU supports those features in a compatible way for this conversion path.

Related Tools