Convert CAVS to AVI — Free Online Tool
Convert CAVS (Chinese Audio Video Standard) files to AVI format, re-encoding the video with H.264 (libx264) and audio with MP3 (libmp3lame) for broad legacy compatibility. This is ideal for making niche Chinese broadcast content playable on older media players and editing software that predates modern container support.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your CAVS 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
CAVS files use the AVS video codec, a Chinese national standard that is rarely supported outside of specialized Chinese broadcast software and hardware. During this conversion, the AVS video stream is fully decoded and re-encoded into H.264 using libx264 — there is no stream copy possible since AVI does not natively support the AVS codec. Similarly, the audio is transcoded from AAC (common in CAVS files) to MP3 using the LAME encoder, since MP3 is the most universally supported audio codec within the AVI container. The result is a fully re-encoded AVI file that sacrifices the niche-specific encoding of CAVS in favor of compatibility with a vast range of legacy players, editors, and devices.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that powers this conversion. In the browser, this runs as FFmpeg.wasm compiled to WebAssembly. |
-i input.cavs
|
Specifies the input file in CAVS format. FFmpeg detects the AVS video codec and reads the container structure to prepare for decoding. |
-c:v libx264
|
Re-encodes the decoded AVS video stream into H.264 using the libx264 encoder, which is necessary because AVI cannot carry the AVS codec and no lossless passthrough is possible between these two formats. |
-c:a libmp3lame
|
Transcodes the audio from AAC (typical in CAVS files) to MP3 using the LAME encoder, ensuring the output AVI file's audio is recognized by the widest possible range of legacy players and software. |
-crf 23
|
Sets the Constant Rate Factor for H.264 encoding to 23, the standard default that balances file size and visual quality. Lower values (e.g., 18) produce higher quality and larger files; higher values compress more aggressively. |
-b:a 128k
|
Sets the MP3 audio bitrate to 128 kilobits per second, a broadly accepted quality level for broadcast speech and general audio content in AVI files. |
output.avi
|
Defines the output file as an AVI container. FFmpeg infers the container format from the '.avi' extension and muxes the H.264 video and MP3 audio streams into the AVI format accordingly. |
Common Use Cases
- Making Chinese broadcast recordings or IPTV captures in CAVS format playable on older Windows Media Player installations or legacy set-top boxes that support AVI but not AVS
- Importing CAVS footage into older video editing software like older versions of Vegas Pro or Premiere that recognize AVI containers but cannot decode the AVS codec natively
- Archiving Chinese digital television recordings from early 2000s broadcast equipment into a more widely documented and accessible container format
- Sharing CAVS broadcast clips with colleagues or clients whose systems lack AVS codec packs, by converting to AVI with H.264 which is near-universally decodable
- Preparing CAVS source material for workflows that use AVI as an interchange format, such as certain hardware encoders or broadcast playout systems with fixed input requirements
- Extracting and converting CAVS recordings from Chinese satellite receivers for editing on non-Chinese desktop software that supports AVI but has no AVS decoder
Frequently Asked Questions
Yes, some quality loss is inevitable because this conversion requires a full re-encode of both the video and audio streams — there is no lossless passthrough possible between these formats. The AVS video is decoded and re-encoded to H.264 at CRF 23, which is a visually good default but still a lossy process applied on top of the already-lossy CAVS source. If your source CAVS file is of high importance, consider lowering the CRF value (e.g., to 18) in the FFmpeg command to reduce compression artifacts in the output.
AAC audio, while technically superior to MP3, has historically inconsistent support within the AVI container across different players and operating systems. MP3 (encoded via libmp3lame) is the de facto standard audio codec for AVI files and is recognized by virtually every piece of software and hardware that can play AVI. This transcoding step ensures the output file plays correctly without requiring additional codec packs.
AVI does technically support multiple audio tracks, and the output format in this tool is configured to allow it. However, the default FFmpeg command maps the primary audio stream only. If your CAVS source contains multiple audio tracks (e.g., different language channels from a broadcast), you would need to add explicit stream mapping flags such as '-map 0:a:0' and '-map 0:a:1' to the command to include additional tracks.
Almost certainly yes. The CAVS/AVS format is an obscure Chinese national standard with very limited decoder availability outside China-specific software and hardware. The output AVI file uses H.264 video and MP3 audio, two of the most widely supported codecs in existence, wrapped in the AVI container which has been broadly supported since Windows 3.1. The resulting file should play on virtually any media player, smart TV, or editing application built in the last two decades.
Adjust the '-crf' value in the command — it controls H.264 quality on a scale from 0 (lossless) to 51 (worst). The default of 23 is a balanced choice, but since you are re-encoding from an already-lossy CAVS source, you may want to use a lower CRF like 18 to preserve more detail. For example, replace '-crf 23' with '-crf 18' in the command. Be aware that lower CRF values produce larger output files.
Yes. On Linux or macOS, you can run a shell loop: 'for f in *.cavs; do ffmpeg -i "$f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "${f%.cavs}.avi"; done'. On Windows Command Prompt, use: 'for %f in (*.cavs) do ffmpeg -i "%f" -c:v libx264 -c:a libmp3lame -crf 23 -b:a 128k "%~nf.avi"'. This browser-based tool processes one file at a time, so the FFmpeg command is particularly useful for batch operations on large collections of CAVS recordings.
Technical Notes
The AVS (Audio Video Standard) codec used in CAVS files was developed by the AVS Working Group as a royalty-reduced alternative to H.264 for the Chinese market, primarily targeting digital broadcast and IPTV. FFmpeg includes a decoder for AVS (cavs decoder) but does not include an AVS encoder, which means conversion out of CAVS always requires full video re-encoding rather than a stream copy. The H.264 output via libx264 at CRF 23 will generally produce a file that is visually comparable to the source, though the cascaded lossy encoding means fine details may degrade slightly compared to the original capture. AVI does not support subtitle tracks, chapter markers, or modern container features like variable frame rate, so any such metadata present in the CAVS source will be lost. AVI files also lack a global header for duration in some edge cases, which can cause seeking issues in very long files. The MP3 audio at 128k is adequate for speech and typical broadcast content; for music-heavy content, consider bumping the '-b:a' value to 192k or 320k in the command.