Hello,
I am running Jetpack 4.6 and L4T 32.6.1.
At boot, running a gstreamer pipeline with nvarguscamera src, always fail the first time. Here’s the log :
nvidia@jetson-rogue-carrier:~$ gst-launch-1.0 nvarguscamerasrc sensor-id=1 num-buffers=200 ! 'video/x-raw(memory:NVMM),width=1920,height=1080, format=(string)NV12' ! nvv4l2h264enc bitrate=20000000 ! h264parse ! queue ! qtmux ! filesink location=test.mp4 -e
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 59000, max 33333000;
GST_ARGUS: Running with following settings:
Camera index = 1
Camera mode = 0
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.
nvbuf_utils: dmabuf_fd -1 mapped entry NOT found
nvbuf_utils: Can not get HW buffer from FD... Exiting...
CONSUMER: Done Success
Got EOS from element "pipeline0".
Execution ended after 0:00:04.039832960
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
GST_ARGUS: Cleaning up
GST_ARGUS: Done Success
Setting pipeline to NULL ...
Freeing pipeline ...
After it failed once, if I restart the same command it works perfectly :
nvidia@jetson-rogue-carrier:~$ gst-launch-1.0 nvarguscamerasrc sensor-id=1 num-buffers=200 ! 'video/x-raw(memory:NVMM),width=1920,height=1080, format=(string)NV12' ! nvv4l2h264enc bitrate=20000000 ! h264parse ! queue ! qtmux ! filesink location=test.mp4 -e
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
NvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
GST_ARGUS: Creating output stream
CONSUMER: Waiting until producer is connected...
GST_ARGUS: Available Sensor modes :
GST_ARGUS: 1920 x 1080 FR = 29,999999 fps Duration = 33333334 ; Analog Gain range min 1,000000, max 31,622776; Exposure Range min 59000, max 33333000;
GST_ARGUS: Running with following settings:
Camera index = 1
Camera mode = 0
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.
H264: Profile = 66, Level = 0
Got EOS from element "pipeline0".
Execution ended after 0:00:08.351023936
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 ...
I can then launch the command again and it works. Only the first time fails.
I have tried to set an infinite timeout like so :
sudo service nvargus-daemon stop
sudo enableCamInfiniteTimeout=1 nvargus-daemon
But then nvarguscamerasrc
hangs forever. Any idea how to solve this issue ?
Thanks !