Auxiliary Video Streams

There are situations, when you want to create a video stream which is artificial and does not match to any source video streams.

Examples of such streams are:

  • Grid streams (e.g. 2x2 grid of videos);

  • Video streams with augmentations (e.g. video with a sidebar or dashboard);

  • Videos of other resolutions, e.g. you transcode incoming 4k to 1080p, 720p, 480p, etc.

  • Super-resolution streams, e.g. you upscale incoming 720p to 1080p.

  • Frame interpolation streams, e.g. you create a 60fps video from 30fps video.

Savant 0.4.1 introduces the concept of auxiliary streams. An auxiliary stream is a stream that is not directly associated with any source stream. It is created by the user in PyFunc and is sent directly to pipeline sink , bypassing downstream pipeline elements.

The sample showing how to work with auxiliary streams is available in the examples/auxiliary_streams directory. The sample shows how to convert a video stream to multiple resolutions and send them to the pipeline sink.

Note

Auxiliary streams deliver metadata provided by the user.