Compress CAVS Online — Free File Size Reducer
Compress CAVS video files by re-encoding them with H.264 (libx264) video and AAC audio at adjustable quality settings. This tool reduces file size while preserving the CAVS container format, making large Chinese broadcast or archive footage more manageable without changing the file type.
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 already use H.264 video and AAC audio internally, so this compression operation performs a full re-encode rather than a simple remux. The video stream is decoded and re-encoded by libx264 using a Constant Rate Factor (CRF) of 23 by default — a perceptually-driven quality target that discards redundant data to shrink file size. The audio is similarly re-encoded to AAC at 128k bitrate. Because CAVS is a Chinese national standard container with limited global toolchain support, the output remains in the CAVS container so downstream workflows that require this specific format are unaffected. The degree of compression is tunable: a higher CRF value produces smaller files with more visible quality loss, while a lower CRF value retains more detail at the cost of larger file sizes.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that handles decoding, re-encoding, and muxing of the CAVS file. |
-i input.cavs
|
Specifies the input CAVS file to be compressed. FFmpeg will demux the CAVS container and decode both the H.264 video and AAC audio streams for re-encoding. |
-c:v libx264
|
Selects the libx264 encoder to re-encode the video stream. Even though the source CAVS file already contains H.264 video, a full re-encode with libx264 is required to apply the CRF-based compression that actually reduces the file size. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, which is the default balance point between quality and file size for H.264 encoding. Lower values (closer to 0) preserve more detail for broadcast-critical content; higher values (up to 51) compress more aggressively at the cost of visible artifacts. |
-c:a aac
|
Re-encodes the audio stream using FFmpeg's native AAC encoder, which is compatible with the CAVS container. This step is necessary to reduce the audio bitrate as part of the overall compression. |
-b:a 128k
|
Sets the audio output bitrate to 128 kilobits per second, a standard quality level for AAC audio that balances file size and intelligibility for broadcast speech and music content. |
output.cavs
|
Specifies the output filename and tells FFmpeg to write the compressed result into a CAVS container, preserving the original format so the file remains compatible with CAVS-specific broadcast and archive workflows. |
Common Use Cases
- Reducing the storage footprint of large CAVS broadcast recordings captured from Chinese television or digital broadcast systems before archiving them
- Compressing CAVS footage from Chinese broadcast equipment to meet file size limits for internal content management systems that ingest this specific format
- Preparing CAVS files for faster transfer over limited-bandwidth networks in studio or post-production environments that require the CAVS container
- Shrinking CAVS reference files from Chinese standards-compliance testing labs to free up disk space while keeping the content usable
- Pre-processing raw CAVS recordings from broadcast capture cards to reduce bitrate before editing, without converting to a foreign container format
- Creating lower-bitrate CAVS proxies for offline review of broadcast content while preserving the original container for final delivery
Frequently Asked Questions
Yes — because CAVS uses lossy compression, re-encoding always introduces some generation loss. At the default CRF 23 setting, quality loss is generally imperceptible on typical broadcast content, but it is not mathematically lossless. If your source CAVS file was already heavily compressed, using a lower CRF (e.g., 18) will better preserve the original visual fidelity at the cost of a larger output file.
This tool is specifically designed to compress while keeping the CAVS container intact, which is important for workflows that require the Chinese national standard format — such as broadcast delivery pipelines or compliance archives. If you need a different output container, you would use a separate conversion tool rather than a compression tool.
The size reduction depends heavily on the bitrate of your original CAVS file and the CRF value used. At CRF 23 with 128k audio, a broadcast-quality CAVS file encoded at a high bitrate (e.g., 8–15 Mbps) can often be reduced by 50–80%. Lower-bitrate source files will see less reduction, and applying aggressive compression (high CRF values like 35 or 51) risks introducing blocking artifacts in fast-motion or high-detail scenes common in broadcast content.
No — the CAVS container format does not support embedded subtitles, chapter markers, or multiple audio tracks. If your source CAVS file somehow contains additional audio tracks, only the first track will be retained in the compressed output. This is a known structural limitation of the CAVS format compared to containers like MKV or MP4.
To change video quality, modify the -crf value: lower numbers (e.g., -crf 18) produce higher quality and larger files, while higher numbers (e.g., -crf 35) produce smaller files with more compression artifacts. To change audio quality, replace 128k in -b:a 128k with a different value such as 192k for better audio fidelity or 96k for a smaller file. For example: ffmpeg -i input.cavs -c:v libx264 -crf 18 -c:a aac -b:a 192k output.cavs
Yes, on the command line you can batch process CAVS files using a shell loop. On Linux or macOS: for f in *.cavs; do ffmpeg -i "$f" -c:v libx264 -crf 23 -c:a aac -b:a 128k "compressed_$f"; done. On Windows Command Prompt: for %f in (*.cavs) do ffmpeg -i "%f" -c:v libx264 -crf 23 -c:a aac -b:a 128k "compressed_%f". The browser-based tool processes one file at a time, so the FFmpeg command is particularly useful for bulk operations.
Technical Notes
CAVS (Chinese Audio Video Standard) is a niche container format with limited support outside of Chinese broadcast and standards-testing environments. When compressing CAVS with this tool, both the video and audio streams are fully re-encoded — there is no stream-copy option available because the goal is size reduction through re-encoding rather than container remuxing. The libx264 encoder's CRF mode is well-suited for this task because it targets perceptual quality rather than a fixed bitrate, meaning complex scenes automatically receive more bits while simpler scenes are encoded more efficiently. One important limitation: because CAVS does not support transparency, subtitles, chapters, or multiple audio tracks, none of these features can be preserved even if the source file somehow encodes them. Metadata preservation is also limited by the CAVS container specification. Users processing files for Chinese broadcast compliance should verify that the output bitrate meets the specific delivery requirements of their broadcaster, as CRF encoding produces variable bitrates that may need to be capped using -maxrate and -bufsize flags for broadcast-spec conformance.