Convert RMVB to MP4 — Free Online Tool

Convert RMVB files to MP4 by re-encoding the RealVideo/RealAudio streams into H.264 video and AAC audio — two of the most universally supported codecs today. This is especially useful for playing back legacy RealMedia content on modern devices and platforms that no longer ship with RealPlayer support.

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

RMVB (RealMedia Variable Bitrate) uses proprietary RealVideo and RealAudio codecs that are natively understood by almost no modern media player outside of RealPlayer. Because MP4 does not support these codecs, a full re-encode is required — the video stream is decoded from its RealVideo encoding and re-encoded as H.264 using libx264, and the audio stream is decoded from RealAudio and re-encoded as AAC. This is not a simple container swap (remux); both streams are fully transcoded, which takes more processing time but results in a file that plays on virtually any device, browser, or platform. The -movflags +faststart flag reorganizes the MP4 metadata to the front of the file, enabling progressive playback in web browsers before the full download completes.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg program, the open-source multimedia processing engine that handles all decoding, encoding, and container operations in this conversion. In the browser version of this tool, FFmpeg runs via WebAssembly (FFmpeg.wasm) without any server involvement.
-i input.rmvb Specifies the input file in RMVB (RealMedia Variable Bitrate) format. FFmpeg will use its RMVB demuxer to read the proprietary RealMedia container and hand the RealVideo and RealAudio streams off to the appropriate decoders.
-c:v libx264 Sets the video encoder to libx264, which re-encodes the decoded RealVideo stream into H.264. This is a mandatory full re-encode because the MP4 container cannot carry RealVideo codec data — there is no shortcut here.
-c:a aac Sets the audio encoder to AAC (Advanced Audio Coding), re-encoding the decoded RealAudio stream into the most widely compatible audio codec for MP4 files. AAC is natively supported by browsers, iOS, Android, and all modern media players.
-crf 23 Sets the Constant Rate Factor for the H.264 video encoder to 23, the default quality level. This controls the perceptual quality-to-file-size tradeoff for the re-encoded video — lower values like 18 produce higher quality at larger file sizes, useful when the source RMVB contains high-quality video worth preserving.
-b:a 128k Sets the AAC audio output bitrate to 128 kilobits per second. For most RMVB source files — which were often encoded at 64–128kbps RealAudio — this provides an equivalent or better quality audio output without unnecessary file size inflation.
-movflags +faststart Relocates the MP4 moov metadata atom to the beginning of the output file after encoding completes. This enables web browsers and streaming players to begin playing the converted MP4 before the full file has loaded, which is particularly valuable when sharing or hosting converted RMVB content online.
output.mp4 Specifies the output filename and container format. The .mp4 extension tells FFmpeg to write an MPEG-4 Part 14 container, which will hold the newly encoded H.264 video and AAC audio streams produced from the RMVB source.

Common Use Cases

  • Playing back an old RMVB movie or TV episode downloaded in the early 2000s on a modern smartphone or smart TV that has no RealPlayer support
  • Uploading legacy RealMedia video content to YouTube, Vimeo, or other streaming platforms that accept MP4 but reject RMVB
  • Archiving a collection of RMVB files into the more future-proof MP4/H.264 format before RealPlayer support disappears entirely from operating systems
  • Embedding a converted RMVB lecture or tutorial video into a website or learning management system that requires MP4 for HTML5 video playback
  • Importing RMVB footage into a video editor such as Adobe Premiere or DaVinci Resolve, which do not natively support the RealMedia container
  • Sharing an RMVB video clip with someone via messaging app or email where the recipient's device cannot install RealPlayer to play the original file

Frequently Asked Questions

Because RMVB uses lossy RealVideo compression and the conversion re-encodes to lossy H.264, there is a generation loss — some quality is degraded in the transcoding step. However, with the default CRF 23 setting used in this tool, the H.264 output typically looks comparable to or better than many RMVB files, since older RealVideo encoders were often less efficient than modern libx264. The most visible quality loss tends to appear in fast-motion scenes or areas of fine detail. If preserving the closest possible quality is critical, lower the CRF value toward 18.
The MP4 container specification does not support RealVideo or RealAudio codecs — they are proprietary to RealNetworks and tightly tied to the RealMedia container format. A remux (stream copy) is only possible when the source codec is directly supported by the destination container. Since neither RealVideo nor RealAudio can be placed inside an MP4 file, both streams must be fully decoded and re-encoded into H.264 and AAC respectively. This is why RMVB-to-MP4 conversion takes significantly longer than, say, MKV-to-MP4 conversion where the codec may already be H.264.
Some RMVB files include embedded RealText or SMIL-based subtitle streams and occasionally alternate audio tracks. This tool performs a straightforward single-stream conversion and does not extract or transcode subtitle or secondary audio tracks into the output MP4. If your RMVB file has embedded subtitles you need to preserve, you would need a more advanced FFmpeg command using the -c:s or subtitle mapping flags, and even then RealText subtitle format compatibility with MP4 containers is limited.
To change video quality, modify the -crf value: lower numbers like 18 produce higher quality and larger files, while higher numbers like 28 produce smaller files with more compression artifacts. The CRF scale runs from 0 (lossless) to 51 (worst quality), with 23 as the default balance point. To change audio quality, replace 128k in the -b:a 128k flag with a higher value like 192k or 256k for better audio fidelity — this is particularly useful if the source RMVB has high-quality audio that you want preserved as faithfully as possible in the AAC output.
Yes. On Linux or macOS, you can run a shell loop such as: for f in *.rmvb; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "${f%.rmvb}.mp4"; done. On Windows Command Prompt, use: for %f in (*.rmvb) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k -movflags +faststart "%~nf.mp4". This is especially valuable for large RMVB collections, since the browser tool handles files up to 1GB while desktop FFmpeg has no file size limit.
The -movflags +faststart flag moves the MP4 moov atom (the metadata index that tells a player how to decode the file) from the end of the file to the beginning. By default, FFmpeg writes the moov atom after processing all video data, which means a browser or streaming player must download the entire file before starting playback. With +faststart, playback can begin almost immediately on web players. It is not strictly necessary for local desktop playback, but it is highly recommended whenever the converted MP4 might be served over the web or embedded in a page — which is a common end goal when converting from the legacy RMVB format.

Technical Notes

RMVB files sourced from the early-to-mid 2000s internet often have highly variable actual quality — the RealVideo 8, 9, or 10 codec used at the time was less efficient than H.264, meaning the re-encoded H.264 output at CRF 23 may actually appear sharper despite being a lossy transcode. File sizes after conversion can vary widely: RMVB files were often aggressively compressed for dial-up distribution, so the MP4 output at default settings may be larger than the source if the source was encoded at a very low bitrate. Conversely, high-bitrate RMVB files may shrink significantly under H.264's superior compression efficiency. Metadata such as title, author, and copyright tags embedded in the RealMedia container are generally not carried over to the MP4 output by this command, as FFmpeg's RMVB demuxer does not reliably map RealMedia metadata fields to MP4 atoms. If chapter markers were embedded using RealMedia's native chapter system, these will also be lost in the conversion. The variable bitrate nature of RMVB means conversion processing time can be unpredictable — segments with complex content that consumed high bitrate in the source may take longer to encode into H.264 than simpler scenes.

Related Tools