Extract Audio from RM to AMR — Free Online Tool
Extract audio from legacy RealMedia (.rm) files and convert it to AMR format using the libopencore_amrnb codec — ideal for repurposing old streaming-era voice content for mobile telephony or speech applications. AMR's narrow-band compression is purpose-built for speech, making it an efficient target for spoken-word content originally streamed via RealNetworks.
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
During this conversion, FFmpeg strips the video stream entirely from the RealMedia container and decodes the audio (typically AAC or MP3 as encoded in the .rm file). That decoded PCM audio is then re-encoded using the libopencore_amrnb encoder into Adaptive Multi-Rate Narrow-Band format at 12,200 bps — the highest AMR-NB bitrate. AMR-NB supports only 8 kHz mono audio, so if the source audio is stereo or sampled at a higher rate (e.g., 44.1 kHz), FFmpeg will automatically downmix to mono and resample to 8 kHz during encoding. This is a full transcode — both the demuxing of the RM container and the re-encoding of the audio stream involve lossy processing steps.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg tool, which handles demuxing the RealMedia container, decoding the audio stream, and re-encoding it to AMR-NB — all in a single pipeline running here via WebAssembly in your browser. |
-i input.rm
|
Specifies the input RealMedia file. FFmpeg will open the .rm container, detect the available audio stream (typically AAC or MP3-encoded), and prepare it for decoding. |
-vn
|
Disables video output entirely. Since RealMedia can contain video streams and AMR is a pure audio format, this flag ensures FFmpeg ignores any video data and produces an audio-only output file. |
-c:a libopencore_amrnb
|
Sets the audio encoder to libopencore_amrnb, the open-source implementation of the AMR Narrow-Band codec. This re-encodes the decoded audio from the .rm file as AMR-NB, which operates at 8 kHz mono — the standard for GSM mobile telephony. |
-b:a 12200
|
Sets the AMR-NB encoding bitrate to 12,200 bps, which corresponds to mode 7 — the highest quality mode available in the AMR-NB standard. This provides the best speech intelligibility while remaining within the narrow-band constraint of the codec. |
output.amr
|
Specifies the output filename with the .amr extension, which triggers FFmpeg to write a raw AMR-NB file with the standard '#!AMR\n' file header recognized by mobile devices and telephony systems. |
Common Use Cases
- Extracting speech or voice commentary from archival RealMedia files from the late 1990s or early 2000s and converting it to AMR for storage on mobile devices or SIM-based systems
- Repurposing old streaming audio lectures or radio broadcasts encoded in RealMedia into AMR for use in GSM-based telephony or IVR (Interactive Voice Response) systems
- Converting RealMedia voice memos or spoken-word content into AMR for playback on feature phones or embedded devices that natively support AMR-NB
- Archiving RealMedia speech recordings in a compact, speech-optimized format — AMR at 12,200 bps produces very small file sizes compared to the original container
- Preparing legacy RealMedia audio for integration into mobile apps or VoIP systems that require AMR-encoded voice streams
Frequently Asked Questions
Yes, some quality loss is expected because this is a lossy-to-lossy transcode — the audio in the .rm file is already compressed (as AAC or MP3), and it gets decoded and then re-encoded into AMR-NB. More importantly, AMR-NB is optimized exclusively for speech at 8 kHz mono, so music or wide-band audio from the original RealMedia file will sound noticeably degraded. For voice content, the result is generally quite intelligible, but this format is not suitable for music or high-fidelity audio.
AMR-NB (libopencore_amrnb) is a narrowband codec standardized for GSM mobile telephony, where speech bandwidth requirements are minimal. It is hardcoded to 8,000 Hz sample rate and mono channel. If your RealMedia file contains stereo audio, FFmpeg will automatically downmix it to mono during encoding. If the source audio is sampled at 44.1 kHz or 22.05 kHz (common in .rm files), it will be resampled down to 8 kHz. This is expected behavior and required by the AMR-NB specification.
These numbers represent the AMR-NB codec's fixed bitrate modes in bits per second, defined by the GSM/3GPP standard. The default used in this tool is 12,200 bps (mode 7, the highest AMR-NB mode), which provides the best speech quality within the narrow-band constraint. Lower modes like 4,750 bps produce smaller files but with noticeably reduced intelligibility. For archiving speech from old RealMedia files, 12,200 bps is strongly recommended.
Yes, AMR-WB (Wide-Band) operates at 16 kHz instead of 8 kHz and offers significantly better audio quality than AMR-NB, making it more suitable if your RealMedia source contains higher-quality speech. To use it, you would change the codec flag in the FFmpeg command to '-c:a libopencore_amrwb' and select an appropriate WB bitrate (e.g., 23850 bps). Note that AMR-WB support varies across devices — AMR-NB has broader compatibility with legacy mobile systems.
Replace the value after '-b:a' in the command with one of the valid AMR-NB bitrate modes: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200 (all in bps). For example, to use the lowest bitrate for maximum compression, the command would be: ffmpeg -i input.rm -vn -c:a libopencore_amrnb -b:a 4750 output.amr. Note that unlike most codecs, AMR-NB only accepts these specific fixed mode values — arbitrary bitrates will not work.
The AMR file format has very limited metadata support — it does not have a standardized container for tags like title, artist, or creation date in the way MP3 or AAC containers do. As a result, metadata embedded in the RealMedia file (such as RealNetworks-specific title or author tags) will not be preserved in the .amr output. If metadata preservation is important, consider converting to a format with richer container support, such as M4A or OGG.
Technical Notes
RealMedia (.rm) files use a proprietary container developed by RealNetworks that typically stores audio encoded as AAC or MP3 (sometimes even RealAudio-specific codecs in older files). FFmpeg's support for the RM demuxer is mature but some very old or heavily proprietary RM variants may produce warnings or fail to decode cleanly. The AMR-NB output is a raw AMR file with a simple header (magic number '#!AMR\n') and no true multimedia container — this means metadata, chapters, and multiple audio tracks are all unsupported. The codec libopencore_amrnb is an open-source implementation of the 3GPP AMR-NB standard and is widely supported in FFmpeg builds, though it must be compiled with the library enabled. One important limitation: AMR-NB's 8 kHz ceiling means any frequency content above 4 kHz from the original RealMedia audio will be lost. For voice content from old RealMedia streams — which were often already encoded at low bitrates for dial-up delivery — this tradeoff is generally acceptable and the resulting AMR files will be very compact.