Initializing... drag & drop files here
Supports: CAVS
A .cavs file is a raw Chinese AVS (AVS1) video bitstream with no container wrapped around it, which is why image editors, browsers, and most media players refuse to open it at all. This converter decodes that stream and writes a frame out as an ordinary JPG — one exact moment you pick by timestamp, or a run of stills sampled across the clip.
.cavs onto the page, or click "Add Files" to browse for it. Several streams can be queued and run with the same settings.12.5 to capture twelve and a half seconds in. Switch to Multiple Screenshots and set a Capture Rate (one frame per second by default) to pull a series of stills instead.Each preset maps to a fixed JPEG quality value, so you can pick a number rather than guess at a label:
| Quality Preset | JPEG quality | Practical use |
|---|---|---|
| Highest | 100 | Maximum fidelity; large file, diminishing visible return |
| Very High (default) | 95 | Reference stills, print, anything you may re-edit |
| High | 90 | Full-size stills for the web with no visible artifacts |
| Medium | 80 | Blog and social images where size matters |
| Low | 70 | Thumbnails and previews |
| Very Low / Lowest | 60 / 50 | Contact sheets and rough proofs only |
The frame itself is decoded to a lossless PNG intermediate before it is encoded to JPG, so the preset governs the only lossy step in the chain. Everything before it is an exact copy of the decoded video frame. The size difference between presets is far from linear — in our testing, one 720×576 frame came out at 136 KB at Highest, 70 KB at the Very High default, and 27 KB at Medium, which is why dropping a single step is usually the best size win available.
| Format | Lossy? | Alpha | Best for | Page |
|---|---|---|---|---|
| JPG | Yes | No | Sharing, posting, previews, anything photographic | this page |
| PNG | No | Yes | Pixel-exact reference stills, text and line art in frame | CAVS to PNG |
| WebP | Either | Yes | Smallest modern web file at matched quality | CAVS to WebP |
| TIFF | Either | Yes | Archival and print workflows, layered editing | CAVS to TIFF |
A decoded AVS video frame is fully opaque, so the alpha column only matters if you later add transparency yourself in an editor.
CAVS is the video half of China's Audio Video Coding Standard. The first-generation video part was promulgated as national standard GB/T 20090.2-2006 in February 2006 by the AVS Workgroup, which was founded in June 2002, and the same video specification was later issued by the IEEE as IEEE 1857-2013. A .cavs file is that coded video as a bare elementary stream — no container, no index, no metadata header — so general-purpose viewers have nothing to latch onto. Tools built on FFmpeg read it through a dedicated raw AVS demuxer, which is how this page decodes it.
The first frame of the stream. Specific Frame is the preselected mode and the Time (seconds) box starts empty, so a straight upload-and-convert gives you frame zero. Type a value into that box to seek elsewhere; it accepts decimals, so 2.100 targets 2 seconds and 100 milliseconds in.
The same as the video, because the frame is read straight out of the decoded stream rather than off a screen. A 720×576 standard-definition broadcast clip yields a 720×576 JPG, and a 1080p source yields 1920×1080. Use Image resolution if you want something smaller — scaling down is exact, scaling up only interpolates and adds no real detail.
Yes, for two structural reasons rather than a subjective one. A screenshot captures whatever your player scaled the picture to on your monitor, plus any player chrome, cursor, or overlay that happened to be on top; a frame extraction reads the coded frame itself at native resolution with nothing composited over it. Very few players decode raw AVS at all, which usually makes the screenshot route a non-starter here anyway.
Yes — switch Frame Selection to Multiple Screenshots and pick a Capture Rate. The rate list runs from one frame every 0.1 seconds up to one frame every 10 seconds, with one frame per second preselected. Each capture is written out as its own JPG, so you get a set of independent stills rather than one combined sheet or an animation.
Because the softness is already in the source. AVS1 is a first-generation broadcast codec with efficiency broadly comparable to the H.264 of its era, and it applies an in-loop deblocking filter that smooths compression artifacts at low bitrates. A frame lifted from a heavily compressed broadcast capture will look soft no matter which JPEG quality you choose — the preset controls how faithfully the JPG reproduces the decoded frame, not how much detail that frame contains.
JPG if the still is going to be looked at, shared, or attached — it is the format every piece of software on earth reads. PNG if you need the frame to survive re-editing without accumulating compression damage, or if there is text or line art in shot. WebP if it is going on a web page and you want the smallest file: Google measures lossy WebP at 25-34% smaller than comparable JPEG at equivalent SSIM quality.
The .cavs extension refers to first-generation AVS1 video; AVS2 is a separate later generation, published by the IEEE as 1857.4-2018. Conversion runs one way only — this site reads AVS1 and writes standard formats, but does not produce .cavs files, because the widely deployed open-source toolchain includes an AVS1 decoder without a matching encoder.
Your .cavs is uploaded over an encrypted connection, processed on our servers, and deleted automatically a few hours after the conversion finishes — never shared, never made public, no sign-up and no watermark. The JPG you download is an ordinary image file that opens in any browser, viewer, or editor.