How to reduce bandwidth with videomixer

compositor is based on the GstVideoAggregator base class

The implementation logic can be found in the implementation :slightly_smiling_face:

The way it works is that the compositor decides an output resolution + format + framerate (resolution is based on the largest input stream I think, but you can probably also force a different one with a capsfilter).

Then the compositor will generate an output frame for a given timestamp (in running time) according to the output framerate.

It will look at the inputs buffers on the input pads and figure out the running time for each of them and which buffer overlaps with the desired output buffer timestamp. If an input buffer is too old it will be dropped off and the next input buffer will be looked at.

You can position/scale the input videos with the properties on the input pads if you like. See gst-inspect-1.0 compositor