What Is RMVB and Why Does It Still Exist?
RMVB (RealMedia Variable Bitrate) is a container format developed by RealNetworks in the late 1990s. It uses RealVideo for the video stream and RealAudio (typically Cook or AAC) for the audio. The format was hugely popular in East Asia throughout the 2000s for distributing movies and TV shows online, thanks to its excellent compression efficiency at low bitrates.
You might encounter RMVB files if you have archived media from that era, receive content from regions where the format persisted, or work with legacy media libraries. The challenge is that RealMedia playback support has essentially vanished from modern platforms. RealPlayer itself is barely maintained, no web browser supports it, and most smartphones and smart TVs cannot play RMVB files at all.
Converting RMVB to MP4 is the only practical solution. Since RMVB uses proprietary codecs that no modern container supports, this always requires full re-encoding — there is no lossless remux option. The silver lining is that H.264 at equivalent visual quality produces smaller files than RealVideo, so you typically save disk space in the process.
Understanding RMVB Internals
| Component | RMVB Codec | Notes |
|---|---|---|
| Video | RealVideo 8, 9, or 10 | Proprietary, no modern player support |
| Audio | Cook (RealAudio), AAC, or AC3 | Cook is proprietary; AAC works in MP4 |
| Container | RealMedia (.rm, .rmvb) | .rmvb = variable bitrate variant |
| Subtitles | SRT (external) | Typically distributed as separate files |
FFmpeg includes decoders for RealVideo and Cook audio (built from reverse-engineered specifications), so it can handle RMVB files without any additional software.
Step-by-Step Conversion
Standard RMVB to MP4
ffmpeg -i input.rmvb -c:v libx264 -crf 20 -preset medium \
-c:a aac -b:a 128k -movflags +faststart output.mp4
RMVB files are almost always standard definition (480p or lower), so encoding is fast even on modest hardware.
Preserving Quality for Low-Bitrate Sources
Many RMVB files were encoded at extremely low bitrates (300-800 kbps). These files already show noticeable compression artifacts. Using a low CRF preserves these artifacts without improving quality, while a high CRF introduces additional degradation. CRF 20 is the recommended balance:
ffmpeg -i input.rmvb -c:v libx264 -crf 20 -preset slow \
-c:a aac -b:a 128k -movflags +faststart output.mp4
Batch Converting an RMVB Collection
mkdir -p converted
for file in *.rmvb *.rm; do
[ -f "$file" ] || continue
output="converted/$(basename "${file%.*}.mp4")"
ffmpeg -i "$file" -c:v libx264 -crf 20 -preset medium \
-c:a aac -b:a 128k -movflags +faststart "$output" -y
done
For more on batch workflows, see our batch processing guide.
Handling RMVB Audio Variants
RMVB files may contain different audio codecs:
| Audio Codec | FFmpeg Decoder | Action |
|---|---|---|
| Cook (RealAudio) | cook | Re-encode to AAC |
| AAC | aac | Copy or re-encode |
| AC3 | ac3 | Copy into MP4 |
| ATRAC | atrac3 | Re-encode to AAC |
Check your file's audio codec:
ffprobe -v error -select_streams a:0 \
-show_entries stream=codec_name,sample_rate,channels \
-of csv=p=0 input.rmvb
If the audio is already AAC, you can copy it directly:
ffmpeg -i input.rmvb -c:v libx264 -crf 20 -c:a copy output.mp4
Online Conversion
For a quick conversion without installing software, use the MP4 Converter online. Upload your RMVB file and the tool handles the rest. For broader format support, try the Video Converter.
Quality and Settings Tips
Resolution: RMVB files are typically 352x288 (CIF), 640x480 (VGA), or 720x480 (DVD). Do not upscale during conversion — it adds file size without improving detail. Omit any scaling flags and let FFmpeg preserve the original resolution.
CRF sweet spot: For RMVB sources, CRF 18-22 is the optimal range. Below 18, you are preserving RealVideo artifacts at inflated file size. Above 24, you are introducing additional degradation on already-compressed content.
Audio quality: RMVB files typically have audio at 32-128 kbps. When converting Cook audio to AAC, 128 kbps AAC at 44.1 kHz matches or exceeds the original quality. There is no benefit to using higher bitrates since you cannot recover quality lost in the original encoding.
Frame rate: RMVB files use 23.976, 25, or 29.97 fps. FFmpeg preserves the original frame rate automatically. Do not override it unless you have a specific reason.
For more on balancing quality and file size, read our guide on how to preserve quality during conversion.
Common Issues and Troubleshooting
"Invalid data found when processing input"
This error usually means the RMVB file is corrupted or uses an unsupported RealVideo variant. Try:
ffmpeg -err_detect ignore_err -i input.rmvb \
-c:v libx264 -crf 20 -c:a aac -b:a 128k output.mp4
The -err_detect ignore_err flag tells FFmpeg to skip corrupt frames rather than aborting.
Audio out of sync
RealMedia files occasionally have audio sync issues baked into the source. Fix with async resampling:
ffmpeg -i input.rmvb -c:v libx264 -crf 20 \
-c:a aac -b:a 128k -af "aresample=async=1" output.mp4
Green frames or visual corruption
Some RealVideo 8 files (the earliest version) may produce decoding artifacts in FFmpeg. Adding the -threads 1 flag can help, as single-threaded decoding sometimes handles edge cases better:
ffmpeg -threads 1 -i input.rmvb -c:v libx264 -crf 20 \
-c:a aac -b:a 128k output.mp4
Very slow conversion
RMVB decoding is CPU-intensive because the RealVideo codec is decoded in software. For a large library, use the medium or fast preset to reduce overall processing time. The quality difference between medium and slow presets is minimal for low-resolution sources.
Conclusion
RMVB is a format from a bygone era with zero modern playback support. Converting to MP4 with H.264 gives your files a new life on every device and platform. Since RMVB content is typically standard definition, conversions are fast, and the resulting MP4 files are usually smaller than the originals thanks to H.264's superior compression efficiency.
Ready to convert? Try our free Video Converter — no registration required.



