Initializing... drag & drop files here
Supports: CAVS
A .cavs file is a raw AVS video bitstream — China's AVS1-P2 codec, Jizhun profile, standardised as GB/T 20090.2 and in force since March 2006. Raw means exactly that: coded pictures with no container wrapped around them, which is why so little software will open one. Converting it to .ts puts the picture inside an MPEG-2 transport stream and re-encodes it to H.264, which turns an awkward engineering artefact into a file that VLC, ffmpeg-based tools, broadcast equipment and most editors will read.
This is a full decode and re-encode. AVS and H.264 are different codecs with no shared bitstream, so there is no rewrap shortcut and one generation of compression loss is unavoidable.
.cavs file onto the page or click "Add Files". Several files can be queued and convert with identical settings. Uploads travel over an encrypted connection and are processed on our servers..ts. No sign-up, no watermark; uploads and outputs are deleted automatically after a few hours.There is an Audio Codec control on this page, opening on AAC with AC3, DTS (DCA), EAC3, MP2 and MP3 beside it. On a genuine .cavs file it changes nothing, because a raw video elementary stream has no audio track to convert. The encoder simply has no audio input to map, the setting is ignored, and the transport stream comes out with a video stream and nothing else.
We confirmed the behaviour by running a video-only source through the same H.264-into-transport-stream path this page uses, with AAC requested: the output probed as a valid mpegts file with one h264 stream at the source frame size, full duration intact, and no audio stream at all. Nothing errors and nothing is lost — there was never any sound in the file.
If the AVS video was carved out of a broadcast capture, the audio is still in the transport stream it came from. Converting that original file keeps picture and sound together; converting the extracted .cavs cannot.
Both come from the same root cause: an elementary stream carries no timing information, so the demuxer has to invent some.
| Quirk | What happens | What to do about it |
|---|---|---|
| Frame rate is assumed, not read | The raw AVS demuxer defaults to 25 fps. If the material was shot or broadcast at 29.97, 30, 50 or 60 fps, the output plays at the wrong speed and the duration is wrong to match. This page has no frame-rate control to correct it. | If timing matters, convert the original container the stream was extracted from rather than the .cavs |
| Seeking into the stream does not work | There is no index to seek with. Setting a non-zero Start time under Trim makes the encoder find nothing at all, and the job produces an empty result rather than a short clip. | Leave Start time at 0 and use Duration alone to take the opening section, or convert the whole file first and trim the .ts afterwards with the Video Cutter |
The second quirk is easy to mistake for a broken upload, so it is worth repeating: on a raw stream, a trim that starts at zero works and a trim that starts anywhere else does not. Once the file is a proper transport stream, seeking behaves normally.
| Video Codec | Sensible when | Notes |
|---|---|---|
| H.264 (default) | Almost always — playback, editing, streaming, archiving | Efficient, universally decoded, and the compression controls all behave as labelled |
| H.265 | Storage matters more than compatibility | Smaller at equal quality, but older hardware decoders in transport-stream workflows often refuse it |
| MPEG-2 | Legacy broadcast equipment or DVD-adjacent tooling asked for it | No constant-quality mode — the quality preset falls back to scaling the source bitrate, and Constant Quality is discarded |
| MPEG-4, DivX, Xvid | A specific old device names one of them | All three are MPEG-4 Part 2 variants; the compression slider becomes a 1–31 quantiser scale where lower is better |
| MPEG-1 | Rarely | Standard-definition ceiling in practice; there is little reason to prefer it over MPEG-2 |
With H.264 selected, Quality Preset resolves to a genuine constant-quality target and Constant Quality exposes a 16–51 CRF slider that opens at 23 — lower numbers mean better quality and larger files. Those controls only behave that way on the CRF-capable codecs; the table above flags where they do not.
Because there was none in the .cavs file. A raw AVS elementary stream stores coded video and nothing else — no audio, no subtitles, no metadata track. The Audio Codec control on this page applies to sources that do have sound, and simply has nothing to act on here. If you need the audio, go back to whatever container the AVS video was extracted from; the sound will still be in there next to it, usually as MP2 or AAC.
All three are MPEG-2 transport streams, but the framing differs and the extension decides which you get. A .ts file uses plain 188-byte transport packets, starting with the sync byte 0x47 at the very beginning of the file — we verified that on output from this pipeline. A .m2ts file gets 192-byte BDAV packets instead, each prefixed with a four-byte arrival timestamp, which is what Blu-ray and AVCHD structures expect. .mts is the on-card name camcorders use, and is plain 188-byte framing like .ts. For general tooling, .ts is the neutral choice.
For most purposes, yes. A transport stream is designed for broadcast and streaming, where a decoder may join partway through; MP4 is designed for files, and is better supported by phones, browsers and consumer editors. Choose .ts when something in a broadcast or streaming chain expects it, or when you want a format that concatenates cleanly. Otherwise CAVS to MP4 is the easier file to live with, and CAVS to MKV is the better archival container.
Slightly, and unavoidably. AVS video has already been compressed once; decoding it and re-encoding to H.264 adds a second lossy pass. The default Very High preset is deliberately conservative about this — it targets a tight CRF, which is also why the output is often larger than the input. If you want to minimise visible change, keep the preset at Very High or Highest and leave the resolution on Keep original; if size matters more, step down to Medium.
No. .cavs is AVS1-P2 specifically. AVS2 (also standardised as IEEE 1857.4) and AVS3 (IEEE 1857.10) are later, separate codecs with their own bitstream syntax, and they do not use this extension. A file named .cavs that is really AVS2 will not decode as AVS1 and the job will fail rather than produce a garbled picture.
Because the duration is derived from the assumed 25 fps frame rate, not from anything stored in the file. A 3,000-frame stream is reported as 120 seconds whether it was captured at 25 or at 30 fps. The frame count is right; the time base is a guess. That is a property of raw elementary streams generally, not of AVS in particular — the same applies to raw .h264 and .hevc files.
Not from this page — each upload converts to its own output file. Transport streams do concatenate unusually well once created, because they carry no global header the way MP4 does, so joining the converted .ts files afterwards is a much easier job than joining the raw bitstreams would have been.
The .cavs file is uploaded over an encrypted connection, converted on our servers, and both the upload and the finished .ts are deleted automatically after a few hours. No account, no watermark, and files are never shared or made public. The practical limit is upload size and time rather than anything about the format — raw video streams are large for their duration, since they have no container overhead but also no efficiency advantage.