Convert HEVC to RM — Free Online Tool

Convert HEVC/H.265 video files to RealMedia (.rm) format using MJPEG video encoding and AAC audio — all processed locally in your browser with no uploads required. This conversion bridges modern high-efficiency H.265 content to a legacy streaming container once dominant in early internet media.

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

This conversion is a full transcode, not a simple remux. The H.265 video stream (encoded with libx265) is decoded entirely and re-encoded using Motion JPEG (MJPEG), which stores each video frame as an independent JPEG image rather than using inter-frame prediction like H.265 does. This means the compressed efficiency of H.265 is completely discarded — MJPEG produces dramatically larger files because it cannot reference surrounding frames. Any audio in the source HEVC file is transcoded to AAC at 128k bitrate and placed into the RealMedia container. Because RM does not support subtitles, chapters, or multiple audio tracks, any such streams in the source file are dropped silently.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia processing engine that handles all decoding, encoding, and container operations in this conversion. In the browser version, this runs as a WebAssembly (FFmpeg.wasm) instance with no server involvement.
-i input.hevc Specifies the input file, an HEVC/H.265 raw bitstream or container file. FFmpeg will demux and decode the H.265 video stream (and any audio streams) to prepare them for re-encoding into the target format.
-c:v mjpeg Sets the video encoder to Motion JPEG (MJPEG), the only video codec supported in this RM output configuration. This fully decodes the H.265 stream and re-encodes every frame as an independent JPEG image — a fundamental change from H.265's inter-frame compression model.
-c:a aac Sets the audio encoder to AAC (Advanced Audio Coding), transcoding whatever audio exists in the source HEVC file into AAC format for inclusion in the RealMedia container. AAC is the default and most compatible audio codec for this RM output path.
-q:v 5 Controls MJPEG video quality on a scale of 1 (best, largest file) to 10 (worst, smallest file). A value of 5 is the default mid-range setting, balancing visual quality against file size; because MJPEG has no inter-frame compression, even this mid-range setting will produce files far larger than the HEVC source.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level suitable for stereo music and voice content. This is a constant bitrate target for the audio stream going into the RealMedia container.
output.rm Specifies the output filename and triggers FFmpeg to use the RealMedia container format based on the .rm extension. FFmpeg will wrap the MJPEG video and AAC audio streams into this proprietary RealNetworks container structure.

Common Use Cases

  • Preparing H.265 footage for playback on legacy RealPlayer-based systems or kiosks that predate modern codec support
  • Archiving modern H.265 content into a historically significant format for digital media preservation projects studying late-1990s streaming technology
  • Generating MJPEG-encoded video inside an RM container for frame-accurate editing workflows that benefit from MJPEG's intra-only structure
  • Converting H.265 clips for use with older proprietary video management systems that accept only RealMedia input files
  • Testing compatibility of H.265 source material against legacy RealNetworks infrastructure in a media QA or regression environment

Frequently Asked Questions

This is expected and is the single most significant technical consequence of this conversion. H.265 (HEVC) achieves its small file sizes through advanced inter-frame compression, referencing data from surrounding frames to avoid storing redundant information. MJPEG, used inside the RM container here, encodes every single frame as a standalone JPEG image with no inter-frame awareness whatsoever. A 10-minute H.265 file that is 200MB might become several gigabytes as an MJPEG-encoded RM file, depending on resolution and the -q:v quality setting.
No. HDR metadata (such as HDR10 or Dolby Vision signaling present in some HEVC files) is not preserved in this conversion. MJPEG does not carry HDR color space information, and the RealMedia container has no mechanism for HDR metadata. The output will be tone-mapped or clipped to SDR during the MJPEG encoding stage, and the vivid highlights and wide color gamut of the original HDR source will be lost.
The RM container supports AAC audio, which is what this conversion produces at 128k bitrate. However, if your source HEVC file contains multiple audio tracks (e.g., multiple languages), only the default or first audio track will be included — RealMedia does not support multiple audio tracks. Similarly, if your source has surround sound, it will be transcoded to AAC but the channel layout may be downmixed depending on the source configuration.
Yes. The -q:v flag controls MJPEG quality inside the RM container, and it uses an inverted scale: lower numbers mean higher quality. The default is 5, which is a mid-range setting. Setting -q:v 1 or -q:v 2 will produce noticeably sharper frames and larger files, while -q:v 9 or -q:v 10 will give heavily compressed, blocky JPEG frames at smaller sizes. Unlike H.265's CRF scale, this is purely a per-frame JPEG quality dial with no temporal optimization.
Yes. On Linux or macOS you can loop over files with a shell command such as: for f in *.hevc; do ffmpeg -i "$f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "${f%.hevc}.rm"; done. On Windows Command Prompt you can use: for %f in (*.hevc) do ffmpeg -i "%f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "%~nf.rm". This is particularly useful for files over 1GB, which exceed the browser tool's limit and are better handled via the desktop FFmpeg command directly.
They are dropped. The RealMedia container format does not support subtitle streams or chapter metadata, so FFmpeg discards them automatically during this conversion. If your HEVC source file contains embedded subtitles (such as SRT, ASS, or PGS streams), you should extract them separately before converting using a command like ffmpeg -i input.hevc output.srt. There is no way to retain subtitle or chapter data inside an RM file.

Technical Notes

The core technical challenge of this conversion is the dramatic codec generation gap between the input and output. HEVC/H.265 (libx265) is one of the most efficient video codecs available, using complex B-frames, CTU-based prediction, and inter-frame compression refined over decades of research. MJPEG, the only video codec supported in this RM output path, is a late-1980s intra-only format with zero temporal compression. Every frame is a discrete JPEG, making MJPEG ideal for scrubbing and frame-accurate editing but catastrophically inefficient for storage compared to H.265. The RealMedia container itself (.rm) is a proprietary format from RealNetworks that peaked in usage around 1997–2003 for low-bandwidth internet streaming; it has no active development and is unsupported by most modern media players without legacy plugins. AAC audio at 128k is a reasonable choice for general content but note that the RM container's AAC support is limited — very high bitrate or multichannel AAC configurations may cause compatibility issues with older RealPlayer versions. The -x265-params log-level=error flag present in the input processing suppresses verbose x265 encoder messages, which has no effect on the output quality. There is no lossless path in this conversion: both MJPEG at any -q:v setting and AAC audio are lossy, so this is a one-way, quality-reducing transformation from a highly efficient modern format to a low-efficiency legacy one.

Related Tools