lavpipe

Synopsis

add an example, a script, a trick and tips

: email address (won't be displayed) : name

Step 2

What command(s) is this example for ?

Thanks for this example ! - It will be moderated and published shortly.

Feel free to post other examplesOops ! There is a tiny cockup. A damn 404 cockup. Please contact the loosy team who maintains and develops this wonderful site by clicking in the mighty feedback button on the side of the page. Say what happened. Thanks!

examples

0

lavpipe -o 100 -n 25 film.pli

would calculate and output to stdout frames 100 to 124 as defined
in film.pli (in PAL this would be the 5th second of the film).

lavpipe input.pli | yuv2lav -q80 output.avi

would save the movie assembled by lavpipe as a single AVI file.

description

lavpipe reads a
script file called ’pipe list’ that is of a
similar structure as the edit lists that can be fed into
lav2yuv. For info about the pipe list format see below.

The pipe list
defines several video sources and filters that are combined
by lavpipe to produce a single output YUV stream on stdout
(which for example can be compressed and stored to disk via
mpeg2enc(1) or yuv2lav(1)).

options

The command
line options are used to output a specific part of the
resulting video stream. That means you can tell lavpipe how
many frames to skip and how many frames to deliver from that
point on.

-onum

This is the frame offset of the output video. The first
num frames of the resulting video simply are neither
calculated nor written to stdout. This value defaults to
0.

-nnum

This is the frame count. If the input files or streams
defined in the pipe list script are long enough, the output
will be of exactly num frames length. A value of 0
means that all frames until the last one as defined in the
pipe list will be written out, as long as there’s some
input (0 is the default).

pipe-list

This is name of the pipe list
file that lavpipe will ’execute’. For
information about this file’s format see below.

-?

Display a synopsis of the command syntax.

notes

There are also some serious limitations in the system, such as
frame-by-frame processing. But as the goal when writing lavpipe
was the simplicity of the pipeline, other tools will have to be
written to do more interesting tasks.
But I want to note that it is very well possible to write a pipe
list that combines several files, and then use that pipe list as
an input for another pipe list by simply using the lavpipe
command in the source list (see above) - this can be already used
to do some nice things, if you have some nice filters.

Comments are NOT allowed in pipelist files. The comments (text
after #) above are for illustration only.

usage

In this section the format of lavpipe’s input files the
pipe list scripts is explained. If you need some examples or a
more detailed tutorial, please read the mjpegtools(1)
manpage’s section about CREATING MOVIE TRANSITIONS.
and the file README.lavpipe that should be included in the
distribution. Also feel free to contact us via the mailing list
(see below).

A pipe list contains of two parts: the YUV source list and
after this, as many sequence descriptions as wanted. It
always begins with the following two lines:
LAV Pipe List

This is the first line in every pipe list script. It is used as a
simple test if lavpipe really was given a pipe list script and
not your PhD thesis as input.

NTSC|PAL

This is the second line in every pipe list and can be either PAL
or NTSC, depending on what video standard you use. I don’t
remember if this is used at the moment.

Now follows the source list:

num

This is the number of input commands. lavpipe will read the next
num lines and interpret them as input stream commands.

command (num times)

This is a valid command line with two variables $o and $n that
will be replaced by lavpipe with the offset and number of frames
that the program has to output. Example:
lav2yuv -o $o -f $n input.avi

after this you can append as many sequence descriptions as
needed. Each of them is built up as follows:

num

The number of frames that this sequence will last.

num

The number of inputs that will be used in this sequence. This
number must of course be less than or equal to the number of
inputs that are defined above.

idx [ofs] (num times)

These are the indices to the sources that are defined at the
beginning of the file (first source is 0) with an optional frame
offset (i.e. sequence starts with frame number ofs of this
input.) - this value defaults to 0. Example:
0 150

command

This is a valid command line to a YUV filter tool that reads
num input streams and writes one output stream, combining
its inputs. Optionally, the filter tool can be given the two $o
and $n variables that will be replaced by lavpipe as in the
source commands (see above). For further info read
README.lavpipe or the documentation for the filter
programs (if available). An example filter could look like this:
transist.flt -o 0 -O 255 -s $o -n $n -d 50
And if the sequence only has one input that simply should be
copied to the output, you can use a dash instead of a command
line:
-

And here’s an example for a complete pipe list that
implements a transistion from scene1.avi to scene2.avi

I’m sure
there are enough of them. lavpipe often accepts malformed
pipe lists and then writes out a video that was all but
intended - without warning.

The mention
of $n above is wrong. At one time there were two parameters
but now a program is allowed to produce as many frames as it
wants. THe author of the program hard coded, for reasons
unknown, $n to be 0.

This man page
was written by Philipp Zabel.
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[:at:]lists.sourceforge[:dot:]net
For more info, see our website at

http://mjpeg.sourceforge.net

How can this site be more helpful to YOU ?

Can't remember a command ?
Are you searching how to use a command ?
This site is made for you !