The RidgeRun plugin is compatible with DeepStream’s, you can use it like this if all you want is to add to the overlay already done by
... ! nvdsosd ! nvvideoconvert ! qtoverlay ! ...
However, a memory copy is still needed to convert NVMM to regular memory, and this is the operation that will likely cause less performance. QtOverlay’s rendering should be negligible in comparison. I am almost sure that the following pipelines should have similar performance:
... ! nvdsosd(drawing rectangles and text) ! nvvideoconvert ! qtoverlay(drawing something else)! ...
... ! nvvideoconvert ! qtoverlay(drawing rectangles, text, and something else) ! ...
In the end, it would be up to you if you use
qtoverlay to draw rectangles and text, but
qtoverlay would give you all the options to format text available in Qt.
Note: Even though the general performance would drop from switching to GstQtOverlay, the bottleneck of a DeepStream pipeline would still be the detection element. The overhead from one memory copy is small compared to the inference time of a detection model.