We are trying to stream two 4k camera in 60 fps using nvcompositor in gstreamer, and we faced some fps loss in compositor view that is the fps of both camera is reduced to a varying range of 43 - 47fps.
So in order to debug the issue we used below pipeline to run both camera simultaneously, by running it in two different terminals. But when we run both the cameras simultaneously then the fps of both cameras is reduce to a fixed value of 47fps.
But when we run the cameras individually we are getting 60 fps.
We have also tried with fake sink and the result is the same.
We have tried the above methods but our scenario remains the same and we were not able to achieve any increase in fps.
But on further inspecting the gstreamer elements we have understood that the NV12 → RGBA conversion is causing the drop.
Is there any other suggestions to improve the fps. Or is there any other element that can help us with the conversion without affecting the performance.
Hi,
If you have run hardware converter at maximum clock, this is the maximum throughput the system can offer. One more thing you can try is to customize nvarguscamerasrc to output RGBA directly. This scan save the conversion through nvvidconv plugin. The plugins are open source and please take a look at the source code.
Hi DaneLL,
We have tried to customize nvarguscamerasrc to output RGBA directly. for this we have made some modification in gstnvarguscamerasrc.cpp file. we tried to replace NV12 pixel format settings with RGBA. please find the attached patch file below.
gst-launch-1.0 -v nvarguscamerasrc sensor-id=1 ! nvoverlaysink sync=false
this is the pipeline now we are using.
we are facing the error
"
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: Internal data stream error.
Additional debug info:
gstbasesrc.c(3055): gst_base_src_loop (): /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0:
streaming stopped, reason not-negotiated (-4)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to PAUSED …
Setting pipeline to READY …