pnmtoy4m - Convert PNM/PAM images to YUV4MPEG2 stream
pnmtoy4m [options] [ filename ]
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).
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.
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
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: email@example.com For more info, see our website at http://mjpeg.sourceforge.net/
pam(5), pbm(5), pgm(5), pnm(5), ppm(5), y4mtopnm(1), mjpegtools(1), mpeg2enc(1), y4mscaler(1), yuv2lav(1), yuvplay(1)
Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.
Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.
Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.
Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.
The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.
Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.
Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.
Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.