Convert RMVB to CAVS — Free Online Tool
Convert RMVB files to CAVS format entirely in your browser, re-encoding RealMedia's variable-bitrate video stream to H.264 with AAC audio wrapped in China's national broadcast container. Useful for preparing legacy RealMedia content for Chinese broadcast workflows or CAVS-compatible playback systems.
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 uses RealNetworks' proprietary RealVideo codec with variable bitrate encoding, which FFmpeg must fully decode before re-encoding. This is not a remux — every video frame is decoded from RealVideo and then re-encoded using the H.264 (libx264) codec, while the audio (which may be RealAudio, AAC, or MP3 in the source) is decoded and re-encoded to AAC at 128k. The output is a CAVS-extension file using H.264 video and AAC audio, conforming to the Chinese Audio Video Standard container structure. Because both decoding and encoding happen in full, this is a computationally intensive transcoding operation, especially for longer RMVB files, and will take noticeably longer than a simple remux.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg transcoding engine. In the browser-based tool, this runs via FFmpeg.wasm (WebAssembly), so no installation is needed and no files leave your device. |
-i input.rmvb
|
Specifies the input file in RMVB format. FFmpeg uses its RealMedia demuxer to parse the container and decode the RealVideo and RealAudio streams inside. |
-c:v libx264
|
Re-encodes the video stream using the H.264 encoder (libx264). Since RMVB's native RealVideo codec is incompatible with CAVS, a full video transcode is mandatory — there is no copy-stream shortcut available here. |
-c:a aac
|
Re-encodes the audio stream to AAC using FFmpeg's built-in AAC encoder. AAC is the only audio codec supported in this CAVS output configuration, so regardless of whether the source RMVB carried RealAudio, MP3, or AAC, the audio is always decoded and re-encoded. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encode to 23, which is libx264's default and balances perceptual quality against file size. Lower values (e.g., 18) produce a sharper, larger output; higher values (e.g., 28) produce a smaller but more compressed result. |
-b:a 128k
|
Sets the AAC audio output bitrate to 128 kilobits per second. This is sufficient for most speech and music content. If your RMVB source has high-fidelity audio that you want to preserve as closely as possible, increasing this to 192k or 256k will improve audio quality at the cost of a larger file. |
output.cavs
|
Defines the output filename with the .cavs extension, which tells FFmpeg to use its CAVS muxer to wrap the encoded H.264 video and AAC audio streams into the Chinese Audio Video Standard container format. |
Common Use Cases
- Preparing archived RealMedia video content from the early 2000s for submission to Chinese broadcast or streaming platforms that require CAVS-format deliverables.
- Converting RMVB drama or film rips downloaded from legacy Chinese file-sharing networks into a format compatible with CAVS-certified set-top boxes or media players.
- Migrating a library of RealMedia educational videos to a modernized H.264-based container that CAVS-compliant institutional systems can ingest.
- Re-encoding RMVB news footage originally distributed via RealNetworks streaming for use in Chinese television post-production pipelines that mandate CAVS delivery.
- Converting RMVB anime or film content sourced from older Chinese DVD or VCD distributions for archival in a standardized national format.
Frequently Asked Questions
Yes, this conversion involves lossy re-encoding. The RealVideo stream inside the RMVB is fully decoded and then compressed again using H.264 at CRF 23, which is a good general-purpose quality setting but not lossless. If your source RMVB was already heavily compressed, re-encoding will introduce a second generation of quality loss. To minimize degradation, you can lower the CRF value (e.g., CRF 18) in the FFmpeg command to produce a higher-quality H.264 encode at the cost of a larger file.
The Chinese Audio Video Standard originally defined its own AVS1 video codec, but in practice many tools and containers labeled CAVS — including FFmpeg's CAVS muxer — use H.264 (libx264) for video and AAC for audio. This means the CAVS file produced by this tool is broadly decodable by any H.264-capable player, even if it lacks native AVS1 support. If you specifically need true AVS1 codec encoding, that requires different encoder tooling not covered by this workflow.
RMVB files can contain audio encoded as RealAudio, MP3, or AAC. Regardless of the original audio codec, FFmpeg decodes it and re-encodes it to AAC at 128k bitrate — the default and the only audio codec supported in this CAVS output configuration. AAC at 128k provides good perceptual quality for speech and music. If your source has multiple audio tracks, only the default (first) audio track will be included in the output, as the CAVS format in this configuration does not support multiple audio tracks.
To change video quality, modify the -crf value: lower numbers (e.g., -crf 18) mean higher quality and larger files, while higher numbers (e.g., -crf 28) mean smaller files with more compression. The valid range for libx264 CRF is 0 to 51. To change audio bitrate, replace 128k in -b:a 128k with another value such as 192k or 256k for higher fidelity, or 96k for a smaller file. For example: ffmpeg -i input.rmvb -c:v libx264 -c:a aac -crf 18 -b:a 192k output.cavs.
No. Neither the RMVB input handling nor the CAVS output format in this configuration supports subtitles or chapter metadata. Any subtitle streams (soft subtitles) embedded in the RMVB will be dropped during conversion, and chapter markers will not be transferred. If your RMVB contains hardcoded (burned-in) subtitles as part of the video image, those will be preserved since they are part of the video frames themselves.
The single-file command shown processes one file at a time. To batch convert on a Unix-based system, you can use a shell loop: for f in *.rmvb; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.rmvb}.cavs"; 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.cavs". This will process every RMVB file in the current directory and output a corresponding CAVS file.
Technical Notes
RMVB (RealMedia Variable Bitrate) is a proprietary format from RealNetworks that stores video in RealVideo codecs (commonly RV40) and audio in RealAudio or occasionally MP3/AAC. FFmpeg has mature but read-only support for RealMedia — it can decode RMVB reliably but cannot write it. The CAVS output format, while named after China's national standard, is implemented in FFmpeg as a container accepting H.264 video and AAC audio. This means the output is essentially an H.264/AAC file with a .cavs extension rather than a file using the native AVS1 codec. File size after conversion will vary significantly depending on the source RMVB's bitrate: RMVB files are often distributed at low bitrates (500–1500 kbps) for compact file sizes, and re-encoding with CRF 23 may produce a comparable or slightly larger file. Metadata such as title, artist, or creation date embedded in the RMVB container is generally not preserved in the CAVS output. No transparency, subtitle streams, or multi-track audio is supported by either format in this pipeline.