• Jetson TX2
• DeepStream 4.0
• JetPack 4.3
Hi,
I have created a pipeline using nvarguscamerasrc and object detection and tracking using YoloV3 and KLT respectively. An example of the pipeline using gst-launch can be seen below.
gst-launch-1.0 nvarguscamerasrc maxperf=1 bufapi-version=TRUE ! 'video/x-raw(memory:NVMM), width=
(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)30/1' ! m.sink_0 nvstreammux name=m
batch-size=1 live-source=1 width=1280 height=720 !
nvinfer config-file-path=/path/to/config_infer_primary_yoloV3.txt interval=4 ! nvtracker
tracker-width=416 tracker-height=416 ll-lib-file=/path/to/libnvds_mot_klt.so ! nvvideoconvert ! nvdsosd !
nvegltransform ! nveglglessink
The pipeline works as it should, however, when implemented in a tee as a part of a larger system of pipelines, the bufapi-version interferes with the entire system, resulting in a internal data stream error.
My question is, therefore, is there any other way to use nvarguscamerasrc together with nvstreammux without setting bufapi-version=TRUE?
A reproducible pipeline is given below:
gst-launch-1.0 nvarguscamerasrc maxperf=1 bufapi-version=FALSE num-buffers=1 ! m.sink_0 nvstreammux
name=m batch-size=1 live-source=1 width=1280 height=720 ! nvvideoconvert ! nvdsosd ! nvegltransform !
nveglglessink
Inference and tracking is removed from the pipeline for reproducibility purposes. When setting * bufapi-version=FALSE* the following error message is produced:
ERROR: from element /GstPipeline:pipeline0/GstNvStreamMux:m: Input buffer number of surfaces (0) must be equal to mux->num_surfaces_per_frame (1)
Set nvstreammux property num-surfaces-per-frame appropriately
So, i was wondering if there is any way to solve this without using bufapi-version?
Thanks