Hi,
thanks for the infos. I was looking into the nvcompositor but a few more things are not clear to me.
- Transparency still doesn´t work. At least with what I tried. I was using nvcamerasrc and an overlay created with a videotestsrc where I manipulated the alpha channel before compositing. If I turn it to 0, I observe a black rectangle instead of a fully transparent image similar to what I used to observe if using multiple overlays with nvoverlaysink:
gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1920 sink_0::height=1080 sink_1::xpos=0 sink_1::ypos=0 sink_1::width=640 sink_1::height=480 ! nvvidconv ! nvoverlaysink nvcamerasrc fpsRange="60.0 60.0" sensor-id=0 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)RGBA, framerate=(fraction)60/1' ! nvvidconv ! omxh264enc ! h264parse ! omxh264dec ! comp. videotestsrc ! 'video/x-raw, width=(int)1920, height=(int)1080, format=(string)RGBA, framerate=(fraction)60/1' ! alpha alpha=0.0 ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)RGBA, framerate=(fraction)60/1' ! nvvidconv ! omxh264enc ! h264parse ! omxh264dec ! comp.
-
The avove pipeline doesn´t run smoothly. It seems like the camera freezes immediatley after a few frames/the first frame. The overlay keeps running though. How to make it run smooth?
-
How can I use the compositor without encode decode? Running
gst-inspect-1.0 nvcompositor
tells me that it supports the NVMM memory in RGBA format. Yet, the following doesn´t work ?? Encoding and Decoding is introducing additional latency we cannot allow plus it occupies the hardware encoder/decoder which we need for other encoding/decoding tasks.
gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1920 sink_0::height=1080 sink_1::xpos=0 sink_1::ypos=0 sink_1::width=640 sink_1::height=480 ! nvvidconv ! nvoverlaysink nvcamerasrc fpsRange="60.0 60.0" sensor-id=0 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)RGBA, framerate=(fraction)60/1' ! comp. nvcamerasrc fpsRange="60.0 60.0" sensor-id=1 ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1' ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)RGBA, framerate=(fraction)60/1' ! comp.
It is very important for our usecase to be able to create transparent overlays!! If you could help finding a solution it would be greatly appreciated!
Thank you.