Convert RMVB to Y4M — Free Online Tool
Convert RMVB video files to Y4M (YUV4MPEG2) uncompressed format directly in your browser. This tool decodes the RealMedia variable-bitrate stream and outputs raw YUV pixel data — ideal for lossless intermediate processing, frame analysis, or piping into video tools like FFmpeg, x264, or VapourSynth.
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 store video using RealVideo compression (a lossy, proprietary codec) with variable bitrate encoding. During this conversion, FFmpeg demuxes the RMVB container, fully decodes the compressed RealVideo stream frame by frame, and writes each decoded frame as raw YUV planar pixel data into the Y4M container. There is no re-encoding step — the output is simply decompressed pixels wrapped in a Y4M header that records frame rate, resolution, and color space. Because Y4M is uncompressed, the output file will be vastly larger than the RMVB source. Any audio tracks in the RMVB file are dropped, as Y4M supports only raw video. The result is a pixel-perfect, lossless representation of the decoded video content.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. In this browser-based tool, this runs as FFmpeg.wasm compiled to WebAssembly — the same command works identically on your local desktop FFmpeg installation. |
-i input.rmvb
|
Specifies the input RMVB file. FFmpeg detects the RealMedia container and locates the RealVideo and RealAudio streams inside it, preparing them for decoding. |
-c:v rawvideo
|
Instructs FFmpeg to encode the output video stream as raw, uncompressed video data — the correct codec for the Y4M format. Every decoded frame from the RMVB source is written as-is into the output without any re-compression. |
output.y4m
|
The output filename with the .y4m extension. FFmpeg recognizes this extension and automatically applies the yuv4mpegpipe muxer, which writes the YUV4MPEG2 header and wraps each raw video frame in the standard Y4M frame structure. |
Common Use Cases
- Feeding decoded RMVB footage into a lossless video processing pipeline — such as VapourSynth or AviSynth — that requires uncompressed Y4M input
- Performing frame-accurate visual analysis or quality metrics (SSIM, PSNR, VMAF) on old RealMedia video content by extracting uncompressed frames
- Re-encoding legacy RMVB content into a modern codec like AV1 or HEVC by first decoding to Y4M and piping into an encoder
- Archiving decoded pixel data from historical RMVB video files before the RealVideo codec becomes unsupported by mainstream tools
- Using the Y4M output as a reference source for comparing compression artifacts introduced by different encoders when transcoding from RMVB
- Extracting specific video content from RMVB files for use in video editing or compositing software that accepts Y4M pipe input
Frequently Asked Questions
RMVB uses RealVideo, a lossy compression codec that can achieve compression ratios of 100:1 or more by discarding visual information the eye is unlikely to notice. Y4M is completely uncompressed — every frame is stored as raw YUV pixel values with no compression whatsoever. A typical 700MB RMVB file could easily expand to 50–100GB or more as Y4M, depending on resolution, frame rate, and duration. This is expected behavior and is the reason Y4M is used as an intermediate format rather than a distribution format.
No. The RMVB file was encoded with RealVideo, which is a lossy codec — the original compression artifacts and quality loss are permanently baked into the video stream. Converting to Y4M simply decodes and stores those exact pixels without any further degradation. Y4M is lossless in the sense that it perfectly preserves what was decoded, but it cannot recover information that was discarded when the RMVB was originally encoded.
The audio is dropped entirely. Y4M is a video-only format with no support for audio tracks — its specification defines only raw YUV video frames with header metadata. If you need the audio from your RMVB file, you should extract it separately using a different FFmpeg command, such as 'ffmpeg -i input.rmvb -vn -c:a copy output_audio.aac', before or after performing this conversion.
FFmpeg will use the color space detected from the decoded RMVB stream, typically YUV 4:2:0 (yuv420p), which is standard for RealVideo content. The Y4M header encodes this color space information so downstream tools can interpret the raw data correctly. If your RMVB source uses a non-standard chroma subsampling, FFmpeg may convert it during decoding — check the FFmpeg console output for the detected pixel format if color accuracy is critical.
Yes, and this is one of the most common reasons to use Y4M. Replace the output filename with a pipe to stdout using '-' and then pipe into another command: 'ffmpeg -i input.rmvb -c:v rawvideo -f yuv4mpegpipe - | x265 --y4m -o output.hevc -'. This avoids writing the enormous uncompressed file to disk entirely, which is especially important given how large Y4M files from RMVB sources can become.
Yes. On Linux or macOS, you can use a shell loop: 'for f in *.rmvb; do ffmpeg -i "$f" -c:v rawvideo "${f%.rmvb}.y4m"; done'. On Windows Command Prompt, use: 'for %f in (*.rmvb) do ffmpeg -i "%f" -c:v rawvideo "%~nf.y4m"'. Be aware that batch converting RMVB files to Y4M can consume enormous amounts of disk space, so ensure you have sufficient storage before running a batch job.
Technical Notes
Y4M (YUV4MPEG2) was designed specifically as an interchange format for passing raw video between applications, and its simplicity is both its strength and limitation. The format stores a plain-text header line per file and per frame, followed by raw YUV planar data — this makes it trivial for any application to parse without a complex decoder. RMVB (RealMedia Variable Bitrate) is a container that pairs RealVideo with RealAudio, and while FFmpeg has long supported decoding RealVideo streams, encoding back to RealVideo is not supported. This means the RMVB-to-Y4M conversion is strictly one-directional through this pipeline. The conversion preserves frame rate and resolution exactly as reported by the RMVB container headers. Subtitle tracks, chapter markers, and metadata fields present in some RMVB files are all discarded in the Y4M output, as Y4M has no mechanism to carry any of this information. Because the browser-based tool processes files in memory using FFmpeg.wasm, converting long high-resolution RMVB files may be constrained by available RAM — the 1GB input limit exists partly for this reason.