Extract Audio from CAVS to ALAC — Free Online Tool
Extract audio from CAVS video files and save it as lossless ALAC (Apple Lossless Audio Codec) in an M4A container. This conversion discards the H.264 video stream entirely and re-encodes the AAC audio track into ALAC — giving you a bit-perfect, lossless archive of the audio sourced from a Chinese broadcast-standard video file.
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 an AAC audio track alongside an H.264 video stream. During this conversion, FFmpeg strips the video stream completely (using the -vn flag) and decodes the AAC audio, then re-encodes it into Apple Lossless (ALAC) — a lossless compression format stored inside an MPEG-4 (.m4a) container. Because AAC is a lossy codec, the source audio already has some generational loss from when the CAVS file was originally encoded; ALAC cannot reverse that. However, once converted, the ALAC file is a lossless snapshot of exactly what was in the CAVS file — no further quality degradation will occur in future copies or edits. The output .m4a file is natively compatible with Apple devices, iTunes, and any player that supports ALAC.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program. In the browser-based version of this tool, FFmpeg runs locally via WebAssembly (FFmpeg.wasm) — your CAVS file never leaves your device. |
-i input.cavs
|
Specifies the input file in CAVS format. FFmpeg detects the H.264 video stream and AAC audio stream inside the CAVS container automatically. |
-vn
|
Disables video output entirely, telling FFmpeg to ignore the H.264 video stream in the CAVS file. This is essential for producing an audio-only .m4a file and avoids any unnecessary video decoding overhead. |
-c:a alac
|
Sets the audio codec to ALAC (Apple Lossless Audio Codec), re-encoding the AAC audio decoded from the CAVS source into a lossless representation stored in the MPEG-4 output container. This flag appears twice in the command; the second instance is redundant but harmless. |
-c:a alac
|
A duplicate of the previous audio codec flag — both instances instruct FFmpeg to use the ALAC encoder. The second occurrence overrides the first with the same value, so the effective result is unchanged. You can safely use just one instance when running the command manually. |
output.m4a
|
The output filename with the .m4a extension, which is the standard container for ALAC audio. FFmpeg uses this extension to confirm the MPEG-4 container, which is required to store ALAC-encoded audio in a format recognized by Apple devices, iTunes, and compatible media players. |
Common Use Cases
- Archiving audio from Chinese broadcast or IPTV recordings (stored as CAVS) into a lossless format for long-term preservation before any further editing or transcoding introduces additional quality loss.
- Importing audio from a CAVS source file into Final Cut Pro, Logic Pro, or GarageBand, which natively support ALAC/M4A but cannot open raw CAVS files.
- Extracting a soundtrack, commentary track, or dialogue from a CAVS broadcast recording to use in a video production pipeline without recompressing the audio multiple times.
- Converting a CAVS audio track to ALAC so it can be synced to an iPhone, iPad, or Apple Music library while preserving the maximum possible fidelity from the original broadcast source.
- Creating a lossless master audio file from a CAVS recording before downsampling to MP3 or AAC for distribution, ensuring the master copy never degrades further.
- Stripping video from a large CAVS broadcast file to produce a compact, high-quality audio-only file for indexing, transcription, or accessibility workflows.
Frequently Asked Questions
ALAC will losslessly preserve exactly the audio data decoded from the AAC track in the CAVS file, meaning no additional quality loss is introduced by this conversion. However, AAC is itself a lossy codec, so any artifacts introduced when the original CAVS file was encoded are already baked in and cannot be recovered. Think of the ALAC output as a lossless freeze of a lossy source — perfect for archiving and further processing without compounding the loss.
ALAC is Apple's lossless codec and is defined to live inside an MPEG-4 container, which uses the .m4a extension for audio-only files. This is the correct and standard container for ALAC — it also supports chapter markers and metadata tags, making it a richer archival format than a raw .wav. If you need a different lossless container, you would use a different codec such as FLAC.
ALAC uses lossless compression, so the output will be noticeably larger than the AAC audio in the source CAVS file. AAC at 128 kbps is heavily compressed; ALAC for equivalent CD-quality audio typically runs 700–1000 kbps depending on content. For a one-hour CAVS recording, expect the ALAC audio-only file to be roughly 300–500 MB rather than the ~55 MB the AAC stream alone would occupy.
CAVS is a broadcast-oriented format and typically carries minimal embedded metadata. FFmpeg will pass through any ID3-style or container-level tags it can read, but CAVS files rarely contain rich metadata. The good news is that the .m4a container used for ALAC fully supports metadata tags and chapter markers, so you can add or edit them after conversion using tools like MP3Tag or iTunes.
On Linux or macOS you can use a shell loop: `for f in *.cavs; do ffmpeg -i "$f" -vn -c:a alac "${f%.cavs}.m4a"; done`. On Windows Command Prompt, use `for %f in (*.cavs) do ffmpeg -i "%f" -vn -c:a alac "%~nf.m4a"`. This applies the exact same flags to every CAVS file in the directory, outputting one .m4a file per input.
ALAC is a lossless codec, so there is no quality setting — the decoded audio is always reproduced bit-for-bit. FFmpeg does not expose a compression-level flag for ALAC the way it does for FLAC. The only variable affecting file size is the inherent complexity of the audio content itself. If you need a smaller file and can accept lossy output, you would use a different target codec such as AAC or MP3 instead.
Technical Notes
CAVS (Chinese Audio Video Standard) encodes video with H.264 (libx264) and audio with AAC, making it a broadcast-oriented container common in Chinese digital television workflows. When extracting audio, FFmpeg decodes the AAC stream and re-encodes it into ALAC — there is no stream-copy path available here because the source codec (AAC, lossy) and target codec (ALAC, lossless) are fundamentally different compression schemes. The re-encode step is therefore unavoidable. ALAC is stored in an MPEG-4 container (.m4a), which is natively supported by all Apple platforms, VLC, and most modern media players; it is notably absent from some older Android and Windows Media Player versions without codec packs. The FFmpeg command as generated includes `-c:a alac` twice — this is redundant but harmless; the second instance overrides the first and the effective behavior is identical to specifying it once. The .m4a container supports chapter markers (which ALAC files can use), but since CAVS does not carry chapter data, none will be present in the output unless added manually post-conversion. No video quality flags (-crf) are relevant here since the video stream is entirely discarded.