I want to setup a pipeline including PGIE and SGIE. PGIE is a detector which outputs bboxes which I parse and everything gets displayed correctly. I’m now trying to add a SGIE which is another detector which I want to detect features on each of the parsed bounding boxes. Now I would like to a) create bounding boxes out of SGIEs output and have them drawn in OSD
as well as b) eventually add a 2nd SGIE which operates on PGIE but the data fed into SGIE2 is manipulated according to SGIE1s output
I’m using the stock deepstream-app from the SDK and so far just edited the respective config files like this:
Does adding one tee which branch the data into different branches meet your requirement, pgie, sgie0, sgie1 not in sequence order, see tee
This is what deepstream-app apparently does. There is a tee after PGIE where one branch goes into SGIE which straight leads into a fakesink. Is it possible to feed SGIEs output back into the pipeline?
I changed my pipeline to follow deepstream-test2 example and now things look like supposed (… → PGIE → SGIE → … → OSD → …). However I don’t see any output from SGIE. Where would I expect that? I installed a probe on SGIEs src pad and see the data from PGIE there but no idea where to look for SGIEs data. Any hint? When enabling
output-tensor-meta=1
in SGIE config my pipeline is not reaching the playing state. Calling gst_element_get_state() after gst_element_set_state(…, PLAYING) is not returning, while it works when output-tensor-meta=0. Any idea?
And final question: When using probes on SGIE src pad and on OSD sink pad it seems like only SGIE src probe callback gets called but not OSD sinks cb. Is that supposed to be like that and in case why?