Convert CAVS to WEBA — Free Online Tool
Extract and convert the audio track from a CAVS (Chinese Audio Video Standard) file into a WEBA file encoded with the Opus codec — a modern, efficient format built for web streaming and browser playback. This tool strips the video entirely and re-encodes the AAC audio from the CAVS container into Opus, producing a compact, web-ready audio file directly in your browser.
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 carry AAC audio alongside their video stream. Since WEBA is a purely audio-only WebM container, the video stream is discarded entirely using the -vn flag — no video decoding or processing takes place. The AAC audio track is then decoded and re-encoded into Opus using the libopus encoder at 128k bitrate by default. Opus is a highly efficient modern codec that typically sounds noticeably better than AAC at equivalent bitrates, especially below 128k. The output is a .weba file — a WebM container holding only the Opus audio stream — which is natively playable in all major modern browsers without plugins.
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 command line. |
-i input.cavs
|
Specifies the input file in CAVS format. FFmpeg uses its AVS/CAVS demuxer to parse the container and expose both the H.264 video stream and the AAC audio stream for processing. |
-c:a libopus
|
Selects the libopus encoder for the audio output stream. The AAC audio decoded from the CAVS file is re-encoded into Opus, the modern codec used inside WEBA containers and natively supported by web browsers. |
-b:a 128k
|
Sets the Opus audio bitrate to 128 kilobits per second. At this bitrate, Opus delivers high-quality audio that is comparable to or better than AAC at 128k, making it a solid default for web audio use cases. |
-vn
|
Disables video output entirely, instructing FFmpeg to skip the CAVS video stream. This flag is required because WEBA is a purely audio-only container and cannot hold a video track. |
output.weba
|
Specifies the output filename with the .weba extension. FFmpeg infers from this extension that the output should be a WebM container restricted to audio, which is muxed to hold the Opus-encoded audio stream. |
Common Use Cases
- Extracting a voice commentary or narration track from a CAVS broadcast recording for use in a web-based audio player
- Converting CAVS audio content from Chinese digital TV broadcasts into a streaming-friendly format for embedding on a website
- Pulling background music or sound effects from a CAVS video source to use in a browser-based game or web app
- Archiving the audio portion of a CAVS recording in a smaller, efficient file when the video is no longer needed
- Preparing audio from a CAVS source for use with the HTML5 <audio> element, which natively supports WEBA/Opus in Chrome and Firefox
- Reducing file size for audio content originally in CAVS format by leveraging Opus's superior compression efficiency for low-latency web delivery
Frequently Asked Questions
Yes — this is a lossy-to-lossy conversion. The original AAC audio in the CAVS file is decoded to raw PCM, then re-encoded into Opus. Each generation of encoding introduces some quality loss, though Opus at 128k is widely considered to match or exceed AAC at the same bitrate. If quality is a priority, consider increasing the output bitrate to 192k or 256k using the tool's quality settings.
WEBA is an audio-only container — it is the audio-specific subset of the WebM format and cannot hold a video stream. The conversion intentionally discards the video track using the -vn flag. If you need to keep the video, you should choose a different output format such as WebM or MP4.
WEBA files containing Opus audio are natively supported in Chrome, Firefox, Edge, and Opera via the HTML5 audio element. Safari added Opus support starting with macOS Catalina and iOS 11, though WEBA container support may vary. For maximum compatibility across all environments, WEBA/Opus works best in Chromium-based browsers and Firefox.
Change the value of the -b:a flag to adjust the output bitrate. For example, replace 128k with 192k or 256k for higher quality, or use 64k or 96k for smaller file sizes. Opus is particularly efficient at low bitrates — 96k Opus audio often rivals 128k AAC in perceived quality, making it a good choice if file size matters.
Yes. The exact command displayed on this page — ffmpeg -i input.cavs -c:a libopus -b:a 128k -vn output.weba — can be run locally in any terminal where FFmpeg is installed. This is especially useful for large CAVS recordings from broadcast sources that exceed the browser tool's 1GB limit. Just replace input.cavs with your actual file path.
FFmpeg supports CAVS decoding (using its cavs demuxer), but CAVS is a relatively niche Chinese national standard format primarily used in broadcast and set-top box contexts. Most CAVS files produced by compliant encoders will work, but some proprietary or non-standard CAVS variants from specific hardware devices may not decode correctly. If FFmpeg cannot parse your file, you may see an error in the browser console.
Technical Notes
CAVS (Chinese Audio Video Standard, also known as AVS or AVS+) uses H.264/AVC-compatible video alongside AAC audio in its container. When converting to WEBA, only the audio pipeline matters: the AAC stream is fully decoded before being re-encoded into Opus, so the two codecs are never directly remuxed — genuine transcoding occurs. The -vn flag is required because libopus cannot be muxed with a video stream in the WEBA container. Opus, standardized by the IETF in RFC 6716, is a hybrid codec combining SILK and CELT modes, making it highly efficient across both speech and music content. One known limitation is that WEBA does not support chapter markers, embedded cover art, or rich metadata, so any tag information in the original CAVS file will not be preserved. The output file size will be significantly smaller than the CAVS source since the entire video stream is discarded.