Man page - y4mtopnm(1)
Packages contains this manual
- yuvkineco(1)
- yuv4mpeg(5)
- mp2enc(1)
- yuvmedianfilter(1)
- lavplay(1)
- lav2mpeg(1)
- y4mdenoise(1)
- y4mcolorbars(1)
- mplex(1)
- yuv2lav(1)
- mjpegtools(1)
- lavpipe(1)
- yuvdenoise(1)
- y4mscaler(1)
- lav2yuv(1)
- yuvfps(1)
- pnmtoy4m(1)
- ppmtoy4m(1)
- y4mtopnm(1)
- lavrec(1)
- jpeg2yuv(1)
- yuvscaler(1)
- yuvycsnoise(1)
- lavtrans(1)
- pgmtoy4m(1)
- y4mtoppm(1)
- y4munsharp(1)
- yuvinactive(1)
- png2yuv(1)
- lav2wav(1)
- mpeg2enc(1)
- yuvplay(1)
apt-get install mjpegtools
Manual
y4mtopnm
NAMESYNOPSIS
DESCRIPTION
OPTIONS
EXAMPLES
AUTHOR
SEE ALSO
NAME
y4mtopnm - Convert a YUV4MPEG2 stream to PNM images
SYNOPSIS
y4mtopnm [ options ]
DESCRIPTION
y4mtopnm converts a YUV4MPEG2 stream into a sequence of raw PPM, PGM, or PAM images. (Technically, "pnm" comprises the PPM, PGM and PBM formats. PAM is a fourth format, which can effectively contain any of the other three, and more.)
Output is to stdout (but feel free to have the shell redirect to a file).
Input is read from stdin, like all other YUV4MPEG2 filters and tools. YUV4MPEG2 streams contain frames using the Y’CbCr colorspace (ITU-R BT.601). For 4:4:4 (color) streams, y4mtopnm will convert each pixel to the usual R’G’B’ colorspace used for computer graphics, and produce PPM images. "MONO" (luma-only) streams will be converted to full-range [0,255] grayscale and output as PGM images.
YUV4MPEG2 streams may (often!) have subsampled chroma planes, but y4mtopnm will not process them (except in the special ’flatten’ mode; see below). Subsampled streams will need to be converted to 4:4:4 using a tool such as y4mscaler .
If y4mtopnm is given a "444ALPHA" stream (4:4:4 video with an 8-bit alpha channel), the results depend on whether or not the "-P" option is specified. With "-P", it will produce PAM images with a TUPLTYPE of RGB_ALPHA, containing both color and alpha channel data. Without "-P", it will produce pairs of PPM and PGM images: a PPM for the color pixels followed by a PGM for the alpha channel data. (Such a sequence of interspersed PPM and PGM images cannot be later re-processed by pnmtoy4m . This feature is mostly for quick and easy stream debugging.)
If multiple output images are generated, they are simply output one after another. If you want to turn such a "multi-image" stream/file into individual files, use pnmsplit . (Some PNM filters can process multi-image files/streams; however, many written before June 2000 will only process the first image.)
y4mtopnm and pnmtoy4m are inverses of each other; you can typically pipe the output of one into the other, and vice-versa (except for the "444ALPHA" case noted above and the "mixed-mode" case noted below). Note that the colorspace operations can be lossy in both directions (due to range-compression and/or quantization). And, when converting to PNM, information on interlacing and sample aspect ratio of a stream is lost (but can be reconstructed by supplying command-line arguments to pnmtoy4m ).
OPTIONS
y4mtopnm accepts the following options:
|
-P |
Produce PAM format output, instead of PPM and/or PGM. PAM can encode a superset of PNM, but is not yet understood by as many graphics programs. (Indeed, surprisingly few of the NetPBM tools seem to understand it.) |
||
|
-D |
Produce a separate output image for each field of each frame. (Otherwise, a single image per frame, containing two interleaved fields, is created.) |
If the input stream is interlaced, the field-images are output in temporal order, i.e. the first image of a bottom-field-first stream will be the bottom-field. If the stream is progressive or has "mixed-mode" interlacing, then the temporal order is ambiguous, and the top-field will always be output first.
Note that it will not be possible to later use pnmtoy4m to reconstruct a "mixed-mode" stream from a sequence of PNM/PAM images.
|
-f |
Produce a special ’flattened’ output, most useful for analyzing and debugging streams. All the planes of a frame/field are tiled together into an enlarged PGM (or grayscale PAM) output image as follows: |
+-----+ +-----+
4:4:4 | Y | 4:4:4 w/alpha | Y |
+-----+ +-----+
| Cb | | Cb |
+-----+ +-----+
| Cr | | Cr |
+-----+ +-----+
| A |
+-----+ +-----+
4:2:2, | Y |
4:2:0 +--+--+ +-----+--+--+
|Cb|Cr| 4:1:1 | Y |Cb|Cr|
+--+--+ +-----+--+--+
+-----+
MONO | Y |
+-----+
In this mode, any YUV4MPEG2 chroma format is accepted, but
no upsampling or colorspace conversion is performed. This is
essentially just a reformatting/permutation of the original
data from the input stream into a PGM image container. All
the other command-line flags continue to have the same
effect on output.
-v [0,1,2]
Set verbosity level.
0 = warnings and errors only.
1 = add informative messages, too.
2 = add chatty debugging message, too.
EXAMPLES
To turn the first 15 frames of an (MJPEG or DV) AVI file into individual PPM files:
lav2yuv -f 15 your-video.avi | y4mscaler -O chromass=444 | y4mtopnm | pnmsplit - "your-video-%d.ppm"
AUTHOR
This manual page
was written by Matt Marjanovic.
If you have questions, remarks, problems or you just want to
contact the developers, the main mailing list for the
MJPEG-tools is:
mjpeg-users@lists.sourceforge.net
For more info, see our website at
http://mjpeg.sourceforge.net/
SEE ALSO
pam (5), pgm (5), pnm (5), ppm (5), pnmtoy4m (1), mjpegtools (1), mpeg2enc (1), lav2yuv (1), pnmsplit (1), y4mscaler (1)