Convert M4V to CAVS — Free Online Tool
Convert M4V files (Apple's iTunes-compatible MPEG-4 container) to CAVS, China's national broadcast video standard, using H.264 video and AAC audio encoding. This is a niche but necessary conversion for content destined for Chinese broadcast pipelines or CAVS-compliant distribution systems.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your M4V 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
M4V is Apple's variant of the MP4 container, typically carrying H.264 or H.265 video alongside AAC audio, with optional iTunes DRM, chapter markers, and multiple audio tracks. CAVS (Chinese Audio Video Standard) is a far more constrained container format: it supports only H.264 video and AAC audio, with no subtitle streams, no chapter data, and no multiple audio tracks. During this conversion, the video stream is re-encoded to H.264 using libx264 at CRF 23 (even if the source is already H.264, to ensure CAVS container compatibility), and the AAC audio is re-encoded at 128k bitrate. Any iTunes DRM, embedded chapters, subtitle tracks, or secondary audio tracks present in the M4V source will be stripped, as the CAVS format has no mechanism to carry them.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia framework that handles all decoding, encoding, and container remuxing for this M4V to CAVS conversion. |
-i input.m4v
|
Specifies the input file: an M4V container, Apple's variant of MPEG-4 that may contain H.264 or H.265 video, AAC audio, chapters, subtitles, and optional FairPlay DRM. |
-c:v libx264
|
Re-encodes the video stream to H.264 using the libx264 encoder, which is the only video codec supported by the CAVS container format. Even if the source M4V already contains H.264, transcoding is required for CAVS container compatibility. |
-c:a aac
|
Encodes the audio stream to AAC using FFmpeg's native AAC encoder, which is the only audio codec the CAVS format accepts. Any secondary audio tracks from the M4V source are discarded, and only the primary audio track is encoded. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 video encode to 23, the libx264 default, which balances file size and visual quality. Lower values (e.g., 18) produce higher-quality output at larger file sizes for this CAVS output. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level suitable for most speech and music content in the CAVS output file. |
output.cavs
|
Specifies the output filename with the .cavs extension, which signals FFmpeg to use its CAVS muxer and produce a file conforming to the Chinese Audio Video Standard container structure. |
Common Use Cases
- Preparing iTunes-purchased or Apple TV video content for submission to a Chinese broadcast distribution platform that requires CAVS-compliant files
- Converting M4V educational or training videos for playback on Chinese government or enterprise media systems that mandate the CAVS national standard
- Transcoding Apple-produced promotional videos into CAVS format for display at trade shows or digital signage systems operating within China's broadcast infrastructure
- Stripping Apple-specific metadata, chapter markers, and multi-track audio from an M4V file to produce a clean, minimal single-stream video for CAVS-based archival
- Testing CAVS container output from an M4V source before committing to a large batch conversion job for a Chinese media distribution partner
Frequently Asked Questions
Yes, some quality loss is expected. Even if your M4V source already contains H.264 video, FFmpeg must re-encode it into the CAVS container rather than simply copying the stream, which introduces generational compression loss. The default CRF 23 setting preserves good visual quality for most content, but if your source was already heavily compressed, you may want to lower the CRF value (e.g., CRF 18) to minimize further degradation.
If your M4V file is protected by Apple FairPlay DRM (common with iTunes Store purchases), FFmpeg cannot read or convert it — the conversion will fail with a decoding error. Only DRM-free M4V files, such as those you created yourself or purchased from DRM-free sources, can be converted. You will need to remove DRM through authorized means before attempting conversion.
No. The CAVS format does not support chapters, subtitle streams, or multiple audio tracks, so all of these will be silently dropped during conversion. If your M4V contains forced subtitles or alternate language audio tracks that are critical to the content, you should extract and archive them separately before converting, as they cannot be embedded in the CAVS output file.
CAVS as a container format was developed in the early 2000s and its codec support reflects that era — it was designed around H.264/AVC as its primary video codec. H.265/HEVC is not part of the CAVS specification. If your M4V source contains H.265 video, FFmpeg will transcode it down to H.264 for the CAVS output, which will also result in a larger file size compared to what H.265 would have produced at equivalent quality.
To adjust video quality, change the '-crf 23' value — lower numbers (e.g., CRF 18) produce higher quality at larger file sizes, while higher numbers (e.g., CRF 28) produce smaller files with more visible compression. To change audio bitrate, modify '-b:a 128k' to a value like '192k' or '256k' for better audio fidelity. For example, a high-quality version of the command would be: ffmpeg -i input.m4v -c:v libx264 -c:a aac -crf 18 -b:a 192k output.cavs.
Yes, on Linux or macOS you can use a shell loop: 'for f in *.m4v; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.m4v}.cavs"; done'. On Windows Command Prompt, use: 'for %f in (*.m4v) do ffmpeg -i "%f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "%~nf.cavs"'. The browser-based tool processes files one at a time, so the FFmpeg command is particularly valuable for bulk conversion workflows involving many M4V files.
Technical Notes
CAVS (.cavs) is a Chinese national standard (GB/T 20090) and is relatively obscure outside of Chinese broadcast and government media contexts. FFmpeg's CAVS muxer is functional but intentionally limited — it enforces H.264 video and AAC audio as the only accepted codecs, and it does not provide a mechanism for embedding subtitle streams, chapter metadata, or secondary audio tracks. This makes CAVS a lossy format not just in terms of compression but also in terms of metadata fidelity: converting from a richly-featured M4V with chapters and multiple languages to CAVS is a destructive operation for all non-primary-stream data. The absence of '-movflags +faststart' in the CAVS output command (which is present for M4V/MP4 output) is intentional — this flag is specific to the MP4/MOV container family and is not applicable to CAVS. File sizes for CAVS output will generally be similar to or slightly larger than equivalent MP4/H.264 output at the same CRF, as the container overhead difference is minimal. Note that CAVS playback support outside of specialized Chinese broadcast hardware and software is limited — most consumer media players require a plugin or dedicated CAVS-capable decoder.