Convert MTS to RM — Free Online Tool
Convert AVCHD camcorder footage (.mts) to RealMedia (.rm) format, re-encoding the H.264 video stream to MJPEG and preserving audio as AAC. This tool handles the full transcoding pipeline entirely in your browser — no uploads required.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MTS 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
MTS files store H.264 video and AC-3 or AAC audio inside an MPEG-2 Transport Stream container — the format used natively by Sony and Panasonic AVCHD camcorders. RealMedia (.rm) has no support for H.264, so the video must be fully re-encoded frame-by-frame into MJPEG, a format that compresses each frame independently as a JPEG image. This is a computationally intensive transcode, not a fast remux. If the source MTS file uses AC-3 audio, it will also be transcoded to AAC, which RM supports. The result is a legacy RealMedia file with MJPEG video at the quality level you specify, suitable for playback in older RealPlayer-based environments.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles decoding the AVCHD transport stream, transcoding the video and audio, and muxing the result into a RealMedia container. |
-i input.mts
|
Specifies the input file: an MTS file containing H.264 video and AC-3 or AAC audio packaged in an MPEG-2 Transport Stream, as recorded by AVCHD-compatible Sony or Panasonic camcorders. |
-c:v mjpeg
|
Sets the video codec to MJPEG (Motion JPEG), which is the only video codec supported by FFmpeg's RealMedia muxer. This triggers a full re-encode of every H.264 frame from the MTS source into an independent JPEG-compressed image. |
-c:a aac
|
Encodes the output audio as AAC, which is one of two audio codecs supported by the RM container. This handles both MTS files with existing AAC audio and those with AC-3 (Dolby Digital) audio, converting both to AAC for RealMedia compatibility. |
-q:v 5
|
Sets the MJPEG video quality using JPEG quantization scale, where 1 is highest quality (largest file) and 10 is lowest quality (smallest file). A value of 5 is the default balance point for converting AVCHD camcorder footage to RealMedia without extreme file size inflation. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level that provides clear audio reproduction for camcorder-recorded speech and ambient sound within the constraints of the RealMedia container. |
output.rm
|
Specifies the output filename with the .rm extension, which tells FFmpeg to mux the transcoded MJPEG video and AAC audio into a RealMedia container — the proprietary format developed by RealNetworks for streaming media delivery. |
Common Use Cases
- Archiving camcorder footage into a legacy RM format required by older digital asset management or broadcast systems that predate modern H.264 support
- Preparing AVCHD video clips for playback on vintage multimedia kiosks or embedded systems that only have RealPlayer or RM-compatible decoders installed
- Converting Sony or Panasonic camcorder recordings to RM for use with early-2000s web streaming infrastructure or intranet portals that were built around RealNetworks technology
- Reducing large MTS camcorder files to MJPEG-based RM for frame-accurate editing workflows in legacy non-linear editing software that accepts RM input
- Testing or demonstrating RealMedia format compatibility in a digital preservation or media archaeology context using real camcorder source material
Frequently Asked Questions
Unlike converting between two containers that share a codec (such as MKV to MP4 with H.264), this conversion requires a full re-encode of every video frame. The H.264 stream inside the MTS file is decoded completely, then each frame is independently compressed as a JPEG image to produce MJPEG — the only video codec RealMedia supports in FFmpeg. This is orders of magnitude more computationally expensive than a simple remux, and the effect is amplified when processing high-bitrate AVCHD footage in a browser using WebAssembly.
Yes — this is a lossy-to-lossy transcode, so some quality degradation is unavoidable. The H.264 codec in MTS is highly efficient at preserving quality at low bitrates, while MJPEG (used in RM) compresses each frame independently without inter-frame prediction, resulting in larger file sizes for equivalent quality. You can reduce quality loss by using a lower -q:v value (closer to 1), but expect the output RM file to be noticeably larger than the source MTS for comparable visual quality.
No. RealMedia does not support AC-3 (Dolby Digital) audio, which is commonly recorded by Sony and Panasonic AVCHD camcorders. FFmpeg will automatically transcode the AC-3 audio stream to AAC during this conversion. If your MTS file already contains AAC audio, it will still be re-encoded to AAC at the specified bitrate (default 128k) rather than copied, due to container constraints.
No. RealMedia does not support subtitle streams or multiple audio tracks. Even if your source MTS file contains embedded subtitles or secondary audio channels (common in broadcast AVCHD recordings), only the primary video and audio stream will be included in the output. If subtitle preservation is important, consider converting to a format like MKV or MP4 instead.
The -q:v flag controls MJPEG quality on a scale of 1 to 10, where 1 is the highest quality and largest file size, and 10 is the lowest quality and smallest file size. The default is 5. To get higher fidelity from your AVCHD footage, change -q:v 5 to -q:v 2 or -q:v 1. For example: ffmpeg -i input.mts -c:v mjpeg -c:a aac -q:v 2 -b:a 128k output.rm. Note that even at -q:v 1, MJPEG will not match the compression efficiency of the original H.264 stream.
Yes. On Linux or macOS, you can use a shell loop: for f in *.mts; do ffmpeg -i "$f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "${f%.mts}.rm"; done. On Windows Command Prompt, use: for %f in (*.mts) do ffmpeg -i "%f" -c:v mjpeg -c:a aac -q:v 5 -b:a 128k "%~nf.rm". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for batch workflows with large collections of camcorder clips.
Technical Notes
MJPEG, the only video codec available in FFmpeg's RM muxer, stores each video frame as an independent JPEG — there is no temporal compression or inter-frame prediction. This makes RM files from AVCHD sources significantly larger than the originals at equivalent perceived quality, since H.264 in MTS achieves its efficiency through motion estimation across frames. The -q:v parameter in MJPEG maps to JPEG quantization: values below 3 are rarely distinguishable from uncompressed at normal viewing distances, while values above 7 introduce visible blocking artifacts on motion-heavy camcorder footage. Metadata preservation is minimal: RealMedia does not carry EXIF-style camcorder metadata, GPS coordinates, or shooting parameters that some AVCHD recorders embed. Chapter markers and timecode from the MTS file will not be transferred. The RM format also lacks support for variable frame rate streams, so if your MTS source contains VFR segments (occasionally seen in AVCHD recordings with pulldown), FFmpeg will normalize the frame rate during transcoding. For files larger than 1GB, running the FFmpeg command locally on a desktop is strongly recommended, as browser memory constraints can limit processing of long-form camcorder recordings.