CAVS to PPM Converter

Convert CAVS files to PPM format online. Free, fast, no watermarks.

Initializing... drag & drop files here

Supports: CAVS

OptionsAdvanced Options - Our defaults are optimized for the best results. We recommend you keeping the defaults unless you have a specific need.
Image resolution
Bit Depth
Frame Selection
Time (seconds)
Capture a single frame at the specified time. For example, 2.100 means 2 seconds and 100 milliseconds into the video.

CAVS to PPM Converter

CAVS is a raw Chinese AVS video stream; PPM is a Netpbm portable pixmap, which is about as close to "a list of pixel values with a four-word header" as an image format gets. So this conversion is a frame grab that lands in a format with no compression whatsoever — useful when you need pixels that no decoder has second-guessed, and startling if you were expecting something JPEG-sized. This page covers what CAVS is, what the PPM will weigh, and the one control on the page that does not do what its label suggests.

CAVS at a Glance

Property Value
Full name Audio Video coding Standard, part 2 — AVS1-P2
Profile in a .cavs file Jizhun (Base / Main) profile
Standard Chinese national standard GB/T 20090.2-2006
Approved 2006
Designed for SD and HD digital television broadcasting in China
Design goal Coding efficiency near H.264/AVC at lower decoder complexity
Bitstream shape Start-code-delimited: sequence, picture, slice, macroblock, block layers
Container Usually none — .cavs is a raw elementary video stream
Audio None. An AVS1-P2 elementary stream carries picture only

The container point matters for expectations. Like other raw elementary streams, a .cavs file has no header describing its own duration, so a player has to scan it. And because it is video-only, nothing about this conversion involves sound.

How to Convert CAVS to PPM

  1. Upload Your CAVS File: Drag the .cavs stream onto the page or click "+ Add Files". Several can be queued and each is processed with the same settings. Files are uploaded over an encrypted connection, processed on our servers, and deleted automatically after a few hours — no sign-up, no watermark, never shared or made public.
  2. Choose the Frame Selection: The page opens on "Specific Frame" with Time (seconds) set to 0, which grabs the opening picture. The field takes decimals, so 12.5 lands twelve and a half seconds in. Switching to "Multiple Screenshots" samples the whole stream at a Capture Rate you choose, from one frame every 0.1 s up to one every 10 s.
  3. Set the Bit Depth: Three choices — 8-bit (Recommended), 16-bit (High Precision) and 1-bit (Black & White). Read the next section before picking anything other than 8-bit; the 1-bit option is not a size control.
  4. Set the Image Resolution and Convert: "Keep original" is preselected. Resolution Percentage, height presets from 4320p down to 16P, and explicit Width, Height or Width × Height inputs are all available — and because PPM is uncompressed, this is the only control that meaningfully changes the file size. Click Convert to download.

What a PPM Weighs

The tool writes binary PPM (magic number P6), which spends one byte per colour sample at 8-bit and two bytes per sample at 16-bit, plus a short ASCII header. There is no quality slider on this page because there is nothing to trade off — the numbers below are arithmetic, not estimates:

Frame size 8-bit PPM 16-bit PPM Pixel-data arithmetic
720 × 576 (PAL SD) 1,244,175 bytes 2,488,337 bytes 720 × 576 × 3 = 1,244,160
1280 × 720 2,764,816 bytes 5,529,618 bytes 1280 × 720 × 3 = 2,764,800
1920 × 1080 6,220,817 bytes 12,441,619 bytes 1920 × 1080 × 3 = 6,220,800

Everything above the arithmetic is the fifteen-or-so bytes of P6 <width> <height> <maxval> header. Nothing else is stored: no colour profile, no EXIF, no timestamp. That predictability is the point of the format, and it is why PPM is a staple of image-processing pipelines and academic code that would rather parse ten lines than link a decoder.

The 1-Bit Option Is a Colour Control, Not a Size Control

This is the trap worth spelling out. Selecting 1-bit (Black & White) does not pack eight pixels into a byte — binary PPM has no sub-byte packing, so the file still spends one byte per sample. What changes is the header's maximum value, which drops from 255 to 1, meaning each channel can only be 0 or 1.

Measured on the same 720 × 576 frame: 8-bit produced 1,244,175 bytes with 21,943 distinct colours; 1-bit produced 1,244,173 bytes — two bytes smaller — with exactly 8 distinct colours. You lose essentially all of the colour information and save nothing. If you want a smaller file, lower the resolution or convert to a compressed format such as CAVS to PNG instead.

Frequently Asked Questions

Can this tool create a CAVS file as well as read one?

No — the conversion only runs in the direction shown. AVS1-P2 has a decoder in the open-source tooling this pipeline is built on but no encoder, so CAVS is an input format here and never an output. If you need to move a .cavs recording into something you can edit or share, CAVS to MP4 re-encodes it into H.264 in a container that everything opens.

My file is called .cavs but the conversion fails — why?

The most likely reason is that it is not AVS1-P2. The AVS family continued after the Jizhun profile with AVS2 (IEEE 1857.4) and AVS3 (IEEE 1857.10), and those are different bitstreams that happen to share the family name. Only AVS1-P2 decodes here — an AVS2 elementary stream renamed to .cavs is correctly identified as AVS2 and then rejected as an unsupported codec. If you know your recording came from AVS2 or AVS3 equipment, it needs a decoder built for that generation.

How is the frame chosen, and how accurate is the timestamp?

The pipeline seeks to the time you enter and extracts one frame as a lossless PNG, then writes that PNG out as a PPM. Because CAVS is inter-frame coded, the decoder has to start from a preceding key picture and roll forward, so the frame you get is the one at or immediately after your timestamp rather than a guaranteed exact match. For a specific moment, nudge the value by a tenth of a second and compare.

What do I get if I pick "Multiple Screenshots"?

One PPM per sampled frame, all at the same dimensions and bit depth. Be careful with the Capture Rate on a long recording, because there is no cap on the count and PPMs are large: a ten-minute stream sampled once per second is 600 files, and at 1920 × 1080 that is roughly 3.7 GB of uncompressed output. Start with a slow rate such as one frame every 5 or 10 seconds and tighten it once you can see what you are getting.

Why is the PPM so much bigger than the video it came from?

Because the video is compressed and the PPM is not. A single 1080p frame occupies 6.2 MB as a PPM, while a whole second of AVS1-P2 broadcast video at a typical bitrate is a fraction of that — inter-frame coding stores mostly the differences between pictures, and intra-frame coding throws away detail the eye does not track. Expanding one picture back to raw samples undoes all of that at once.

Does 16-bit give me more detail than the source had?

No. The CAVS decoder produces 8 bits per channel, so choosing 16-bit simply widens each sample to two bytes and doubles the file with no new information — 12.4 MB instead of 6.2 MB for a 1080p frame. It is worth choosing only when a downstream tool insists on 16-bit input, or when the PPM is an intermediate for further processing that would otherwise quantise twice.

Is a PPM the same thing as a PGM or a PBM?

They are three members of the same Netpbm family, distinguished by what each pixel holds. PPM (P6) is colour, three samples per pixel. PGM (P5) is greyscale, one sample per pixel, so it is a third the size. PBM (P4) is genuinely bi-level and is bit-packed, which is where the "1-bit saves space" intuition comes from — but this page writes PPM, so choosing 1-bit here gives you eight colours at full size rather than a packed bitmap.

What opens a .ppm file on a normal computer?

Image editors that came from the Unix side of the world: GIMP, Krita, IrfanView, XnView and ImageMagick all read it directly, as do Python's Pillow and most scientific imaging libraries. What generally will not is a web browser, the Windows Photos app or a phone gallery — PPM has no registered IANA media type and no browser has ever decoded it. If you need something that just opens, PNG is the equivalent lossless target.

Is any metadata carried over from the CAVS stream?

None. The PPM header holds the magic number, the width, the height and the maximum sample value, and the format has no provision for anything else — no timestamps, no colour profile, no source information. The conversion also strips metadata explicitly on the way out, so nothing sneaks through in a comment block. Record the source timecode yourself if you will need it later.

Will interlacing from a broadcast stream show up in the still?

It can, and nothing here removes it. AVS1-P2 was designed for digital television, where interlaced SD and HD modes are common, and there is no deinterlacing step in this pipeline — so a frame grabbed from interlaced material shows the classic comb pattern on anything that moved between the two fields. Grabbing a moment with little motion avoids it; otherwise deinterlace the video first and convert from the progressive result.

Rate CAVS to PPM Converter Tool

Rating: 4.8 / 5 - 105 reviews