Convert CAVS to RMVB — Free Online Tool

Convert CAVS (Chinese Audio Video Standard) files to RMVB format using H.264 video encoding and AAC audio, entirely in your browser. This conversion bridges a Chinese broadcast standard to the variable-bitrate RealMedia container once widely used for distributing compressed video across Asian internet communities.

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

CAVS files use the AVS1 video codec, a Chinese national standard, which FFmpeg decodes during this conversion. Since RMVB's modern FFmpeg implementation uses libx264 rather than RealNetworks' original RealVideo codec, the video stream must be fully re-encoded from AVS1 to H.264. The audio, typically AVS-compliant audio, is also transcoded to AAC at 128k bitrate. The output is wrapped in an RMVB container, which technically supports variable bitrate streaming metadata, though the libx264 CRF encoding mode naturally produces variable bitrate output aligned with this. This is a full transcode — both video and audio streams are decoded and re-encoded — so expect processing time proportional to video length.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg tool, which handles decoding the AVS1 video and audio streams from the CAVS container, re-encoding them, and writing the RMVB output.
-i input.cavs Specifies the input CAVS file. FFmpeg will detect the AVS1 video codec and associated audio stream from the CAVS container for decoding.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, since the RMVB container as implemented in FFmpeg requires a modern codec rather than legacy RealVideo — and AVS1 from the CAVS source cannot be passthrough-copied into RMVB.
-c:a aac Transcodes the audio stream to AAC using FFmpeg's native AAC encoder, replacing whatever audio codec was present in the CAVS source with a widely compatible lossy audio format suited to the RMVB container.
-crf 23 Sets the Constant Rate Factor for libx264 to 23, the default quality level. This controls the trade-off between visual quality and file size — lower values like 18 increase quality, while higher values like 28 or 35 reduce file size at the cost of more compression artifacts in the re-encoded H.264 output.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level for AAC that balances file size and audio fidelity appropriate for converted broadcast CAVS content.
output.rmvb Specifies the output filename with the .rmvb extension, instructing FFmpeg to wrap the re-encoded H.264 video and AAC audio into the RealMedia Variable Bitrate container format.

Common Use Cases

  • Playing back legacy CAVS broadcast recordings on media players and devices that dropped AVS1 support but still handle RMVB files from the RealPlayer era.
  • Distributing Chinese broadcast content through older file-sharing or streaming workflows that were originally built around the RMVB format popular in the 2000s–2010s.
  • Archiving or re-packaging CAVS content captured from Chinese digital TV tuners into a more widely recognized container for long-term personal storage.
  • Sharing Chinese video content with communities or individuals using media players like PotPlayer or older versions of Media Player Classic configured for RMVB playback.
  • Converting Chinese broadcast video for compatibility with hardware media players or smart TV firmware that supports RMVB but not raw CAVS streams.
  • Re-encoding AVS1 source footage into an H.264-based RMVB file to reduce file size while maintaining reasonable quality for informal distribution.

Frequently Asked Questions

Yes, some quality loss is unavoidable because both the video and audio streams must be fully re-encoded. The CAVS AVS1 video codec is decoded and then re-compressed using H.264 (libx264) at CRF 23, which is a good general-purpose quality setting but does introduce generation loss. If your source CAVS file was already heavily compressed from a broadcast capture, the cumulative compression artifacts may become more visible. Using a lower CRF value (e.g., CRF 18) in the FFmpeg command will preserve more detail at the cost of a larger file.
No — this conversion produces an RMVB container holding H.264 video and AAC audio, not the original RealVideo 9 or RealVideo 10 streams that classic RealPlayer expects. Modern RMVB files encoded with libx264 are best played in VLC, PotPlayer, or MPC-HC rather than legacy RealPlayer, which cannot decode H.264 in most versions. The RMVB container is essentially reused here for its variable-bitrate framing, not for RealNetworks codec compatibility.
FFmpeg can demux and decode RealVideo streams but has no encoder for RealNetworks' proprietary RealVideo codecs (RV30/RV40). As a result, RMVB output via FFmpeg always uses substitute codecs like libx264 for video. This means the resulting file is technically RMVB by container but does not replicate the original RealNetworks encoding pipeline. For most modern playback scenarios this is actually an advantage, since H.264 has far broader hardware and software support than legacy RealVideo.
Adjust the -crf value in the command to control quality and file size trade-off. Lower values like -crf 18 produce higher quality and larger files; higher values like -crf 28 or -crf 35 reduce file size with more compression artifacts. For audio, replace -b:a 128k with -b:a 192k or -b:a 256k for better fidelity, or drop to -b:a 96k to save space. Since CAVS source files are often from broadcast captures with fixed quality ceilings, going below CRF 18 rarely produces visible improvement.
Yes. On Linux or macOS, you can use a shell loop: for f in *.cavs; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.cavs}.rmvb"; done. On Windows Command Prompt, use: for %f in (*.cavs) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.rmvb". The browser-based tool processes one file at a time, so the FFmpeg command line approach is recommended for batch workflows, especially for files over 1GB.
No — neither CAVS nor the RMVB output configuration used here supports subtitles or chapter metadata. Any subtitle tracks embedded in the source would need to be handled as separate files (e.g., SRT or ASS). RMVB does have limited metadata support in its native RealNetworks implementation, but via FFmpeg's libx264-based encoding, chapter and subtitle data is not carried into the output container.

Technical Notes

CAVS (AVS1) is an ISO-compliant Chinese national standard codec offering compression efficiency comparable to H.264, but it has minimal support outside Chinese broadcast infrastructure and specific media players. When decoding CAVS input, FFmpeg relies on its built-in AVS decoder, which handles the most common broadcast-captured CAVS streams reliably, though edge cases with non-standard bitstream configurations may cause errors. The re-encode to libx264 with CRF 23 uses H.264's default main profile settings, producing broadly compatible output. RMVB as an output container via FFmpeg is functional but limited — it lacks the RealNetworks variable bitrate metadata that the original .rmvb format was designed around, and the container itself offers no advantage over MP4 or MKV for modern use cases. Neither format supports transparency, multiple audio tracks, or subtitle streams in this conversion pipeline. File sizes will vary significantly depending on CAVS source bitrate; broadcast CAVS files often arrive at 2–8 Mbps, and CRF 23 H.264 output will typically target a similar range depending on content complexity.

Related Tools