Convert CAVS to MTS — Free Online Tool

Convert CAVS (Chinese Audio Video Standard) video files to MTS (AVCHD) format, re-encoding the CAVS video stream into H.264 using libx264 and packaging it into an MPEG-2 Transport Stream container compatible with Sony and Panasonic camcorder workflows. This is especially useful for integrating Chinese broadcast content into professional AVCHD editing pipelines.

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

CAVS files use a proprietary Chinese national codec that is not natively supported by AVCHD-based editing tools or camcorder workflows. During this conversion, FFmpeg decodes the CAVS video stream frame-by-frame and re-encodes it as H.264 using the libx264 encoder — a full transcode rather than a remux, since the source and destination codecs differ. The audio, typically encoded in a CAVS-compatible format, is simultaneously transcoded to AAC at 128k bitrate. The resulting streams are wrapped in an MPEG-2 Transport Stream (.mts) container, which is the standard container used by AVCHD camcorders and is widely supported by professional NLE software like Premiere Pro, Final Cut Pro, and DaVinci Resolve.

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 and encoding the MTS output. This conversion runs the same engine in your browser via FFmpeg.wasm.
-i input.cavs Specifies the input file in CAVS format. FFmpeg will use its built-in cavs decoder to read and decode the Chinese Audio Video Standard video bitstream from this file.
-c:v libx264 Sets the video encoder to libx264, which re-encodes the decoded CAVS frames as H.264 video — the codec required by the AVCHD/MTS container format used in Sony and Panasonic camcorder recordings.
-c:a aac Transcodes the audio stream to AAC, the default and most widely compatible audio codec for MTS/AVCHD files, replacing whatever audio format was present in the CAVS source.
-crf 23 Sets the Constant Rate Factor for libx264 to 23, the default quality level that balances H.264 output file size against visual fidelity. Lower values (e.g., 18) produce a higher-quality MTS file at the cost of a larger file size.
-b:a 128k Sets the AAC audio bitrate to 128 kilobits per second, a standard quality level appropriate for most speech and music content found in CAVS broadcast material.
output.mts Defines the output filename with the .mts extension, which causes FFmpeg to write the encoded H.264 video and AAC audio into an MPEG-2 Transport Stream container — the file format used natively by AVCHD camcorders.

Common Use Cases

  • Importing Chinese broadcast footage encoded in CAVS into an AVCHD-based NLE timeline that requires H.264-in-MTS files for native editing
  • Archiving CAVS recordings from Chinese digital television receivers into a more universally supported camcorder format for long-term storage alongside other MTS footage
  • Preparing CAVS content captured from Chinese streaming or satellite sources for playback on Sony or Panasonic AVCHD-compatible devices
  • Integrating CAVS video clips into a mixed-footage production where the rest of the project uses MTS files shot on AVCHD camcorders, ensuring codec consistency
  • Converting CAVS educational or documentary content sourced from Chinese broadcasters into MTS for use in video editing workflows that rely on AVCHD folder structures
  • Testing or validating CAVS source material in a standard broadcast container before distributing to editors unfamiliar with the CAVS format

Frequently Asked Questions

MTS (AVCHD) is specifically designed to carry H.264 (AVC) video, and the CAVS codec is an entirely different and incompatible video format. Unlike conversions where both containers share a common codec — such as MKV to MP4 with H.264 — there is no path to avoid re-encoding here. FFmpeg must fully decode the CAVS bitstream and re-encode it as H.264 using libx264 before it can be placed in the MTS container.
Yes, some generation loss is unavoidable because this conversion requires a full transcode from the CAVS codec to H.264. The default CRF value of 23 used by libx264 provides a good balance between file size and visual quality, and in many cases the H.264 output will look very close to the original. If the CAVS source is already heavily compressed, re-encoding will amplify those artifacts slightly, so using a lower CRF (e.g., 18) will better preserve detail at the cost of a larger file.
MTS does support multiple audio tracks, but the CAVS format does not, so your source file will have a single audio stream. This stream will be transcoded from its original CAVS-associated audio to AAC at 128k and placed in the MTS container as a single track. If your CAVS file has an unusual audio format that FFmpeg cannot decode cleanly, you may hear artifacts in the output — using a higher audio bitrate like 192k can help mitigate this.
No. The CAVS format does not support embedded subtitles, so there are no subtitle streams to transfer. The MTS container does support subtitles technically, but since nothing exists in the source to carry over, the output will simply have no subtitle track. If your CAVS content has burned-in (hardcoded) subtitles in the video frame, those will remain visible in the output video as part of the re-encoded picture.
The video quality is controlled by the -crf flag in the command. CRF (Constant Rate Factor) ranges from 0 (lossless) to 51 (worst quality) for libx264, with 23 as the default. To produce a higher-quality MTS output at the expense of a larger file, lower the CRF value — for example, replace '-crf 23' with '-crf 18'. To reduce file size while accepting more compression, raise it to 28 or 35. For archival-quality conversion of valuable CAVS footage, CRF 18 is a commonly recommended starting point.
Yes. On Linux or macOS you can use a shell loop: 'for f in *.cavs; do ffmpeg -i "$f" -c:v libx264 -c:a aac -crf 23 -b:a 128k "${f%.cavs}.mts"; done'. On Windows PowerShell, use: 'Get-ChildItem *.cavs | ForEach-Object { ffmpeg -i $_.FullName -c:v libx264 -c:a aac -crf 23 -b:a 128k ($_.BaseName + ".mts") }'. This is particularly useful for converting large batches of CAVS broadcast recordings that exceed the 1GB browser limit.

Technical Notes

CAVS (AVS1) is a relatively niche format outside China, and FFmpeg's decoder support for it can vary by build — most standard FFmpeg distributions include the cavs decoder, but it's worth verifying with 'ffmpeg -codecs | grep cavs' before running locally. The output MTS file follows the AVCHD specification using an MPEG-2 Transport Stream container, which means NLE software will treat it like footage from a Sony or Panasonic camcorder; however, it will lack the AVCHD folder structure (BDMV/STREAM/) that camcorders normally produce, so some camcorder-specific import tools may not auto-detect it — importing directly as a loose file works universally. MTS does not support chapter markers, and since CAVS also lacks chapter support, nothing is lost there. Metadata embedded in the CAVS container (such as timestamps or broadcaster tags) is generally not preserved during the transcode, as these fields have no standard mapping in the MPEG-TS specification. The libx264 encoder's default settings produce a High Profile H.264 stream, which is compatible with the vast majority of AVCHD-capable players and editors.

Related Tools