Convert RMVB to MKV — Free Online Tool
Convert RMVB files to MKV by re-encoding the RealMedia video stream into the widely compatible H.264 (libx264) codec inside Matroska's flexible open-standard container. This is ideal for modernizing legacy RealMedia content that struggles to play on current devices and media players.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your RMVB 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
RMVB files use RealNetworks' proprietary RealVideo codec, which is not natively supported by modern players or devices. Because MKV cannot carry the RealVideo codec in a useful way, this conversion fully re-encodes the video stream using libx264 (H.264), producing a universally compatible output. The audio — typically RealAudio — is similarly transcoded into AAC at 128k bitrate. This is a full transcode, not a remux: both video and audio streams are decoded and re-encoded from scratch. The result is a standard H.264/AAC stream wrapped in Matroska, which gains MKV's powerful features such as subtitle track support, chapter markers, and multiple audio tracks — none of which RMVB supports.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg transcoding engine. In this browser-based tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm), meaning your RMVB file never leaves your device. |
-i input.rmvb
|
Specifies the input RMVB file. FFmpeg will demux the RealMedia container and hand the RealVideo and RealAudio elementary streams to their respective decoders before re-encoding begins. |
-c:v libx264
|
Re-encodes the video stream using the libx264 H.264 encoder. This is necessary because RealVideo cannot be carried in MKV in a compatible way — the stream must be transcoded into a codec with broad modern support. |
-c:a aac
|
Re-encodes the audio stream to AAC-LC, replacing the RealAudio codec (commonly COOK or a proprietary AAC variant) with a universally compatible modern audio format supported by virtually all players that handle MKV. |
-crf 23
|
Sets the H.264 Constant Rate Factor to 23, FFmpeg's default quality level. This controls the video quality-to-file-size tradeoff — lower values produce better quality and larger files, which is useful when the source RMVB had acceptable visual quality worth preserving. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level that provides clear audio reproduction and is well-suited to the typical speech and music content found in RMVB video files. |
output.mkv
|
Defines the output file as a Matroska (.mkv) container. FFmpeg infers the container format from the extension, wrapping the newly encoded H.264 video and AAC audio into MKV's open-standard, feature-rich structure. |
Common Use Cases
- Reviving an old anime or movie collection ripped in RMVB format during the early 2000s so it plays on modern smart TVs, Kodi, or Plex without codec errors.
- Preparing RMVB video content for editing in software like DaVinci Resolve or Premiere Pro, which do not natively handle RealMedia codecs.
- Archiving downloaded RealMedia lecture recordings or documentary content into MKV, a more future-proof open-standard container with better long-term tool support.
- Adding subtitle tracks to RMVB content — since RMVB does not support subtitles, converting to MKV allows you to mux in .srt or .ass subtitle files afterward.
- Sharing RMVB video files with collaborators or clients who cannot install RealPlayer or codec packs, by converting to an H.264/AAC MKV that plays natively everywhere.
- Consolidating a mixed media library where RMVB files sit alongside MKV and MP4 content, normalizing the collection to a single modern container for easier management.
Frequently Asked Questions
Yes, some quality loss is inherent because the RealVideo stream must be fully decoded and re-encoded into H.264 — this is not a lossless remux. However, at the default CRF 23 setting, the resulting H.264 video is generally visually comparable to the source. RMVB files are themselves already compressed with lossy RealVideo encoding, so any quality difference from the transcoding step is typically subtle rather than dramatic, especially for web-distributed content.
While Matroska technically can wrap almost any codec, RealVideo support inside MKV is essentially non-existent in practice — no major modern player reads RealVideo from an MKV container reliably. A stream copy would produce a file that looks valid but fails to play. For genuine compatibility, the video must be re-encoded into a codec MKV players actually support, such as H.264 or H.265.
MKV supports subtitles, chapters, multiple audio tracks, and rich metadata — none of which RMVB supports. The conversion itself will produce a valid MKV file ready to hold these features, but since the source RMVB file carries none of them, the output will not automatically gain subtitles or chapters. You would need to mux those in separately using a tool like MKVToolNix after the conversion.
Change the -crf value to control H.264 quality. Lower values mean higher quality and larger file size — CRF 18 is considered visually near-lossless for most content, while CRF 28 produces a smaller file with more compression. The default CRF 23 is a good general-purpose balance. For example, replace '-crf 23' with '-crf 18' for higher fidelity output from your RMVB source.
Yes. On Linux or macOS you can loop over files with: for f in *.rmvb; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.rmvb}.mkv"; 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 "%~nf.mkv". This applies the same H.264/AAC transcode settings to every RMVB file in the current directory.
RMVB uses variable bitrate RealVideo compression, which was aggressively tuned for low-bandwidth distribution in the early 2000s. Re-encoding to H.264 at CRF 23 often produces a file of similar size or slightly larger, because H.264 at default settings prioritizes quality balance over extreme compression. If you want a smaller output file, increase the CRF value (e.g., -crf 28 or -crf 30). Conversely, if the source RMVB was very low quality, the H.264 output may actually be smaller because it doesn't need as many bits to represent the same degraded signal.
Technical Notes
RMVB (RealMedia Variable Bitrate) is a proprietary format from RealNetworks using the RealVideo and RealAudio codecs, both of which have extremely limited support in modern software outside of RealPlayer itself. FFmpeg can decode RealVideo (RV10, RV20, RV30, RV40) and RealAudio (COOK, ATRAC, AAC variants), but these codecs cannot be practically encoded or carried forward into modern containers. This conversion therefore performs a full transcode: RealVideo is decoded and re-encoded to H.264 via libx264 using constant rate factor (CRF) quality control, and RealAudio is decoded and re-encoded to AAC-LC at 128k bitrate. Because RMVB does not carry subtitle streams, chapter markers, or multiple audio tracks, no such data will be lost during conversion — but it also means you gain an empty MKV structure ready to accept those features if you add them post-conversion. File size outcomes vary significantly depending on the original RMVB bitrate, which was often in the 500–900 kbps range for typical video releases. H.264 at CRF 23 targets a quality level rather than a fixed bitrate, so complex scenes may use more bits than the original RMVB allocated, while simpler scenes may use fewer.