pnmtoy4m - Online in the Cloud

This is the command pnmtoy4m that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

PROGRAM:

NAME


pnmtoy4m - Convert PNM/PAM images to YUV4MPEG2 stream

SYNOPSIS


pnmtoy4m [options] [ filename ]

DESCRIPTION


pnmtoy4m converts one or more raw PPM, PGM, PBM, or PAM images into a YUV4MPEG2 stream
ready for further processing by other video tools. These three (or four) image formats
are collectively referred to as "PNM images".

Output is to stdout to facilitate piping to other MJPEG tools. The size of the output
frame(s) is determined from the (first) input image.

Input is a 'raw' format PNM image, read from stdin or from the optional filename. The
input may contain multiple PNM images concatenated together; pnmtoy4m will read and
process them sequentially. All images must have identical size and format. Input images
can be interpreted as whole progressive frames, pairs of interleaved fields, or as
sequential fields (read in pairs of images) to be output as either interlaced or
progressive frames. PPM and PGM images must have 8 bits per channel (i.e. 'maxval' must
be 255).

PPM input images should be in the usual R'G'B' colorspace. They are converted to the
Y'CbCr colorspace (ITU-R BT.601) before being output to a "4:4:4" (non-subsampled)
YUV4MPEG2 stream. If chroma subsampling is required (e.g. to 4:2:0 for MPEG), the output
should be further piped through a program such as y4mscaler.

PGM images should be in the standard full-range ([0,255]) grayscale colorspace. PGM and
PBM images will be converted to BT.601 luma and output as "MONO" (luma-only) YUV4MPEG2
streams.

The PAM format is a newer superset of the PNM formats; the precise contents of a PAM image
is defined by the TUPLTYPE header tag. pnmtoy4m handles TUPLTYPE "GRAYSCALE" as PGM,
"RGB" as PPM, and "RGB_ALPHA" as PPM with an 8-bit alpha channel. (The alpha channel is
converted to BT.601 luma as is appropriate for YUV4MPEG2 streams.)

pnmtoy4m and y4mtopnm are inverses of each other; you can pipe the output of one into the
other, and vice-versa. Note that the colorspace operations are lossy in both directions.
And, when converting to PNM, information on interlacing and sample aspect ratio is lost
(but can be reconstructed by supplying command-line arguments to pnmtoy4m).

OPTIONS


pnmtoy4m accepts the following options:

-o num
Frame offset: skip output of the first 'num' frames. (default: 0)

-n num
Output a total of 'num' output frames. Use '0' to specify all frames. (default: 0)

-B Interpret data as being BGR rather than RGB.

-r Repeat last input frame until output is complete. If '-n 0' is also specified, last
input frame will be repeated forever.

-D x Treat each PNM image as a single (de-interleaved) field instead of a full frame. The
argument specifies the interpretation:
t - the first image is a top-field
b - the first image is a bottom-field

With this option, two input images will be required per output frame. Be careful:
mismatched "-I" and "-D" options can invert the temporal or spatial order of the
fields (or both).

-F n:d
Set framerate encoded in output stream, as an exact integer ratio. (default:
30000:1001) Common rates are:
24000:1001 - NTSC 3:2 pulldown converted film
24:1 - native film
25:1 - PAL/SECAM
30000:1001 - NTSC video
50:1 - PAL field rate
60000:1001 - NTSC field rate

-A n:d
Set pixel aspect ratio encoded in output stream, as an exact integer ratio.
(default: 1:1) Common ratios are:
1:1 - square pixels (computer graphics)
10:11 - CCIR-601 NTSC
59:54 - CCIR-601 PAL

-I x Set the output interlacing mode, encoded in the output stream. (Default is to match
"-D" if given, or 'p' if not.)
p - progressive, non-interlaced
t - top/upper-field-first interlaced
b - bottom/lower-field-first interlaced

-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 convert a file containing a single PPM file into a stream of 15 (identical) frames:

pnmtoy4m -n 15 -r some-image.ppm

To convert a series of Targa format images (in the current directory) to a YUV4MPEG2
stream displayed by yuvplay:

ls *.tga | xargs -n1 tgatoppm | pnmtoy4m | yuvplay

Use pnmtoy4m online using onworks.net services



Latest Linux & Windows online programs