Convert MXF to CAVS — Free Online Tool
Convert MXF broadcast media files to CAVS format entirely in your browser, re-encoding the video to H.264 (libx264) and audio to AAC — no server uploads required. This is ideal for adapting professional production footage from editing suites into a format aligned with China's national broadcast standard.
to
FFmpeg Command
Copy this command to run the same conversion locally with FFmpeg on your desktop. Download FFmpeg
Drop your MXF 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
MXF files from broadcast and post-production workflows typically contain video encoded as MPEG-2, MJPEG, or H.264, paired with uncompressed or lightly compressed PCM audio. Because CAVS as a container is limited to H.264 video and AAC audio, this conversion always involves a full re-encode: the video stream is transcoded to H.264 using libx264 with a CRF of 23, and the audio — often 16-bit or 24-bit PCM in the source MXF — is transcoded to AAC at 128k bitrate. MXF-specific professional metadata such as UMID identifiers, timecode tracks, and embedded essence descriptors cannot be carried over into the CAVS container and will be discarded during conversion.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the open-source multimedia processing engine that handles the MXF demuxing, codec decoding, re-encoding, and CAVS muxing pipeline. |
-i input.mxf
|
Specifies the source MXF file as input. FFmpeg will demux the MXF container, reading whichever internal video codec (MPEG-2, MJPEG, or H.264) and audio codec (PCM or AAC) are present in the file. |
-c:v libx264
|
Encodes the output video stream using the libx264 H.264 encoder. This is required because CAVS only supports H.264 video, and the MXF source may contain MPEG-2 or MJPEG video that must be fully transcoded. |
-c:a aac
|
Transcodes the audio to AAC using FFmpeg's native AAC encoder. This step is mandatory since the MXF source typically contains PCM audio (pcm_s16le or pcm_s24le) and CAVS supports only AAC audio. |
-crf 23
|
Sets the Constant Rate Factor for libx264 to 23, the default quality level. This controls the perceptual quality-to-file-size tradeoff for the re-encoded H.264 video: lower values preserve more detail from the original MXF footage at the cost of larger output files. |
-b:a 128k
|
Sets the AAC audio bitrate to 128 kilobits per second. This is a significant reduction from the lossless PCM audio commonly found in MXF broadcast files; increasing this to 256k or 320k is advisable if the source contains high-quality dialogue or music. |
output.cavs
|
Defines the output filename and tells FFmpeg to wrap the encoded H.264 video and AAC audio in a CAVS container. The .cavs extension is the standard file extension for the Chinese Audio Video Standard format. |
Common Use Cases
- Delivering broadcast content produced in international post-production pipelines to Chinese distribution partners or broadcasters that require CAVS-compatible files.
- Adapting MXF footage captured by professional cameras (e.g., Sony XDCAM or Panasonic P2) for playback on Chinese consumer electronics or set-top boxes that support CAVS.
- Converting archived MXF broadcast masters to a smaller, lossy CAVS file for preview or proxy use in Chinese media workflows without requiring specialist MXF playback software.
- Preparing news or documentary content originally edited in an MXF-based NLE environment for submission to a Chinese streaming or broadcast platform with CAVS format requirements.
- Reducing the file size of large, uncompressed or lightly compressed PCM-audio MXF recordings by transcoding to AAC within a CAVS wrapper for more efficient storage or transfer.
- Testing how broadcast-grade MXF source material degrades through the CAVS encoding pipeline before committing to a full batch conversion for a Chinese distribution deal.
Frequently Asked Questions
No. The CAVS container format does not support MXF's professional metadata structures, including SMPTE timecodes, UMID (Unique Material Identifier) tracks, or essence descriptors. These are specific to the MXF wrapper and will be stripped during conversion. If preserving timecode is critical, you should log or export it separately before converting.
CAVS does not support multiple audio tracks, so only the first audio track from your MXF file will be included in the output. If your MXF source has separate stems — for example, a music track, a dialogue track, and an effects track — you will need to mix them down before conversion, or run separate conversions to extract individual tracks. This is a hard limitation of the CAVS container.
Yes, there will be a noticeable lossy compression step. 24-bit PCM (pcm_s24le) in MXF is lossless and has a very high dynamic range; AAC at 128k is a perceptual codec that discards audio information the encoder considers inaudible. For broadcast monitoring or archival purposes, 128k AAC may not be sufficient. You can increase the bitrate in the FFmpeg command by changing -b:a 128k to -b:a 256k or -b:a 320k to reduce audible artifacts.
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 28) reduce quality and file size. The useful range for broadcast-quality output is typically 18–23. To increase audio quality, change -b:a 128k to a higher value like -b:a 256k or -b:a 320k. For example: ffmpeg -i input.mxf -c:v libx264 -c:a aac -crf 18 -b:a 256k output.cavs.
Yes. On Linux or macOS, you can loop over files with a shell command: for f in *.mxf; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.mxf}.cavs"; done. On Windows Command Prompt, use: for %f in (*.mxf) 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 especially valuable for batch workflows.
CAVS has very limited support outside of China and Chinese-market devices. Most Western media players and editing applications do not natively handle CAVS files, even though the internal video codec is H.264. VLC has partial support, but professional NLEs like Premiere Pro or Final Cut Pro are unlikely to recognize the .cavs container. If your goal is broad compatibility rather than Chinese broadcast compliance, a standard container like MP4 or MKV with H.264 video would be a better choice.
Technical Notes
MXF is a professional essence container designed for broadcast interchange, supporting a wide range of internal codecs including MPEG-2 (common in XDCAM workflows), MJPEG (used in older Avid systems), and H.264. The CAVS container, by contrast, is a narrowly scoped Chinese national standard that only supports H.264 video and AAC audio, making full re-encoding mandatory regardless of what codec the source MXF uses. Because MXF files often carry high-bitrate MPEG-2 video or uncompressed PCM audio, the output CAVS file will typically be significantly smaller but at the cost of lossy compression. The CRF-based encoding (default CRF 23) applied by libx264 targets perceptual quality rather than a fixed bitrate, so output file sizes will vary depending on the complexity and motion of the source footage. MXF features like embedded subtitles, chapter markers, and multiple audio tracks are entirely unsupported by CAVS and will be lost. The .cavs file extension is specifically associated with the Chinese Audio Video Standard and should not be confused with other H.264-in-container formats; compatibility testing on the target playback system is strongly recommended before committing to a large batch conversion.