Convert RM to AAC — Free Online Tool
Convert RealMedia (.rm) files to AAC audio by extracting and transcoding the embedded audio stream using FFmpeg. This tool strips the legacy RealMedia container and re-encodes whatever audio codec is present — typically AAC or MP3 — into a clean, modern AAC file compatible with iOS, Android, iTunes, and streaming platforms.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your RM file here
or click to browse
Free — no uploads, no signups. Your files never leave your browser.
Settings
Note: Browser-based encoding uses approximate quality targets. For precise CRF compression, copy the FFmpeg command above and run it on your desktop.
Estimated output:
Conversion Complete!
DownloadHow It Works
RealMedia files encapsulate audio and video streams inside RealNetworks' proprietary container format. This conversion discards the video stream entirely and targets only the audio track. FFmpeg reads the .rm container, decodes the audio (which may be AAC or MP3-encoded inside the RealMedia wrapper), and re-encodes it to a standard AAC stream at 128k bitrate, writing the result to a plain .aac file. Because the source audio codec and the output codec may differ, full decoding and re-encoding occurs rather than a simple stream copy — meaning FFmpeg processes every audio sample through the AAC encoder to produce the output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that handles reading the legacy RealMedia container format and encoding the output AAC audio. |
-i input.rm
|
Specifies the input RealMedia file. FFmpeg uses its built-in RealMedia demuxer to parse the proprietary .rm container and expose the audio (and any video) streams for processing. |
-c:a aac
|
Sets the audio codec to AAC using FFmpeg's native AAC encoder. This decodes the source audio from whatever codec was used inside the .rm file and re-encodes every sample into standard LC-AAC format. |
-b:a 128k
|
Sets the output AAC audio bitrate to 128 kilobits per second, a common default that balances file size and audio quality for music and speech. This can be raised to 192k or 256k for higher fidelity output from better-quality source .rm files. |
output.aac
|
Defines the output filename and format. The .aac extension tells FFmpeg to write a raw AAC bitstream file, which is broadly compatible with Apple devices, Android, and streaming platforms without any additional container wrapper. |
Common Use Cases
- Recovering audio from old RealMedia lecture recordings or educational content downloaded in the late 1990s or early 2000s for playback on modern devices
- Extracting music or spoken-word content from .rm files archived from early internet radio stations that streamed exclusively in RealMedia format
- Converting RealMedia interview recordings or podcast-era audio into AAC so they can be imported into iTunes, Apple Music, or modern podcast editing software
- Preparing legacy .rm audio content for upload to streaming platforms like Spotify for Podcasters or SoundCloud, which do not accept RealMedia files
- Transcoding RealMedia files from a digital archive project into a standardized, widely supported format for long-term preservation and compatibility
- Extracting the audio track from .rm video files to create ringtones or audio clips compatible with iPhone and Android devices
Frequently Asked Questions
It depends on what codec was used inside the original .rm file. If the source already contains AAC audio, re-encoding it to AAC at 128k introduces a second generation of lossy compression, which can introduce subtle artifacts — a known limitation called generation loss. If the source uses RealAudio or MP3 internally, the same applies. To minimize degradation, consider increasing the output bitrate to 192k or 256k in the FFmpeg command, especially if the original was encoded at a high bitrate.
RealMedia files can store metadata such as title, author, and copyright fields, but these use RealNetworks' proprietary tagging scheme. FFmpeg will attempt to map any recognized metadata tags to the output AAC file, but coverage is inconsistent — some fields may be dropped. If preserving metadata is important, you should verify the output file's tags using a tool like MediaInfo or mp3tag after conversion, and manually re-add any missing fields.
AAC is a pure audio format — it has no container structure capable of holding a video stream. The FFmpeg command used here targets only the audio track (-c:a aac) and writes to a .aac output file, so any video stream in the RealMedia source is automatically discarded. If you need to retain the video, you would need to convert to a container format like MP4 or MKV instead.
The -b:a flag controls the output audio bitrate. In the default command, -b:a 128k sets it to 128 kilobits per second, which is adequate for speech but may feel compressed for music. To increase quality, replace 128k with a higher value such as 192k or 256k: ffmpeg -i input.rm -c:a aac -b:a 192k output.aac. Alternatively, 96k or 64k can be used to reduce file size for voice recordings where high fidelity is less critical.
Yes. On Linux or macOS, you can loop over all .rm files in a directory with: for f in *.rm; do ffmpeg -i "$f" -c:a aac -b:a 128k "${f%.rm}.aac"; done. On Windows Command Prompt, use: for %f in (*.rm) do ffmpeg -i "%f" -c:a aac -b:a 128k "%~nf.aac". This is especially useful for digitizing large archives of old RealMedia content in one pass.
FFmpeg has built-in support for the RealMedia demuxer and can read most .rm files even when standard media players refuse them, because it does not rely on the original RealPlayer codecs. However, some very old RealMedia files use proprietary RealAudio codec variants (such as RA14, RA28, or Cook) that FFmpeg may only partially support. If the conversion fails or the output audio sounds corrupted, it is likely due to one of these obscure legacy RealAudio codec variants rather than a problem with the container itself.
Technical Notes
RealMedia (.rm) was designed specifically for low-bandwidth internet streaming and typically encodes audio at relatively low bitrates — often 32k to 96k — using codecs like RealAudio Cook, AAC, or MP3. When extracting audio for AAC conversion, FFmpeg must first demux the proprietary RealMedia container, then decode whatever audio codec is inside, before re-encoding to AAC using its native encoder (not libfdk_aac, which requires a separately compiled FFmpeg build). The native FFmpeg AAC encoder produces compliant LC-AAC output suitable for all major platforms. One important limitation: .rm files do not support chapters, embedded subtitles, or multiple audio tracks, so none of those concerns apply here. The output .aac file is a raw AAC bitstream without a container wrapper, which means it lacks seekability metadata — if you need a seekable file for use in video editing software or streaming, consider using .m4a (AAC in an MP4 container) as the output format instead by changing the output filename accordingly.