lavpipe(1) | MJPEG tools manual | lavpipe(1) |
lavpipe - creates raw YUV streams from pipe list scripts
lavpipe [-o num] [-n num] pipe-list
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)).
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.
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:
Now follows the source list:
Thus, an example source list could look like this:
2
lav2yuv -o $o -f $n scene1.avi
lav2yuv -o $o -f $n scene2.avi
after this you can append as many sequence descriptions as needed. Each of them is built up as follows:
And here's an example for a complete pipe list that implements a transistion from scene1.avi to scene2.avi
REMOVE THE COMMENTS AFTER The #
LAV Pipe List
PAL
2
lav2yuv -o $o -f $n scene1.avi
lav2yuv -o $o -f $n scene2.avi
50 # first sequence: 50 frames
1 # contains one input:
0 0 # scene1.avi, offset 0
- # simple output
25 # second sequence: 25 frames
2 # contains two inputs:
0 50 # scene1.avi, offset 50
1 # scene2.avi, offset 0
transist.flt -o 0 -O 255 -s $o -n $n -d 50 # transistion
50 # third sequence: 50 frames
1 # contains one input:
1 25 # scene2.avi, offset 25
- # simple output
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.
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.
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@lists.sourceforge.net
lav2yuv(1), lavplay(1), lavrec(1), mpeg2enc(1), yuv2lav(1), yuvscaler(1)
2 June 2001 | MJPEG Tools Team |