Convert MP4 to CAVS — Free Online Tool

Convert MP4 files to CAVS (Chinese Audio Video Standard) format directly in your browser, encoding video with H.264/libx264 and audio with AAC. CAVS is a Chinese national broadcast standard, and this tool produces a .cavs container compatible with that ecosystem while preserving your original video quality settings.

FFmpeg Command

Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg

Free — no uploads, no signups. Your files never leave your browser.

Estimated output:

Conversion Complete!

Download

How It Works

MP4 and CAVS both support H.264 video and AAC audio, but because CAVS is a distinct container format with its own structure, the video stream must be re-encoded from the MP4 container into the CAVS container using libx264 rather than simply remuxed. The audio is similarly re-encoded to AAC at 128k bitrate. Notably, CAVS does not support subtitles, chapter markers, or multiple audio tracks, so any such embedded tracks in your source MP4 will be dropped during conversion — only the primary video and audio streams are carried through. The result is a lossy .cavs file suitable for Chinese broadcast and distribution workflows.

What Each Flag Does

Flag What it does
ffmpeg Invokes the FFmpeg binary, the open-source multimedia framework that performs the container remuxing and codec transcoding. In this browser tool, FFmpeg runs via WebAssembly (FFmpeg.wasm) without any server-side processing.
-i input.mp4 Specifies the input file — your source MP4, which may contain H.264, H.265, or VP9 video alongside AAC, MP3, or Opus audio tracks, as well as optional subtitles and chapters.
-c:v libx264 Re-encodes the video stream using the libx264 H.264 encoder, which is required because the CAVS container must be written from scratch and cannot accept a direct stream copy from the MP4 container in FFmpeg's CAVS muxer.
-c:a aac Re-encodes the audio stream to AAC using FFmpeg's native AAC encoder, which is the only audio codec supported by the CAVS container format in this toolchain.
-crf 23 Sets the Constant Rate Factor for the H.264 encode to 23, which is the libx264 default and represents a good balance between visual quality and file size — lower values yield higher quality and larger files, higher values compress more aggressively.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, which is adequate for stereo audio at broadcast quality and keeps file sizes manageable without perceptible degradation for most voice and music content.
output.cavs Specifies the output filename with the .cavs extension, which signals FFmpeg to use the CAVS muxer and write the encoded H.264 video and AAC audio into a CAVS-format container.

Common Use Cases

  • Preparing video content for distribution on Chinese broadcast platforms or state media networks that require CAVS-compliant files
  • Converting internationally produced MP4 content into CAVS format to meet Chinese regulatory or technical submission requirements
  • Archiving or delivering video files to Chinese set-top box manufacturers or hardware vendors whose devices natively decode CAVS streams
  • Testing CAVS container compatibility when developing or validating media players and decoders that must support Chinese national standards
  • Stripping subtitle tracks and chapter metadata from an MP4 to produce a clean, single-stream video file in a standardized container format

Frequently Asked Questions

Yes, some quality loss is unavoidable because both the video and audio must be re-encoded rather than copied. The video is re-encoded with libx264 at CRF 23, which is a visually transparent quality level for most content, and audio is re-encoded to AAC at 128k. If your source MP4 was already encoded with H.264 and AAC, you are performing a generation loss re-encode, so starting from the highest quality source available is recommended.
No. The CAVS format does not support embedded subtitle tracks, chapter markers, or multiple audio tracks. If your MP4 contains these — for example, commentary tracks, forced subtitles, or chapter navigation — all of those will be discarded during conversion. Only the primary video and first audio stream will be written to the output .cavs file.
The CAVS container format is technically capable of carrying AVS-encoded video, but FFmpeg's CAVS muxer and the libx264 encoder are the most stable and widely available tools for producing CAVS-compatible output in open-source toolchains. Native AVS encoding support in FFmpeg is limited and not broadly supported by modern hardware, so H.264 inside the CAVS container is the practical standard for cross-platform production workflows.
Adjust the -crf value in the command to control video quality. CRF ranges from 0 (lossless, largest file) to 51 (worst quality, smallest file), with 23 being the default balance point. For higher quality output, lower the value — for example, -crf 18 produces near-visually-lossless results. To change audio bitrate, replace 128k in -b:a 128k with a value like 192k or 256k for better audio fidelity.
Yes. On Linux or macOS, you can loop over files in the terminal: for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mp4}.cavs"; done. On Windows Command Prompt, use: for %f in (*.mp4) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.cavs". The browser-based tool processes one file at a time, so the FFmpeg command is the recommended route for bulk conversions.
Because the video and audio are fully re-encoded rather than remuxed, the output file size depends on the complexity of your video content and the CRF setting, not the original MP4's bitrate. A CRF of 23 targets perceptual quality rather than a fixed bitrate, so simple scenes will produce smaller files and complex motion scenes will produce larger ones. Additionally, metadata, subtitle tracks, and extra audio tracks present in the MP4 are stripped, which can reduce overhead.

Technical Notes

CAVS (.cavs) is a container format defined under the Chinese national standard GB/T 20090, originally designed to carry AVS (Audio Video coding Standard) encoded video. However, in practice and within FFmpeg's implementation, the CAVS muxer accepts H.264 video (libx264) and AAC audio, making it compatible with standard encoding pipelines. The format is strictly lossy — there is no lossless mode — and it lacks container-level support for features common in MP4, including multiple audio tracks, subtitle streams (SRT, ASS, DVB), and chapter metadata. The -movflags +faststart flag used in MP4 for progressive web streaming has no equivalent in CAVS and is not applied. If your source MP4 uses HEVC (H.265) or VP9 video, those streams will be transcoded to H.264 during this conversion, which may alter the file size and quality profile significantly. It is worth noting that CAVS hardware and software decoders are primarily deployed in the Chinese domestic market, so playback on general-purpose Western media players may require specific codec support.

Related Tools