Convert MP4 to RMVB — Free Online Tool

Convert MP4 files to RMVB format using H.264 video and AAC audio encoding, all processed locally in your browser via FFmpeg.wasm. RMVB's variable bitrate design allocates more data to complex scenes, making it a historically popular format for distributing compressed video content in East Asian media communities.

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

Unlike converting between two modern containers where streams can often be remuxed without re-encoding, MP4-to-RMVB conversion always involves active transcoding. The video stream is encoded using libx264 (H.264) and muxed into the RMVB container, which is a variable-bitrate variant of RealMedia. While the RMVB container originates from RealNetworks' proprietary RealVideo ecosystem, FFmpeg wraps H.264 and AAC streams inside it — meaning the file carries an RMVB extension and container structure, but uses modern codecs rather than the legacy RealVideo/RealAudio codecs associated with the format's original era. Audio is encoded with AAC at 128k by default. Importantly, RMVB does not support subtitles, chapters, or multiple audio tracks, so any such streams present in the source MP4 will be dropped during conversion.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg command-line tool. In this browser tool, the equivalent FFmpeg.wasm (WebAssembly) binary runs locally in your browser without sending any data to a server.
-i input.mp4 Specifies the input file — your source MP4, which may contain H.264, H.265, or VP9 video along with AAC, MP3, or Opus audio streams, as well as optional subtitle and chapter data.
-c:v libx264 Encodes the output video stream using the libx264 H.264 encoder. This is required because FFmpeg cannot encode native RealVideo streams, so H.264 is used as the video codec inside the RMVB container.
-c:a aac Encodes the output audio stream using AAC — the default audio codec for this RMVB output. AAC replaces any non-AAC audio present in the source MP4, such as Opus or MP3, and is a supported codec within RMVB containers via FFmpeg's rm muxer.
-crf 23 Sets the Constant Rate Factor for the H.264 video encode at 23, the default quality level. This controls the quality-to-filesize tradeoff: lower values (e.g., 18) produce higher quality and larger RMVB files, while higher values (e.g., 28) reduce file size at the cost of more visible compression artifacts.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level for stereo audio in a compressed distribution format like RMVB. Increase to 192k or 256k for higher-fidelity audio, or reduce to 96k to shrink file size further.
output.rmvb Specifies the output filename with the .rmvb extension, which signals FFmpeg to use its 'rm' muxer and structure the file as a RealMedia Variable Bitrate container holding the H.264 video and AAC audio streams.

Common Use Cases

  • Preparing video content for sharing on older Chinese media platforms or forums that historically required or preferred RMVB format
  • Archiving downloaded IPTV or streaming content into RMVB for compatibility with legacy media players like RealPlayer or older hardware players common in East Asian markets
  • Reducing file size of MP4 content for distribution on bandwidth-limited networks where RMVB's variable bitrate encoding offers storage efficiency advantages
  • Converting MP4 videos for playback on older portable media players or set-top boxes manufactured in the mid-2000s to early 2010s that support RMVB but not modern MP4 profiles
  • Generating RMVB files to test or demonstrate legacy format compatibility in media pipeline development or QA environments
  • Copying the FFmpeg command to batch-convert large libraries of MP4 files to RMVB on a local machine, particularly for collections exceeding 1GB that cannot be processed in-browser

Frequently Asked Questions

No — RMVB does not support subtitle tracks, chapter markers, or multiple audio tracks. Any embedded subtitles (SRT, ASS, or otherwise) and chapter data present in your MP4 will be silently dropped during conversion. If preserving subtitles is important, you should consider burning them into the video stream before converting, or choosing a different output format that supports them.
Yes, this conversion is always lossy. Even if your source MP4 was already encoded with H.264, the video must be fully re-encoded into a new H.264 stream wrapped in the RMVB container — it cannot simply be remuxed. Each re-encode introduces generation loss. The default CRF value of 23 provides a reasonable quality-to-size balance, but if your source is already heavily compressed, using a lower CRF (e.g., 18) will better preserve quality at the cost of a larger file.
FFmpeg does not include encoders for RealNetworks' proprietary RealVideo or RealAudio codecs, so it uses the open H.264 (libx264) and AAC codecs inside the RMVB container instead. The resulting file has a valid RMVB container structure, but players that strictly require native RealVideo streams may not recognize it. Most general-purpose media players like VLC that support RMVB will play back the H.264/AAC streams without issue.
Adjust the -crf value in the command — lower numbers mean higher quality and larger file sizes, while higher numbers produce smaller files with more compression artifacts. The range is 0 (visually lossless) to 51 (very low quality); for most content, values between 18 and 28 are practical. For example, replace '-crf 23' with '-crf 18' for noticeably sharper output, or '-crf 28' to aggressively reduce file size.
Yes — on Linux or macOS, you can run a shell loop such as: for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mp4}.rmvb"; done. On Windows Command Prompt, use: for %f in (*.mp4) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.rmvb". This is especially useful for collections over 1GB that exceed the browser tool's processing capacity.
Not necessarily — file size depends primarily on the CRF setting and the complexity of your video content, not the container format itself. If your source MP4 was encoded at a high bitrate or used a high-quality CRF, the output RMVB at the default CRF 23 may actually be smaller. However, if the source was already tightly compressed at CRF 23 or higher, re-encoding will produce a similar or potentially larger file due to generation loss requiring more bits to represent the same degraded content.

Technical Notes

RMVB (RealMedia Variable Bitrate) is a container format developed by RealNetworks in the early 2000s as an extension of the RM (RealMedia) format, distinguished by its variable bitrate mode that dynamically allocates bitrate based on scene complexity. When FFmpeg produces an RMVB file, it uses the 'rm' muxer internally — but since RealVideo and RealAudio encoders are not available in FFmpeg due to proprietary licensing, the streams are encoded as H.264 and AAC instead. This means the output is technically a non-standard RMVB file that deviates from the original RealNetworks specification. The -movflags +faststart flag used in MP4 web delivery has no equivalent in RMVB, so the output will not have any special streaming optimization beyond what the variable bitrate structure inherently provides. RMVB has no support for transparency, subtitles, chapters, or multiple audio tracks, making it a purely audiovisual container. The format is largely obsolete in modern workflows but retains a niche presence in legacy media archives and older hardware ecosystems, particularly in East Asian markets where it was widely distributed throughout the 2000s and early 2010s.

Related Tools