Convert CAVS to MKV — Free Online Tool
Convert CAVS (Chinese Audio Video Standard) files to MKV format using H.264 video encoding and AAC audio, repackaging this specialized Chinese broadcast format into the universally compatible Matroska container. Ideal for making CAVS content accessible on modern players and editors that don't support the niche AVS codec.
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 AVS video codec, a Chinese national standard that is rarely supported outside of specialized Chinese broadcast and media software. Because MKV does not natively support the AVS codec in most implementations, this conversion fully re-encodes the video stream from AVS into H.264 (libx264) — a widely supported codec — while also transcoding the audio to AAC at 128k bitrate. The result is a Matroska (.mkv) container holding an H.264 video stream and AAC audio, which is playable on virtually any modern device or editing platform. This is a full transcode, not a remux, so encoding time will be proportional to the video length and your hardware.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary, the open-source multimedia processing engine that handles decoding the CAVS input, re-encoding to H.264/AAC, and writing the MKV container. |
-i input.cavs
|
Specifies the input CAVS file. FFmpeg will use its built-in AVS decoder to read the Chinese Audio Video Standard video stream and accompanying audio from this file. |
-c:v libx264
|
Sets the video encoder to libx264, re-encoding the AVS video stream into H.264. This is necessary because MKV players and editors do not broadly support the AVS codec, whereas H.264 is universally compatible. |
-c:a aac
|
Transcodes the audio stream to AAC using FFmpeg's native AAC encoder, ensuring the audio is compatible with the MKV container and playable across all modern devices regardless of the original CAVS audio format. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encode to 23, FFmpeg's default quality level. For CAVS broadcast source material this produces a good quality-to-size ratio; lower values (e.g., 18) increase quality and file size. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level suitable for speech and music in broadcast content. Increase to 192k or 256k if the source CAVS file contains high-fidelity audio that you want to better preserve. |
output.mkv
|
Defines the output file as a Matroska (.mkv) container. FFmpeg infers the container format from the file extension, packaging the re-encoded H.264 video and AAC audio into the open-standard MKV format with support for subtitles, chapters, and multiple audio tracks. |
Common Use Cases
- Archiving Chinese broadcast or IPTV recordings originally captured in CAVS format so they can be played back on Western media players like VLC, Plex, or Kodi without installing obscure AVS codec packs.
- Preparing CAVS video content for editing in non-linear editors such as DaVinci Resolve or Adobe Premiere, which support H.264-in-MKV but not the AVS codec.
- Converting CAVS files obtained from Chinese set-top boxes or DVRs into a standard format that can be shared with international colleagues or uploaded to internal review platforms.
- Batch-processing a library of CAVS broadcast recordings into MKV for long-term preservation using the open Matroska standard, avoiding dependency on proprietary AVS playback infrastructure.
- Preparing CAVS content for subtitle embedding or chapter marking — features that MKV natively supports but CAVS does not — enabling proper localization workflows.
- Enabling multiple audio tracks to be added to the converted MKV file, which is useful for distributing Chinese-language CAVS broadcasts with dubbed or descriptive audio alternatives.
Frequently Asked Questions
Unlike converting between containers that share codec support (for example, MKV to MP4 with H.264), CAVS uses the AVS video codec which is not a supported stream codec in standard MKV implementations. This means the video must be fully re-encoded — in this case to H.264 — rather than simply copied into the new container. Re-encoding is necessary for compatibility but does take more time and introduces some generation loss compared to a lossless remux.
Yes, since this is a full transcode from AVS to H.264, some quality loss occurs during re-encoding. The default CRF value of 23 is FFmpeg's standard H.264 quality setting and produces a good balance of file size and visual quality for most content. If you need higher fidelity, you can lower the CRF value (e.g., to 18) in the FFmpeg command — lower values produce better quality at the cost of larger file sizes.
Yes, significantly. CAVS is a relatively limited container format designed for Chinese broadcast use, and it does not support subtitles, chapters, or multiple audio tracks. MKV (Matroska) supports all of these features natively, which means once your content is converted you can add subtitle tracks, embed chapter markers, or include alternate audio streams — none of which were possible in the source CAVS file.
Adjust the -crf flag in the command to control H.264 encode quality. The scale runs from 0 (lossless) to 51 (lowest quality), with 23 as the default. For broadcast-quality CAVS source material where you want to preserve as much detail as possible, consider using -crf 18 or -crf 15. Keep in mind that very low CRF values will produce noticeably larger MKV files, and since the source is already lossy AVS, pushing below CRF 18 yields diminishing returns.
Yes. On Linux or macOS you can run a shell loop: for f in *.cavs; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.cavs}.mkv"; done. On Windows Command Prompt, use: for %f in (*.cavs) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.mkv". The browser-based tool processes one file at a time, so the FFmpeg command is especially useful for large libraries.
Yes, the audio is transcoded to AAC at 128k bitrate regardless of the source audio format in the CAVS file. CAVS typically uses its own AVS Audio or basic AAC streams in broadcast contexts, neither of which is guaranteed to pass through cleanly into MKV, so re-encoding to AAC 128k ensures reliable compatibility. If your source CAVS file has high-quality audio and you want to preserve more fidelity, increase the bitrate with -b:a 192k or -b:a 256k in the command.
Technical Notes
CAVS (Chinese Audio Video Standard, also referred to as AVS or AVS1) is a codec standard developed by the AVS Working Group of China as a royalty-reduced alternative to H.264/AVC, and was widely deployed in Chinese digital television and IPTV infrastructure. Mainstream FFmpeg builds include a CAVS decoder (cavs) but not a CAVS encoder, which is why conversion out of CAVS requires re-encoding to a supported codec like libx264 rather than a stream copy. The re-encode introduces generation loss, so you should treat the output MKV as a high-quality derivative rather than a lossless archive of the original. Metadata preservation from CAVS to MKV is minimal because CAVS files typically carry very little standardized metadata beyond basic stream info. The MKV container itself is fully open-standard and supports a rich metadata schema, so you can add title, date, and language tags to the output file using FFmpeg's -metadata flag if needed. One practical concern: some CAVS broadcast files may contain interlaced video; if your output looks combed or stuttery, consider adding -vf yadif to the FFmpeg command to deinterlace during the transcode.