Convert RM to ALAC — Free Online Tool

Convert RealMedia (.rm) files to Apple Lossless Audio Codec (.m4a) entirely in your browser, extracting the audio stream and re-encoding it with ALAC for bit-perfect, lossless playback on Apple devices and iTunes. Since RealMedia typically contains lossy-compressed audio (AAC or MP3), ALAC preserves exactly what was in the source file without introducing any additional generation loss.

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 is a proprietary streaming container from the late 1990s that wraps lossy audio codecs such as AAC or MP3 (via libmp3lame). During this conversion, FFmpeg demuxes the .rm container, discards any video stream entirely (since ALAC is an audio-only format), and re-encodes the audio into Apple Lossless Audio Codec stored inside an MPEG-4 (.m4a) container. Because the source audio is already lossy (AAC or MP3 in the .rm file), ALAC does not recover detail that was lost during the original RealMedia encoding — it simply preserves the decoded PCM signal losslessly from this point forward, preventing any further quality degradation in future re-encodes. The output .m4a file is fully compatible with iTunes, Apple Music, iPhone, and any ALAC-aware player.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on your local desktop.
-i input.rm Specifies the input RealMedia file. FFmpeg reads the proprietary .rm container and demuxes its audio and video streams for processing.
-c:a alac Sets the audio codec to Apple Lossless Audio Codec (ALAC), which encodes the decoded PCM audio from the RealMedia source into a lossless representation suitable for Apple devices, iTunes, and Apple Music.
-c:a alac This flag appears twice in the resolved command — the second instance is redundant but harmless, as FFmpeg simply applies the same ALAC codec instruction. In practice, a single '-c:a alac' is sufficient and either instance alone produces the correct output.
output.m4a Defines the output filename with the .m4a extension, which tells FFmpeg to wrap the ALAC-encoded audio inside an MPEG-4 container — the standard packaging used by Apple for both ALAC and AAC audio files.

Common Use Cases

  • Archiving old RealMedia audio recordings — such as radio broadcasts or lectures downloaded in the early 2000s — into a modern, lossless container that won't degrade further if you ever need to transcode again.
  • Importing legacy .rm music files into iTunes or Apple Music, which cannot open RealMedia containers but natively supports ALAC .m4a files.
  • Preserving RealMedia podcast or interview recordings in a format suitable for long-term digital archiving, where re-encoding to a lossy format would compound audio artifacts.
  • Preparing RealMedia audio content for use in professional audio editing software (like Logic Pro or GarageBand) that works seamlessly with ALAC but does not support the .rm format.
  • Converting a collection of streamed RealMedia audiobook files into ALAC so they can be synced to an iPhone or iPad via iTunes without quality loss from a second lossy encode.
  • Recovering usable audio from old RealMedia video files where only the audio content is needed, producing a clean .m4a archive stripped of the proprietary video container.

Frequently Asked Questions

No — ALAC is lossless, but it cannot recover information that was already discarded by the lossy codec (AAC or MP3) inside the original .rm file. The conversion decodes the lossy audio to raw PCM and then stores that PCM losslessly in ALAC, so the quality is frozen at exactly what the RealMedia source contained. The key benefit is that no additional quality is lost: if you ever re-export from the ALAC file in the future, you start from the best possible copy of that source material.
The original .rm file used aggressive lossy compression (often at low bitrates typical of late-1990s streaming) to shrink the file for dial-up internet delivery. ALAC stores the full decoded PCM waveform with lossless compression, which is inherently larger than a lossy-compressed stream. A typical 128 kbps AAC stream from a .rm file might balloon to several times its original size in ALAC — this is expected and reflects the difference between lossy and lossless compression strategies.
The ALAC .m4a container does support chapters technically, but RealMedia files rarely embed chapter data in a standard way that FFmpeg can extract and map to the MPEG-4 chapter format. In practice, chapter information from .rm files is almost never preserved in this conversion. If chapters are important, you would need to add them manually to the output .m4a using a tool like MP4Box or iTunes after the conversion.
The video stream is dropped entirely. ALAC is a pure audio format and the .m4a container in this context carries only audio, so FFmpeg extracts just the audio track from the .rm file and encodes it to ALAC. If you need to preserve the video, you would need to convert to a different output format that supports both video and audio, such as MP4 or MKV.
ALAC is a lossless codec, so there is no bitrate or quality parameter to tune — the command has no -b:a or -q:a flag because ALAC always captures the full decoded PCM signal. The only variable that affects output quality is the quality of the source .rm file itself. If you want to produce a smaller lossy output instead, you would swap '-c:a alac' for something like '-c:a aac -b:a 192k' and change the output extension to .m4a or .aac.
Yes. On Linux or macOS you can use a shell loop: 'for f in *.rm; do ffmpeg -i "$f" -c:a alac "${f%.rm}.m4a"; done'. On Windows Command Prompt, use: 'for %f in (*.rm) do ffmpeg -i "%f" -c:a alac "%~nf.m4a"'. Each file is processed sequentially, producing an individual .m4a ALAC file for every .rm input. This is especially useful for large archiving projects where you have many legacy RealMedia files to convert.

Technical Notes

RealMedia (.rm) was designed for streaming over low-bandwidth connections and typically encodes audio at low-to-medium bitrates using AAC or MP3 (libmp3lame), both of which are lossy. When FFmpeg reads the .rm container, it must fully decode the compressed audio to PCM before re-encoding to ALAC, making this a transcode rather than a remux. Metadata (title, artist, album) embedded in the RealMedia container may or may not transfer cleanly, as RealMedia uses its own proprietary metadata tagging system that does not map perfectly to the iTunes-style ID3/MP4 tags used in .m4a files — verify tags in your media player after conversion. The ALAC codec flag must be explicitly specified ('-c:a alac') because FFmpeg has no way to infer a lossless audio target from a lossy source. The output .m4a file is fully compatible with all Apple platforms, VLC, foobar2000, and any other player with ALAC support. Note that very old or DRM-protected RealMedia files from streaming services may not be decodable by FFmpeg regardless of this tool.

Related Tools