Extract Audio from CAVS to WEBA — Free Online Tool
Extract audio from CAVS (Chinese Audio Video Standard) video files and convert it to WEBA format, re-encoding the AAC audio stream to Opus inside a WebM container. WEBA with Opus is ideal for web delivery, offering excellent compression efficiency and broad browser support at bitrates like 128k.
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. This tool strips the video entirely and re-encodes the AAC audio track using the Opus codec (libopus), wrapping the result in an audio-only WebM container with the .weba extension. Because AAC and Opus use different compression algorithms, a full decode-and-re-encode is performed — the AAC stream is decoded to raw PCM audio, then re-encoded to Opus at your chosen bitrate. Opus is a modern, royalty-free codec developed by Xiph.Org and IETF, and it consistently outperforms AAC at equivalent bitrates below 192k, making this transcoding step a worthwhile quality trade-off for web delivery. The output contains no video data whatsoever, which is why the file size drops dramatically compared to the source CAVS file.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary. When run locally on your desktop, this must be installed and available in your system PATH; in the browser tool, it runs as FFmpeg.wasm compiled to WebAssembly. |
-i input.cavs
|
Specifies the input file in CAVS format. FFmpeg reads both the video stream (encoded with a CAVS-compatible codec) and the audio stream (AAC) from this container. |
-vn
|
Disables video stream selection from the input, ensuring no video data is processed or passed to the output. This is the key flag that makes this an audio extraction operation rather than a full conversion. |
-c:a libopus
|
Selects the Opus encoder (libopus) to re-encode the AAC audio decoded from the CAVS source. Opus is required here because the WEBA/WebM container does not support AAC — a direct stream copy is not possible for this format pair. |
-b:a 128k
|
Sets the target audio bitrate for the Opus encoder to 128 kilobits per second. At this bitrate, Opus delivers perceptually transparent quality for most music and speech content extracted from CAVS broadcast sources, while keeping the file size compact. |
-vn
|
A second -vn flag applied to the output side, explicitly confirming that the WEBA output file must contain no video stream. This redundancy safeguards against edge cases where the CAVS file's stream mapping might otherwise attempt to include video in the output. |
output.weba
|
The output filename with the .weba extension, which signals an audio-only WebM container. Browsers and media players that recognize this extension will treat the file as streamable web audio containing an Opus-encoded track. |
Common Use Cases
- Extracting speech or narration from CAVS broadcast recordings to publish as a web-hosted audio clip, where Opus's low-latency streaming properties make it suitable for HTML5 audio elements
- Converting CAVS surveillance or broadcast footage audio to WEBA for use in a Progressive Web App (PWA) that requires WebM-compatible audio to stay within browser codec support constraints
- Pulling background music or sound effects from Chinese broadcast CAVS content for use in a web-based video editor that accepts WebM/Opus tracks
- Archiving the audio commentary from CAVS-encoded sports or news broadcasts in a compact Opus format, taking advantage of Opus's superior quality at low bitrates (e.g., 64k) compared to the source AAC
- Preparing audio from CAVS training or instructional videos for use in a browser-based e-learning platform that streams WEBA files using the Web Audio API
- Extracting audio from CAVS files received from Chinese broadcast partners to create Opus-encoded previews for a web storefront, where minimizing file size without sacrificing perceptible quality is a priority
Frequently Asked Questions
Yes, some generation loss is inevitable because this conversion decodes the original AAC audio and re-encodes it to Opus — two different lossy codecs. However, Opus at 128k typically matches or exceeds the perceptual quality of AAC at the same bitrate, so the practical difference is often inaudible for speech and music. If you want to minimize any degradation, raise the output bitrate to 192k or 256k using the quality setting before converting.
WEBA is an audio-only WebM container, and the WebM specification only permits Opus or Vorbis as audio codecs — AAC is not a valid codec for WebM files. This means a re-encode to Opus (or Vorbis) is mandatory regardless of the source format. Opus is the preferred default because it is more efficient than Vorbis, especially at lower bitrates, and enjoys full support in all modern browsers.
Modify the value after the -b:a flag. For example, replace '128k' with '192k' to get higher fidelity, or use '64k' for a smaller file suited to voice-only content: ffmpeg -i input.cavs -vn -c:a libopus -b:a 192k -vn output.weba. Opus performs remarkably well at 64k for speech, making it a strong choice for podcast-style extracts from CAVS broadcasts.
Yes. Both Opus and Vorbis are valid codecs for the WEBA/WebM container. To use Vorbis, replace '-c:a libopus' with '-c:a libvorbis' in the command. However, Opus is recommended because it achieves better audio quality at the same bitrate, has lower latency, and is now more widely supported than Vorbis across browsers and media players.
Metadata preservation depends on what tags are present in the source CAVS file. FFmpeg will attempt to map compatible metadata fields to the WebM/Matroska tag format during conversion, but CAVS files from broadcast sources often carry minimal or proprietary metadata that may not transfer cleanly. If metadata fidelity is important, verify the output with a tool like MediaInfo and add tags manually using FFmpeg's -metadata flag if needed.
The -vn flag appears twice due to how FFmpeg processes input and output options. In this command, the first -vn after the input ensures no video stream is selected for processing, and the second -vn before the output file explicitly confirms that no video stream should be written to the WEBA output. While FFmpeg often handles this with a single flag, the double placement guarantees the output is a clean, video-free audio file regardless of how the CAVS file's streams are internally mapped.
Technical Notes
CAVS (Chinese Audio Video Standard, GB/T 20090) files typically use AAC audio at bitrates between 128k and 192k, consistent with broadcast delivery standards. Because WEBA is strictly an audio-only container based on the WebM/Matroska format, only the Opus or Vorbis codec may be used — this makes a full transcode of the audio stream unavoidable. Opus (RFC 6716) is a hybrid codec combining SILK (speech) and CELT (music) technologies, which gives it a notable edge over AAC at bitrates below 160k. One limitation to be aware of: if your CAVS source contains multiple audio tracks (e.g., a primary and secondary language stream), this tool — like the standard FFmpeg command shown — will extract only the default audio track. Use -map 0:a:1 to explicitly select a secondary track. Channel layout is preserved: stereo input produces stereo Opus output. For mono speech content, adding -ac 1 to the command can further reduce file size with no perceptible quality penalty.