Convert CAVS to HEVC — Free Online Tool
Convert CAVS (Chinese Audio Video Standard) video files to HEVC/H.265 using libx265, achieving dramatically smaller file sizes compared to the original AVS compression. This tool re-encodes the CAVS video stream directly in your browser — no upload required — making it ideal for modernizing AVS broadcast content for storage or playback on modern international devices.
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 use the AVS1 video codec, a Chinese national standard that is not widely supported outside specialized broadcast hardware and software. During this conversion, FFmpeg decodes the AVS1 video stream from the CAVS container and re-encodes every frame using libx265 (HEVC/H.265), outputting a raw .hevc bitstream. This is a full transcoding operation — not a remux — meaning the video data is fully decoded and re-compressed using H.265's superior encoding algorithms. Because CAVS audio is typically encoded in AAC or DRA formats and the output is a raw HEVC bitstream (not an MP4 or MKV container), audio is not carried into the output file. The default CRF of 28 is applied, which is HEVC's standard quality setting and typically produces files significantly smaller than the CAVS source at comparable perceptual quality.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg program, the open-source multimedia processing engine that handles decoding the AVS1 video stream from the CAVS source and re-encoding it as HEVC. |
-i input.cavs
|
Specifies the input file in CAVS format. FFmpeg will detect the AVS1 video codec inside the CAVS container and route it to the appropriate decoder before re-encoding. |
-c:v libx265
|
Selects the libx265 encoder for the video stream, replacing the source AVS1 codec with HEVC/H.265 — a modern standard with far broader device support and superior compression efficiency than AVS1. |
-crf 28
|
Sets the Constant Rate Factor for libx265 to 28, which is the recommended default quality level for HEVC. This balances file size and visual quality for typical CAVS broadcast content; lower values produce higher quality at larger file sizes. |
-x265-params log-level=error
|
Passes a parameter directly to the x265 encoder library that suppresses informational and warning log lines, showing only errors. This prevents the console from being flooded with per-frame encoding statistics during what can be a lengthy CAVS-to-HEVC transcode. |
output.hevc
|
Defines the output filename with the .hevc extension, instructing FFmpeg to write a raw HEVC Elementary Stream. This format contains only the re-encoded video bitstream with no container wrapper, meaning audio from the CAVS source is not included in the output. |
Common Use Cases
- Modernizing archived Chinese broadcast footage encoded in CAVS for playback on international streaming platforms and devices that support HEVC but not AVS1
- Reducing file size of CAVS recordings from set-top boxes or digital television captures before long-term archival storage
- Extracting re-encoded HEVC video from CAVS source material for use in professional video editing pipelines that support H.265 natively
- Converting CAVS test or reference video clips obtained from Chinese broadcast standards bodies into a widely-compatible format for codec research or comparison
- Preparing CAVS-encoded video content for playback on Apple devices, smart TVs, or gaming consoles that support HEVC but have no AVS1 decoder
- Generating an FFmpeg command to batch-transcode large libraries of CAVS recordings on a local desktop or server for workflows exceeding the 1GB browser limit
Frequently Asked Questions
The output format here is a raw HEVC bitstream (.hevc), which is a video-only container that cannot carry audio streams. CAVS files may contain audio encoded in AAC or the DRA format, but neither can be muxed into a bare .hevc file. If you need to preserve audio alongside your H.265 video, the standard approach is to use a container like MP4 or MKV — you would modify the FFmpeg command to output to an .mp4 or .mkv file and add an audio codec flag such as -c:a aac.
Yes, this is a lossy-to-lossy transcode, so some generation loss is unavoidable. The AVS1 video from the CAVS file is fully decoded to raw frames and then re-compressed by libx265. However, HEVC is a significantly more efficient codec than AVS1, so at the default CRF 28 setting the visual quality is generally very good relative to the resulting file size. For the highest quality output, you can lower the CRF value (e.g., to 18 or 20), understanding that this will increase the output file size.
Raw HEVC bitstream files (.hevc) have limited direct playback support compared to HEVC wrapped in a standard container. VLC and MPV on desktop can typically play them, but most smart TVs, mobile devices, and streaming platforms expect H.265 content inside an MP4 or MKV container. If broad device compatibility is your goal, convert the output to .mp4 or .mkv by changing the output filename in the FFmpeg command rather than using the raw .hevc extension.
The -crf flag controls the quality-to-size tradeoff for libx265. The default is 28 — lower values like 18 or 20 produce higher quality at larger file sizes, while higher values like 35 produce smaller files at the cost of more visible compression artifacts. For transparent (lossless) output, you can set -crf 0, though the resulting file size will be very large. Edit the number after -crf in the copied command before running it locally.
Yes — on a desktop with FFmpeg installed, you can wrap the command in a shell loop. On Linux or macOS: `for f in *.cavs; do ffmpeg -i "$f" -c:v libx265 -crf 28 -x265-params log-level=error "${f%.cavs}.hevc"; done`. On Windows Command Prompt: `for %f in (*.cavs) do ffmpeg -i "%f" -c:v libx265 -crf 28 -x265-params log-level=error "%~nf.hevc"`. The browser-based tool processes one file at a time and supports files up to 1GB.
CAVS (Chinese Audio Video Standard) was developed as a royalty-free domestic alternative to H.264, but its adoption remained largely confined to Chinese digital television broadcasting and set-top boxes. International device manufacturers had little incentive to build AVS1 decoders, and the format never gained traction in global streaming or consumer hardware ecosystems. As a result, CAVS content frequently needs to be transcoded to a universally supported codec like HEVC or H.264 to be played on most modern devices outside of specialized broadcast environments.
Technical Notes
CAVS files encapsulate AVS1 video (defined under the GB/T 20090 standard) and are primarily encountered in the context of Chinese digital television broadcasts and legacy set-top box recordings. FFmpeg's AVS1 decoder handles most CAVS content but may struggle with non-standard or proprietary variants from specific hardware manufacturers. The output is a raw HEVC Elementary Stream (.hevc), which lacks a container wrapper — this means metadata, chapter markers, and audio streams present in the source CAVS file are not preserved in the output. The -x265-params log-level=error flag suppresses verbose per-frame diagnostic output from the x265 encoder, which keeps the console clean during long encodes without affecting the encoded video. HEVC encoding is computationally intensive compared to AVS1 decoding, so conversion speed will depend heavily on available CPU resources — libx265 does not use GPU acceleration in the WebAssembly environment. Users processing archival or broadcast content who require audio preservation should pipe both streams into an MKV or MP4 container after conversion.