Convert MKV to RM — Free Online Tool
Convert MKV files to RealMedia (.rm) format using MJPEG video encoding and AAC audio, processed entirely in your browser with no uploads required. This conversion bridges modern Matroska containers — which may hold H.264, H.265, VP9, or other codecs — to the legacy RealMedia format that was ubiquitous for internet streaming in the late 1990s and early 2000s.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MKV 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
MKV is a flexible modern container that can hold nearly any codec, so the first step is transcoding whatever video codec is inside (H.264, H.265, VP9, etc.) into MJPEG, which is the only video codec supported by the RealMedia container in this tool. MJPEG encodes each video frame independently as a JPEG image rather than using interframe compression, which is fundamentally different from the predictive encoding used by modern codecs — this means the output file will typically be significantly larger for the same perceived quality. If the MKV's audio is already AAC, it can be copied directly; otherwise it is transcoded to AAC at 128k bitrate. Critically, RealMedia does not support subtitles, chapters, or multiple audio tracks, so all of those MKV features are dropped during conversion. Only the primary video and first audio track survive into the .rm output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on the desktop command line. |
-i input.mkv
|
Specifies the input file as a Matroska (.mkv) container, which may contain video encoded in H.264, H.265, VP9, or other codecs, along with audio, subtitles, chapters, and multiple tracks. |
-c:v mjpeg
|
Re-encodes the video stream to MJPEG (Motion JPEG), the only video codec writable into the RealMedia container by FFmpeg. This fully transcodes whatever codec was in the MKV — including H.264 or H.265 — into a frame-by-frame JPEG-based stream, which is less efficient but required for .rm output. |
-c:a aac
|
Encodes the audio stream as AAC (Advanced Audio Coding), one of two audio codecs supported by the RealMedia container in this tool. If the MKV's audio is Opus, FLAC, or Vorbis, this flag forces a transcode to AAC; if it was already AAC, it is re-encoded to match the target bitrate. |
-q:v 5
|
Sets the MJPEG video quality on a scale of 1 (highest quality, largest file) to 10 (lowest quality, smallest file). A value of 5 is the default midpoint, balancing file size against visual fidelity for the frame-independent JPEG compression used in the .rm output. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, the default for this conversion. This is a standard bitrate that provides reasonable stereo audio quality; the RealMedia container supports up to 256k for AAC audio if higher fidelity is needed. |
output.rm
|
Specifies the output file with the .rm extension, which tells FFmpeg to use the RealMedia muxer. The resulting file is a legacy RealMedia container holding an MJPEG video stream and an AAC audio stream, playable in RealPlayer and compatible legacy applications. |
Common Use Cases
- Preparing video content for playback on a legacy RealPlayer installation on an old Windows or Linux system that only recognizes .rm files
- Archiving or reconstructing a historically accurate multimedia presentation from the late 1990s or early 2000s web era that required RealMedia for its embedded video
- Testing a retro streaming server or vintage media application that specifically ingests .rm files and does not accept modern container formats
- Converting an MKV clip for use in a period-accurate demo or museum exhibit showcasing early internet multimedia technology
- Generating .rm files for use with vintage hardware or set-top boxes from the early 2000s that have RealPlayer firmware and no support for MKV or MP4
- Experimenting with MJPEG-based encoding from a modern MKV source to study how frame-independent compression compares visually to the interframe codecs inside the original MKV
Frequently Asked Questions
The primary reason is that RealMedia in this context uses MJPEG for video, which compresses each frame independently as a JPEG image. Modern codecs inside MKV files — like H.264 or H.265 — use interframe compression, storing only the differences between frames, which is dramatically more efficient. MJPEG has no concept of motion prediction, so a 10-minute MKV that is 500MB could easily become 1–3GB as an .rm file at comparable visual quality settings.
No. RealMedia does not support embedded subtitles or chapter markers as container-level features, so all subtitle tracks and chapter data present in the MKV will be permanently discarded during this conversion. If subtitle preservation is important, you would need to hard-burn them into the video before converting, or choose an output format that supports them. Similarly, if your MKV has multiple audio tracks, only the first (default) audio track will be carried into the .rm output.
At the default quality setting of -q:v 5 (on a scale of 1 best to 10 worst), MJPEG produces visually acceptable but noticeably softer results compared to a well-encoded H.264 or H.265 source. MJPEG is particularly inefficient on high-motion scenes because it cannot take advantage of temporal redundancy between frames. For archival or legibility purposes the default is reasonable, but for high-motion content you may want to lower the -q:v value toward 1–3 at the cost of a substantially larger file.
Yes, this tool handles any video codec that may be inside the MKV — including H.265 (HEVC), VP9, or even lossless PNG video — because the video is fully re-encoded to MJPEG regardless of the source codec. The MKV container's flexibility means the input codec varies widely, but the output is always MJPEG inside the .rm container. Conversion time will scale with the complexity and resolution of the source video.
To change video quality, modify the -q:v value: lower numbers like 1 or 2 produce higher quality at larger file sizes, while higher numbers like 8 or 10 produce smaller but more heavily compressed files. To change audio bitrate, replace 128k in -b:a 128k with another value such as 96k for smaller files or 192k for better audio fidelity. For example: ffmpeg -i input.mkv -c:v mjpeg -c:a aac -q:v 2 -b:a 192k output.rm would give noticeably higher quality at both video and audio levels.
Yes, on the command line you can use a shell loop to process multiple files. On Linux or macOS: for f in *.mkv; do ffmpeg -i "$f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "${f%.mkv}.rm"; done. On Windows Command Prompt: for %f in (*.mkv) do ffmpeg -i "%f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "%~nf.rm". Note that MJPEG re-encoding is CPU-intensive, so batch processing many large MKV files will take considerable time compared to remux-based conversions.
Technical Notes
RealMedia (.rm) is a proprietary format developed by RealNetworks and was once the dominant format for streaming video on dial-up and broadband internet connections in the late 1990s and early 2000s. Today it is considered a legacy format with virtually no use in modern workflows. The critical codec constraint is that RealMedia as writable by FFmpeg is limited to MJPEG for video — the native RealVideo codec (RV10, RV20, RV40) is not encodable by FFmpeg due to proprietary codec restrictions. This means all conversions use MJPEG, which is inherently lossy and frame-based, producing large files relative to modern codecs. The .rm container also has no support for features that MKV is specifically designed for: multiple audio tracks are truncated to one, all subtitle streams (SRT, ASS, PGS, etc.) are dropped silently, chapter metadata is discarded, and rich MKV metadata tags do not map to RM's limited metadata fields. Audio is limited to AAC or MP3 (libmp3lame); if your MKV contains Opus, FLAC, or Vorbis audio, it will be transcoded to AAC at the specified bitrate. Because RealMedia encoding support in FFmpeg is not actively maintained, muxer behavior can be inconsistent with edge cases like variable frame rate MKV sources — converting to a fixed frame rate with -r 25 or -r 30 before output can help avoid playback issues.