Convert AVI to CAVS — Free Online Tool
Convert AVI files to CAVS (Chinese Audio Video Standard) format directly in your browser, re-encoding video with the H.264/libx264 codec and audio with AAC — no software installation required. This conversion bridges a legacy Microsoft container with a Chinese national broadcast standard, making it useful for workflows targeting CAVS-compatible infrastructure.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your AVI 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
AVI files store interleaved audio and video streams, often encoded with codecs like MPEG-4, DivX, or H.264 alongside MP3 or PCM audio. Converting to CAVS requires full re-encoding: the video stream is transcoded to H.264 via libx264 (the codec supported within the CAVS wrapper), and the audio is transcoded to AAC — meaning the original MP3 or other audio codec from the AVI cannot be stream-copied. The CAVS container is a lossy-only format with no support for subtitles, chapters, or multiple audio tracks, so any secondary audio tracks in the AVI will be dropped and only the first audio stream will be retained in the output.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that powers this conversion both in the browser (via FFmpeg.wasm) and on the desktop. |
-i input.avi
|
Specifies the input file as an AVI container. FFmpeg will detect and demux the interleaved video and audio streams stored inside the AVI for re-encoding. |
-c:v libx264
|
Sets the video encoder to libx264, re-encoding whatever video codec the source AVI used (DivX, Xvid, MJPEG, etc.) into H.264 — the video codec used within the CAVS container in this workflow. |
-c:a aac
|
Transcodes the AVI's audio stream (commonly MP3 or PCM) to AAC using FFmpeg's native AAC encoder, which is the required audio codec for the CAVS output format. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, the default balanced quality level. Lower values (e.g., 18) yield higher quality at larger file sizes; higher values (e.g., 28) compress more aggressively for smaller files. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level suitable for most speech and general-purpose audio derived from the original AVI's audio track. |
output.cavs
|
Specifies the output filename with the .cavs extension, which signals FFmpeg to write the encoded H.264 video and AAC audio into a CAVS-format container. |
Common Use Cases
- Preparing legacy AVI footage for submission to Chinese broadcast platforms or regulatory bodies that mandate CAVS-compliant media files.
- Re-packaging archival AVI content recorded in older DivX or Xvid codecs into a CAVS container with a modern H.264 video stream for improved decode compatibility.
- Converting AVI training or educational videos for distribution through Chinese institutional or government media systems that require the CAVS standard.
- Generating a CAVS-format sample or test file from existing AVI source material for QA testing of CAVS-capable playback hardware or software.
- Stripping excess AVI metadata overhead and multiple audio tracks down to a single-track CAVS file for streamlined broadcast ingest workflows.
Frequently Asked Questions
Yes, this conversion always involves re-encoding, which is lossy. The AVI's original video stream — regardless of its source codec — is fully transcoded to H.264 using the default CRF 23 setting, which is visually good quality but not lossless. Audio is also re-encoded from whatever the AVI used (commonly MP3 or PCM) to AAC at 128k. If your AVI already uses H.264 video, you still cannot stream-copy it into a CAVS container because the CAVS format's structure requires re-encoding through the libx264 encoder.
No. CAVS does not support multiple audio tracks, so only the first (default) audio stream from your AVI will be included in the output file. If your AVI contains commentary tracks, multi-language audio, or other secondary streams, those will be silently dropped during conversion. If preserving multiple audio streams is important, consider an alternative output format like MKV or MP4.
CAVS (Chinese Audio Video Standard) is a Chinese national multimedia standard originally developed to reduce royalty dependence on H.264/AVC. However, in practice, many implementations and tools — including FFmpeg's CAVS container handling — use H.264 (libx264) as the video codec rather than the native AVS codec (cavs), due to broader encoder support and stability. This means the resulting file uses a CAVS container wrapper with H.264 content, which is the most reliably encodable configuration available in FFmpeg.
Change the CRF value in the command to control video quality. Lower CRF values produce higher quality and larger files — for example, replace '-crf 23' with '-crf 18' for near-visually-lossless output, or '-crf 28' for a smaller file with more compression. The valid range is 0 (lossless) to 51 (lowest quality), with 23 being the default balanced setting. Similarly, swap '-b:a 128k' for '-b:a 192k' or '-b:a 256k' to increase AAC audio bitrate.
Yes, on the command line you can wrap the command in a shell loop. On Linux or macOS: 'for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.avi}.cavs"; done'. On Windows Command Prompt: 'for %f in (*.avi) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.cavs"'. The browser-based tool processes one file at a time, so the FFmpeg command is particularly valuable for bulk conversions or files over 1GB.
No. Neither AVI nor CAVS supports subtitles or chapter markers in any meaningful way — AVI has very limited subtitle support and CAVS has none. Any subtitle data embedded in the AVI (if present at all) will not be carried over. If your workflow requires subtitles, you would need to hard-burn them into the video stream using an FFmpeg filter like '-vf subtitles=input.srt' before or during the conversion.
Technical Notes
The CAVS container format has narrow codec support — only H.264 video and AAC audio are reliably encodable via FFmpeg's libx264 and the native AAC encoder. Because AVI is a legacy container with no fixed codec requirement, source files may arrive encoded in a wide variety of video codecs (DivX, Xvid, MPEG-2, raw H.264, MJPEG) and audio codecs (PCM, MP3, AC3); all of these must be fully transcoded, not remuxed, into the CAVS output. The CAVS format does not preserve AVI-specific metadata fields such as embedded copyright strings or non-standard chunk data. File size relative to the source AVI will vary significantly depending on the original codec: an old Xvid AVI may actually shrink considerably when re-encoded to H.264 at CRF 23, while a high-bitrate MJPEG or PCM-audio AVI may produce a noticeably smaller CAVS output. One practical limitation is that CAVS playback support outside of China-specific media ecosystems and FFmpeg itself is sparse — most mainstream Western players do not recognize the .cavs extension natively, so this format should only be targeted when specifically required by a downstream system.