| •|Hardware Platform--------Jetson |
| •|DeepStream Version-------5.0 |
| •|JetPack Version -----------4.5 (L4T 32.5.1) |
| •|TensorRT Version----------7.1.3.0 |
Hello
I am trying to feed rotated nvarguscamerasrc
image into inference pipeline.
Below is the shortest pipeline to reproduce the issue.
gst-launch-1.0 nvarguscamerasrc bufapi-version=TRUE sensor_id=0 ! 'video/x-raw(memory:NVMM),width=1280, height=720, format=NV12, framerate=30/1' ! nvvidconv flip-method=1 ! mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=720 height=1280 batched-push-timeout=40000 ! fpsdisplaysink video-sink=fakesink text-overlay=false -v
The error which I am getting is below
ERROR: from element /GstPipeline:pipeline0/GstNvArgusCameraSrc:nvarguscamerasrc0: Internal data stream error.
Note: The pipeline works fine without nvvidconv flip-method=1
element.
Thanks
But I am already using it in the above pipeline.
Which is causing the error!!
It could be some others parameter cause the error.
I try below without problem.
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM)' ! nvvidconv flip-method=1 ! fpsdisplaysink video-sink=fakesink text-overlay=false -v
The problem arises when you add streammux element.
E.g. below pipeline causes the problem.
gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM)' ! nvvidconv flip-method=1 ! mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=1080 height=1920 batched-push-timeout=40000 ! fpsdisplaysink video-sink=fakesink text-overlay=false -v
Even nvarguscamerasrc bufapi-version=TRUE
is also not working.
Where to get nvstreammux?
Aim is make an inference pipeline.
For which, I think nvstreammux is mandatory (correct me if I am wrong).
Let me present my target pipeline.
gst-launch-1.0 nvarguscamerasrc bufapi-version=TRUE sensor_id=0 !
'video/x-raw(memory:NVMM),width=1280, height=720, format=NV12' ! nvvidconv flip-method=1 !
mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=720 height=1280 batched-push-timeout=40000 !
queue ! nvinfer config-file-path=config_infer_primary_vertical.txt batch-size=1 unique-id=1 interval=0 !
nvtracker ll-lib-file=libnvds_nvdcf.so tracker-width=352 tracker-height=640 !
nvvideoconvert ! nvdsosd name=nvdsosd0 ! nvvideoconvert name=image !
'video/x-raw,format=(string)BGRx' ! nveglglessink
I dont understand what you mean by asking ‘where’?
I don’t think nvarguscamerasrc support bufapi-version=TRUE have confirm the parameter by gst-inspect-1.0 nvarguscamerasrc for the input parameter.
What the error message after remove the bufapi-version=TRUE
This is the error message with no bufapi-version
nano@nano:~$ gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM)' ! nvvidconv flip-method=1 ! mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=1080 height=1920 batched-push-timeout=40000 ! fpsdisplaysink video-sink=fakesink text-overlay=false
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 3264 x 2464 FR = 21,000000 fps Duration = 47619048 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 3264 x 1848 FR = 28,000001 fps Duration = 35714284 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1640 x 1232 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 59,999999 fps Duration = 16666667 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: 1280 x 720 FR = 120,000005 fps Duration = 8333333 ; Analog Gain range min 1,000000, max 10,625000; Exposure Range min 13000, max 683709000;
GST_ARGUS: Running with following settings:
Camera index = 0
Camera mode = 2
Output Stream W = 1920 H = 1080
seconds to Run = 0
Frame Rate = 29,999999
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
ERROR: from element /GstPipeline:pipeline0/GstNvStreamMux:mux: Input buffer number of surfaces (0) must be equal to mux->num_surfaces_per_frame (1)
Set nvstreammux property num-surfaces-per-frame appropriately
Additional debug info:
/dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvmultistream/gstnvstreammux.c(354): gst_nvstreammux_chain (): /GstPipeline:pipeline0/GstNvStreamMux:mux
Execution ended after 0:00:00.769841427
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
CONSUMER: Done Success
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...
nano@nano:~$
Just to give this discussion a boost.
Following pipeline is good.
gst-launch-1.0 nvarguscamerasrc bufapi-version=TRUE ! 'video/x-raw(memory:NVMM)' ! nvvidconv flip-method=0 ! mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=1920 height=1080 batched-push-timeout=40000 ! fpsdisplaysink video-sink=fakesink text-overlay=false -v
But following pipeline is not good
gst-launch-1.0 nvarguscamerasrc bufapi-version=TRUE ! 'video/x-raw(memory:NVMM)' ! nvvidconv flip-method=1 ! mux.sink_0 nvstreammux live-source=0 name=mux batch-size=1 width=1080 height=1920 batched-push-timeout=40000 ! fpsdisplaysink video-sink=fakesink text-overlay=false -v
This may not be the optimal pipeline, but as workaround copying to CPU memory and then using videoconvert for new bufapi in subsequent nvstreammux pipeline may work:
gst-launch-1.0 -v nvarguscamerasrc ! 'video/x-raw(memory:NVMM),format=NV12,width=1920,height=1080,framerate=30/1' ! nvvidconv flip-method=1 ! video/x-raw,width=1080,height=1920,pixel-aspect-ratio=1/1 ! nvvideoconvert ! 'video/x-raw(memory:NVMM)' ! mux.sink_0 nvstreammux name=mux live-source=1 batch-size=1 width=1080 height=1920 ! queue ! fpsdisplaysink video-sink=fakesink text-overlay=false
1 Like