Convert CAVS to M4A — Free Online Tool
Extract and convert the audio track from a CAVS (Chinese Audio Video Standard) file into M4A format, encoding it as AAC audio in an MPEG-4 container. This is ideal for pulling clean audio from CAVS broadcast recordings into a widely compatible format supported by iTunes, Apple devices, and most modern media players.
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 video encoded with H.264 (libx264) and audio encoded with AAC. Since M4A is an audio-only container, the video stream is completely discarded using the -vn flag — no video re-encoding takes place. The AAC audio stream is transcoded (re-encoded) into a fresh AAC stream at 128k bitrate and placed into the MPEG-4 audio container (.m4a). Because both the source and destination audio codec are AAC, the transcoding step is technically a same-codec re-encode rather than a format-changing transcode, which means quality loss is minimal at 128k, though it is not a lossless copy. The result is a compact, iTunes-compatible audio file stripped of all video data.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg multimedia processing tool. In the browser-based version of this tool, this runs as FFmpeg.wasm compiled to WebAssembly, executing entirely on your local machine without sending any data to a server. |
-i input.cavs
|
Specifies the input file in CAVS (Chinese Audio Video Standard) format. FFmpeg reads both the H.264 video stream and the AAC audio stream from this container, though only the audio will be used in the output. |
-c:a aac
|
Sets the audio codec to AAC for the output M4A file. Since M4A's default and most compatible audio codec is AAC, this ensures the output is natively playable by iTunes, Apple Music, and all Apple devices without any additional decoding overhead. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. This is a widely accepted quality level for AAC — transparent for most speech content from CAVS broadcast recordings and adequate for most music. Increase to 192k or 256k if the source contains high-quality music audio. |
-vn
|
Disables video output entirely, which is required because M4A is an audio-only container. This flag causes FFmpeg to drop the H.264 video stream from the CAVS file and produce a pure audio M4A file, significantly reducing the output file size compared to the original. |
output.m4a
|
Specifies the output filename with the .m4a extension, which tells FFmpeg to wrap the encoded AAC audio in an MPEG-4 audio container. The .m4a extension signals to iTunes, Apple Music, and other players that this is an audio-only MPEG-4 file, enabling features like iTunes metadata and gapless playback support. |
Common Use Cases
- Extracting the audio commentary or narration from a CAVS broadcast recording to archive or redistribute as a standalone audio file
- Pulling music or audio segments from CAVS video files acquired from Chinese digital television or streaming sources for use in audio players like iTunes or Apple Music
- Converting CAVS recordings of Chinese broadcast events (news, concerts, sports) into M4A files for podcast production or audio editing workflows
- Preparing audio from CAVS source material for playback on iPhone, iPad, or other Apple devices that natively support M4A/AAC but may not recognize the CAVS container
- Archiving the audio portion of CAVS files in a more universally supported container before the original CAVS files are deleted to save storage space
- Feeding extracted audio from CAVS broadcast content into an audio editor like GarageBand or Logic Pro, which work seamlessly with M4A files
Frequently Asked Questions
There will be a small amount of quality loss because the audio is being re-encoded from AAC (inside the CAVS file) to a new AAC stream inside the M4A container — even though both use the same codec, re-encoding introduces a generation loss. At the default 128k bitrate this is generally imperceptible for speech and most music. If preserving maximum quality is critical, you can increase the bitrate to 192k or 256k in the tool settings or by adjusting the -b:a flag in the FFmpeg command.
In principle, AAC audio from a CAVS file could be stream-copied into an M4A container using -c:a copy, since both formats support AAC. However, this tool re-encodes at a known-good 128k bitrate to ensure compatibility and consistent output, since the source CAVS file's AAC parameters may vary. If you want a lossless copy, you can run the FFmpeg command locally with -c:a copy instead of -c:a aac -b:a 128k.
M4A does support chapter markers as a container feature, but CAVS files do not carry chapter data, so no chapters will be present in the output. If you need chapter markers in your M4A file, you would need to add them manually after conversion using a tool like MP3Tag or Chapter and Verse.
CAVS is a broadcast-oriented format and rarely contains rich metadata tags. The FFmpeg conversion command does not include explicit metadata mapping flags, so any embedded metadata from the CAVS file will be passed through if FFmpeg can read it, but in practice most CAVS files carry no useful ID3-style tags. You can add iTunes-compatible metadata to the output M4A file after conversion using a tag editor.
The audio bitrate is controlled by the -b:a flag. In the default command it is set to 128k, which is a good balance of quality and file size. To increase quality, replace 128k with 192k or 256k (e.g., -b:a 256k). To reduce file size at the cost of some quality, use 96k or 64k. Higher bitrates are most noticeable for music content; for speech from broadcast recordings, 128k is usually more than sufficient.
The command shown on this page processes one file at a time. To batch convert on your desktop, you can wrap the command in a shell loop. On Linux or macOS: for f in *.cavs; do ffmpeg -i "$f" -c:a aac -b:a 128k -vn "${f%.cavs}.m4a"; done. On Windows Command Prompt: for %f in (*.cavs) do ffmpeg -i "%f" -c:a aac -b:a 128k -vn "%~nf.m4a". The browser-based tool processes files individually due to WebAssembly memory constraints.
Technical Notes
CAVS (GB/T 20090) is a Chinese national standard format that uses H.264 video and AAC audio, making it structurally similar to standard MP4 files but wrapped in its own container specification. Because M4A is a pure audio container (a restricted variant of the MPEG-4 container), the -vn flag is mandatory to discard the video stream — FFmpeg will error without it when targeting M4A. The output AAC stream is encoded using FFmpeg's native AAC encoder, which produces solid quality at 128k and above. M4A offers excellent compatibility with Apple's ecosystem including iTunes metadata fields, gapless playback signaling, and web audio playback, none of which are features of the CAVS source format. One known limitation: if the CAVS file contains multiple audio tracks (uncommon but possible in broadcast recordings), only the first audio track will be included in the output, as M4A does not support multiple audio tracks in this tool's configuration. Files processed entirely in-browser via FFmpeg.wasm, with no server upload required.