The canvas module allows to merge several streams into one. It works like a canvas, onto which rectangular sections of different streams are drawn. The result obtained on the canvas is then sent to a single output stream.
The configuration of the canvas module with name NAME
is located in the canvases/NAME subdirectory.
The file format describes the format of the canvas,
i.e. its dimensions, the number of channels and the color depth on
each channel.
The file must contain a string
<width>x<height>-<channels>/<colors>,
e.g. 18x8-1/256 for 18 pixels width, 8 pixels height
in 256 grayscales.
The inputs to be drawn onto the canvas are configured in the
inputs subdirectory.
Each input is configured in an own subdirectory in inputs.
E.g. the configurations for inputs with names top
and bottom reside in subdirectories inputs/top
and inputs/bottom respectively.
All inputs are drawn to the canvas in alphanumerical order, i.e.
top is painted over bottom on overlapping
pixels.
The configuration inside an input subdirectory consists of the following settings:
The file instream contains the name of the stream to
read for this input.
The file srcpos defines the top-left corner of the
recangular section to be taken from the stream.
The file must contain a string <x>,<y>.
The file size defines the size of the
recangular section to be taken from the stream.
The file must contain a string <width>x<height>.
The file destpos defines the top-left corner of the
rectangular section on the canvas to draw to.
The file must contain a string <x>,<y>.
The file outstream contains the name of the stream to
send the frames to.