Alpha Compositing one webm file directly over another webm file using GStreamer

I was trying to write some code that would do Alpha Compositing of one webm file over the top of another webm file using GStreamer.

It didn’t work. I wrote a Stack Overflow Post here:-

I was wondering if anyone could provide some example code that alpha composites one webm video file over another webm video file using GStreamer and Python ?

I would like to try and use GStreamer to composite webm videos on top of each other instead of using FFMPEG Filter Complex Overlay.

Useful so I can compose and render videos using GPU optimised GStreamer instead of using FFMPEG and CPU.

Application is in Cloud Based VIdeo Composition and Rendering for Video Advertising

Thank you in advance for your help.

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Hardware Platform :- GPU
DeepStream Version :- Not installed
GStreamer version:- GStreamer Core Library version 1.16.3
JetPack Version:- This is not for Jetson, will be on AWS Cloud eventually.
TensorRT Version:- Not installed
NVIDIA GPU Driver Version:- NVIDIA-SMI 470.129.06 Driver Version: 470.129.06 CUDA Version: 11.4
GPU:- Quadro RTX 3000 6GB
Issue Type:-
How to reproduce the issue:-
Install GStreamer, and PyGObject, and PyCairo, copy code above, and run.
Requirement details:- Ubuntu 20.04.4 LTS, GStreamer trying to use nvcompositor to composite two webm files on top of each other.

The nvcompositor only exists in Jetson. No such component in dGPU platform.

Thanks Fiona for your response.

  1. Is there a way to overlay or composite a webm vp9 video over the top of another webm vp9 video using GStreamer or another NVidia library so that it can be processed on the GPU ?

  2. If there isn’t, is there a way I can make a voluntary contribution to NVidia code so that this functionality can be reviewed and pulled into master ?


There is no update from you for a period, assuming this is not an issue anymore.
Hence we are closing this topic. If need further support, please open a new one.

There is NvBufSurfTransformComposite API for multiple NvBufSurface composition.
NVIDIA DeepStream SDK API Reference: NvBufSurfTransform Types and Functions
You may implement a compositor plugin with this API.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.