Convert RM to AMR — Free Online Tool

Convert RealMedia (.rm) files to AMR audio, extracting the audio stream and re-encoding it using the libopencore_amrnb codec optimized for speech. This is particularly useful for recovering voice content from legacy RealMedia streams and preparing it for mobile telephony or speech-focused applications.

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

During this conversion, FFmpeg demuxes the RealMedia container and discards the video stream entirely, since AMR is a pure audio format. The audio track — encoded in AAC or MP3 within the .rm file — is decoded to raw PCM and then re-encoded using the libopencore_amrnb (Adaptive Multi-Rate Narrowband) codec at 12,200 bps. AMR-NB operates on 8kHz mono audio, so FFmpeg will automatically downsample and downmix the source audio to meet these strict constraints. This means any stereo audio in the original RealMedia file will be folded down to mono, and high-frequency content above 4kHz will be discarded. The result is a compact .amr file suited for speech playback on mobile devices.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool. In the browser-based version of this tool, FFmpeg runs locally via WebAssembly (ffmpeg.wasm) with no file upload required.
-i input.rm Specifies the input RealMedia file. FFmpeg demuxes the .rm container, making both the MJPEG video stream and the AAC or MP3 audio stream available for processing.
-c:a libopencore_amrnb Sets the audio encoder to libopencore_amrnb, which encodes the decoded audio into AMR-NB format. This codec enforces mono audio at 8kHz, so FFmpeg will automatically resample and downmix the source audio from the RealMedia file to meet these requirements.
-b:a 12200 Sets the AMR-NB encoding mode to 12,200 bits per second, the highest quality mode available for this codec. This corresponds to AMR mode 7 (MR122) and produces the most intelligible speech output from the original RealMedia audio.
output.amr Defines the output filename and tells FFmpeg to write an AMR container file. The .amr extension triggers the single-channel AMR storage format, which is the standard file-based AMR format recognized by mobile devices and telecom applications.

Common Use Cases

  • Recovering spoken-word content or voice interviews archived in legacy RealMedia format for use in mobile voice messaging systems
  • Extracting speech audio from early 2000s RealMedia webcasts or podcasts to store in a low-bitrate format compatible with older mobile handsets
  • Preparing digitized voicemail or phone recordings originally distributed as .rm files for ingestion into telecom or IVR systems that require AMR input
  • Converting RealMedia audio guides or language-learning content into AMR so they can be loaded onto feature phones with limited storage
  • Archiving speech-only segments of RealMedia broadcasts in AMR to dramatically reduce file size when audio fidelity beyond voice intelligibility is not needed

Frequently Asked Questions

Yes, there will be a noticeable quality reduction, especially for music or wideband content. AMR-NB is designed exclusively for speech and operates at 8kHz, which means anything above 4kHz — including most musical tones and audio richness — is discarded. If your .rm file contains speech, the result will be intelligible but noticeably narrower than the original. If it contains music or mixed content, AMR is a poor choice and a format like MP3 or AAC would preserve quality far better.
AMR-NB (libopencore_amrnb) only supports mono audio at an 8kHz sample rate. FFmpeg automatically downmixes stereo to mono and resamples the audio during this conversion to satisfy those codec constraints. This is not a bug — it is a fundamental limitation of the AMR-NB format, which was engineered for single-channel voice telephony rather than stereo playback.
These values are AMR-NB mode bitrates in bits per second, corresponding to the codec's fixed encoding modes. 12200 bps (the default) is the highest quality mode and produces the most intelligible speech. Lower modes like 4750 bps reduce file size further but can introduce noticeable artifacts and garbled speech. For archiving or any use where clarity matters, stick with 12200. Only drop lower if you are severely storage-constrained and voice intelligibility at a basic level is acceptable.
Replace the value after -b:a in the command with any of the valid AMR-NB mode bitrates: 4750, 5150, 5900, 6700, 7400, 7950, 10200, or 12200. For example, to use the lowest bitrate mode, the command becomes: ffmpeg -i input.rm -c:a libopencore_amrnb -b:a 4750 output.amr. Note that unlike most codecs, AMR does not accept arbitrary bitrates — FFmpeg will snap to the nearest valid mode if you enter an unsupported value.
The command shown processes a single file, but you can batch convert on the command line using a shell loop. On Linux or macOS: for f in *.rm; do ffmpeg -i "$f" -c:a libopencore_amrnb -b:a 12200 "${f%.rm}.amr"; done. On Windows Command Prompt: for %f in (*.rm) do ffmpeg -i "%f" -c:a libopencore_amrnb -b:a 12200 "%~nf.amr". This will process every .rm file in the current directory and output a corresponding .amr file.
No, metadata is not preserved. RealMedia files may contain title, author, or copyright tags in their proprietary container format, but AMR has extremely limited metadata support and the conversion process does not map these fields across. If preserving metadata is important, consider adding it manually after conversion using FFmpeg's -metadata flag, for example: -metadata title='My Recording'.

Technical Notes

RealMedia (.rm) files use a proprietary container developed by RealNetworks that typically carries video encoded in RealVideo and audio in RealAudio codecs — however, the variant handled here uses MJPEG for video and AAC or MP3 for audio, which FFmpeg can decode reliably. AMR (Adaptive Multi-Rate) exists in two variants: AMR-NB (narrowband, 8kHz, mono) and AMR-WB (wideband, 16kHz, mono). This tool uses libopencore_amrnb, the narrowband variant, which imposes hard constraints of 8kHz sample rate and mono channel. FFmpeg handles the necessary resampling and downmixing automatically. One important limitation is that libopencore_amrnb is a decoder-only implementation in some FFmpeg builds; encoding requires FFmpeg to be compiled with libopencore_amrnb encoding support, which is standard in most distributed builds but may be absent in minimal custom compilations. The resulting .amr file uses the single-channel AMR storage format (magic number #!AMR
), which is broadly compatible with mobile devices and telecom software. File sizes will be very small — a one-minute speech recording at 12200 bps produces roughly 90KB — making this format highly efficient for voice archival despite its severe audio bandwidth limitations.

Related Tools