Gstreamer requires monitor

Hi,
Im working on deep learning algorithm and for that i created dataloader for CSI camera.
I use gstreamer specified as follow:

“nvarguscamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=(int)640, height=(int)640, framerate=(fraction)30/1 ! nvvidconv flip-method=0 ! video/x-raw, width=(int)1280, height=(int)720, format=(string)BGRx ! videoconvert ! video/x-raw, format=(string)BGR ! appsink”

What im ussualy doing is that i connect to via VNC. The reason for that is that i need to select RoI from the first image and then go through the captures images. The first image is read just fine but when it comes to the main part and i should be capturing image and running inference, they are all black. When i run the same algorithm when the monitor is connected it runs just fine which means for the issues is with gstreamer needing monitor for some reason.

Could anyone help to bypass this problem ?

Hi,
Do you use developer kit? If yes, we would suggest connect to a TV and boot the device or certain functions may not work properly.

Yes, its the Jetson nano 2GB developer kit. The issues i want to perform tests in field where i dont have the luxury of bringing monitor or tv. Is it possible to do it without it somehow ? Im copy - pasting the what i get when running without monitor, the inference performed during that is done on black images (camera is not capturing)

Also based on what i see below, the camera is running with 120fps instead of 30fps specified in gstreamer

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 = 5
Output Stream W = 1280 H = 720
seconds to Run = 0
Frame Rate = 120.000005
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
CONSUMER: Producer has connected; continuing.
[ WARN:0] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap_gstreamer.cpp (933) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
Successfuly initialized camera daemon. (1280x720 at 30.00 FPS)
Select a ROI and then press SPACE or ENTER button!
Cancel the selection process by pressing c button!
Please enter the distance: 2
Performing warm-up…

CONSUMER: ERROR OCCURRED
WARNING: Video stream unresponsive, please check your IP camera connection.
[ WARN:1] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap_gstreamer.cpp (488) isPipelinePlaying OpenCV | GStreamer warning: unable to query pipeline state
GST_ARGUS: Cleaning up
/home/jetson/.local/lib/python3.6/site-packages/torch/nn/functional.py:718: UserWarning: Named tensors and all their associated APIs are an experimental feature and subject to change. Please do not use them for anything important until they are released as stable. (Triggered internally at /media/nvidia/NVME/pytorch/pytorch-v1.9.0/c10/core/TensorImpl.h:1156.)
return torch.max_pool2d(input, kernel_size, stride, padding, dilation, ceil_mode)
Warm-up done.
No objects. Pre-proc.:0.089s, NN:1.376s, NSM:0.3031s, Tracking:0.0567s, Total:1.7361s

…inference

No objects. Pre-proc.:0.002s, NN:0.095s, NSM:0.0012s, Tracking:0.0005s, Total:0.0973s
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 137)
(Argus) Error Timeout: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
No objects. Pre-proc.:0.002s, NN:0.095s, NSM:0.0012s, Tracking:0.0005s, Total:0.0976s

No objects. Pre-proc.:0.002s, NN:0.098s, NSM:0.0013s, Tracking:0.0005s, Total:0.1002s
No o
No objects. Pre-proc.:0.002s, NN:0.096s, NSM:0.0013s, Tracking:0.0007s, Total:0.0988s
GST_ARGUS: Creating output stream
No objects. Pre-proc.:0.002s, NN:0.103s, NSM:0.0013s, Tracking:0.0005s, Total:0.1051s
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;

No objects. Pre-proc.:0.003s, NN:0.101s, NSM:0.0016s, Tracking:0.0007s, Total:0.1035s
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 = 5
Output Stream W = 1280 H = 720
seconds to Run = 0
Frame Rate = 120.000005
GST_ARGUS: Setup Complete, Starting captures for 0 seconds
GST_ARGUS: Starting repeat capture requests.
No objects. Pre-proc.:0.002s, NN:0.096s, NSM:0.0026s, Tracking:0.0013s, Total:0.1003s
CONSUMER: Producer has connected; continuing.
No objects. Pre-proc.:0.002s, NN:0.096s, NSM:0.0018s, Tracking:0.0009s, Total:0.0995s

No objects. Pre-proc.:0.002s, NN:0.096s, NSM:0.0045s, Tracking:0.0190s, Total:0.1203s

No objects. Pre-proc.:0.002s, NN:0.096s, NSM:0.0012s, Tracking:0.0005s, Total:0.0986s
Traceback (most recent call last):
File “detect.py”, line 257, in
run(**vars(opt))
File “/home/jetson/.local/lib/python3.6/site-packages/torch/autograd/grad_mode.py”, line 28, in decorate_context
return func(*args, **kwargs)
File “detect.py”, line 203, in run
raise StopIteration
StopIteration
(Argus) Error EndOfFile: Unexpected error in reading socket (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 266)
(Argus) Error EndOfFile: Receive worker failure, notifying 3 waiting threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 340)
(Argus) Error InvalidState: Argus client is exiting with 3 outstanding client threads (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadCore(), line 357)
(Argus) Error EndOfFile: Receiving thread terminated with error (in src/rpc/socket/client/ClientSocketManager.cpp, function recvThreadWrapper(), line 368)
(Argus) Error EndOfFile: Client thread received an error from socket (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 145)
(Argus) Error EndOfFile: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
(Argus) Error InvalidState: Receive thread is not running cannot send. (in src/rpc/socket/client/ClientSocketManager.cpp, function send(), line 96)
(Argus) Error InvalidState: (propagating from src/rpc/socket/client/SocketClientDispatch.cpp, function dispatch(), line 91)
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD… Exiting…
CONSUMER: Done Success
[ WARN:1] global /home/nvidia/host/build_opencv/nv_opencv/modules/videoio/src/cap_gstreamer.cpp (933) open OpenCV | GStreamer warning: Cannot query video position: status=0, value=-1, duration=-1
WARNING Argus: 6 client objects still exist during shutdown:
547484051456 (0x7ed0000ee0)
547486658992 (0x7ed0000c70)
547486659152 (0x7ed00010f0)
547488910432 (0x7ed00024c0)
547489108032 (0x7ed0000fe0)
547489123528 (0x7ed0000d08)
^C

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.