Convert CAVS to TS — Free Online Tool
Convert CAVS (Chinese Audio Video Standard) files to MPEG-2 Transport Stream (.ts) format using H.264 video and AAC audio — entirely in your browser. This conversion transcodes the proprietary Chinese broadcast codec into a universally compatible TS container suited for HLS streaming, broadcast pipelines, and media server ingestion.
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 AVS1 video codec, a Chinese national standard that is not widely supported outside of Chinese broadcast infrastructure. During this conversion, FFmpeg decodes the AVS1 video stream and re-encodes it using the libx264 H.264 encoder, making the content playable on virtually any modern device, player, or streaming platform. The audio (typically PCM or AVS-compatible audio) is simultaneously transcoded to AAC at 128k bitrate. The resulting output is wrapped in an MPEG-2 Transport Stream container — a byte-stream format specifically designed for broadcast and streaming reliability, including resilience to packet loss and compatibility with HLS segmentation. Because both video and audio are fully re-encoded rather than remuxed, the conversion takes more processing time but ensures full compatibility.
What Each Flag Does
| Flag | What it does |
|---|---|
ffmpeg
|
Invokes the FFmpeg binary — the underlying engine that powers this browser-based tool via WebAssembly. The same command runs identically on desktop FFmpeg installations for processing files over 1GB. |
-i input.cavs
|
Specifies the input CAVS file. FFmpeg reads the AVS1 video stream and associated audio from this Chinese broadcast container format for decoding. |
-c:v libx264
|
Re-encodes the decoded AVS1 video into H.264 using the libx264 encoder. This is necessary because AVS1 and H.264 are entirely different codecs — the video cannot be stream-copied and must be fully transcoded to achieve broad compatibility. |
-c:a aac
|
Transcodes the audio from the CAVS source into AAC (Advanced Audio Coding), the standard audio codec for TS broadcast streams and HLS delivery, using FFmpeg's built-in AAC encoder. |
-crf 23
|
Sets the Constant Rate Factor for the H.264 encode to 23, the default balanced quality setting. Lower values (e.g., 18) produce higher quality and larger files from the CAVS source; higher values (e.g., 28) reduce file size at the cost of visual fidelity. |
-b:a 128k
|
Sets the AAC audio output bitrate to 128 kilobits per second, which is standard for broadcast-quality stereo audio and compatible with all HLS and TS-capable players. |
output.ts
|
Defines the output filename and triggers FFmpeg to wrap the re-encoded H.264 video and AAC audio into an MPEG-2 Transport Stream container, which is appropriate for broadcast playout, HLS segmentation, and IPTV delivery. |
Common Use Cases
- Archiving Chinese broadcast television recordings originally captured in CAVS format into a format compatible with international media servers like Plex or Jellyfin
- Preparing CAVS-encoded footage from Chinese digital television receivers for editing in non-linear editing software that does not support AVS1 decoding
- Ingesting Chinese broadcast content into an HLS streaming pipeline, since TS is the native segment format for HLS delivery
- Converting CAVS recordings for playback on broadcast monitoring equipment or set-top boxes that support H.264 in TS but not the AVS1 codec
- Transcoding Chinese digital TV content for upload to video platforms (YouTube, Vimeo) that require H.264 or standard codec inputs
- Packaging re-encoded broadcast content into TS for use with DVB or IPTV playout systems that expect standard MPEG transport streams
Frequently Asked Questions
Yes, this conversion involves a generation loss because the AVS1 video in the CAVS file must be fully decoded and re-encoded into H.264 — there is no way to copy the stream directly since the two codecs are incompatible. At the default CRF value of 23, the output quality is visually close to the source but not mathematically identical. For the best retention of source quality, lower the CRF value (e.g., CRF 18) at the cost of a larger output file.
MPEG-2 Transport Stream (TS) is specifically designed for broadcast and streaming use cases where MP4 is not ideal. TS supports live streaming, HLS segmentation, and is resilient to stream interruptions — making it the correct container when the re-encoded content needs to enter a broadcast chain or be served via HLS. If you only need desktop playback, MP4 would be a simpler choice, but TS is the more appropriate target for broadcast-origin CAVS content.
The CAVS format itself does not support subtitles or multiple audio tracks, so there is no subtitle or secondary audio data to carry over. However, the TS container format does support both features — meaning if you later add subtitle streams or additional audio tracks to the TS file using FFmpeg, the container can accommodate them. This conversion produces a single video and single audio track output.
Adjust the -crf value in the command to control H.264 encode quality. The scale runs from 0 (lossless, very large file) to 51 (heavily compressed, low quality), with 23 as the default. For higher quality output from your CAVS source, try -crf 18. For smaller files where some quality loss is acceptable, try -crf 28. You can also change -b:a to adjust audio bitrate, for example replacing 128k with 192k for better audio fidelity.
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}.ts"; 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.ts". The browser-based tool processes one file at a time, but the FFmpeg command is ideal for bulk processing large collections locally.
CAVS files use the AVS1 codec (GB/T 20090), a Chinese national standard developed as a domestic alternative to H.264. AVS1 decoder support is largely absent from mainstream media players, operating systems, and browser video engines outside of China. This is why converting to H.264 inside a TS container is the practical solution — H.264 has near-universal hardware and software decoder support worldwide, while AVS1 does not.
Technical Notes
The CAVS container typically carries AVS1-encoded video, and FFmpeg's decoding support for AVS1 (via its internal cavs decoder) is sufficient for standard broadcast-origin content, though some edge-case AVS1 profiles may not decode perfectly. The output H.264 stream uses libx264 in its default settings with CRF 23, which produces a variable bitrate stream — appropriate for the TS container. The TS container uses a fixed 188-byte packet structure, which adds a small amount of overhead compared to MP4, so expect the output file to be slightly larger than an equivalent MP4 at the same CRF. Chapter markers are not preserved (neither format supports chapters in this pipeline), and since CAVS does not carry subtitle data, no subtitle streams will appear in the output. The AAC audio output is compatible with all HLS players and broadcast decoders. If the source CAVS file contains Dolby or multichannel audio, note that this conversion outputs a single stereo AAC stream at 128k by default — you may want to increase the bitrate to 192k or 256k for high-quality stereo preservation.