Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) Jetson Xavier NX
• DeepStream Version 6.3.0
• JetPack Version (valid for Jetson only) 5.1.3
• TensorRT Version 8.5.2
• NVIDIA GPU Driver Version (valid for GPU only) N/A
• Issue Type( questions, new requirements, bugs) Bugs
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
The bug occurs when I run a simple GStreamer pipeline which reads data from a USB web camera and writes the stream to disk.
gst-launch-1.0 v4l2src device=/dev/video0 ! nvv4l2decoder mjpeg=1 ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=out.mp4
Around half the time I run this pipeline, I see the message Stream format not found, dropping the frame
. When this happens, the pipeline stops and no data is written to disk. Here is a sample output where the pipeline fails:
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
0:00:00.551220603 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d9dc0 Failed to determine interlace mode
0:00:00.551507841 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d9dc0 Failed to determine interlace mode
0:00:00.551614211 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d9dc0 Failed to determine interlace mode
0:00:00.551708229 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d9dc0 Failed to determine interlace mode
0:00:00.551940426 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:4561:gst_v4l2_object_probe_caps:<nvv4l2h264enc0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
Opening in BLOCKING MODE
0:00:00.615291650 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:4561:gst_v4l2_object_probe_caps:<nvv4l2decoder0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:00.615430949 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:00.615532455 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:00.615625641 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:00.615720427 10325 0xaaaabf4fc690 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
NvMMLiteOpen : Block : BlockType = 277
NvMMLiteBlockCreate : Block : BlockType = 277
0:00:00.663234189 10325 0xaaaabf3d2cc0 WARN v4l2bufferpool gstv4l2bufferpool.c:809:gst_v4l2_buffer_pool_start:<v4l2src0:pool:src> Uncertain or not enough buffers, enabling copy threshold
Stream format not found, dropping the frame
Stream format not found, dropping the frame
^Chandling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 0:00:09.779189593
Setting pipeline to NULL ...
0:00:10.405151010 10325 0xaaaabf3d2cc0 WARN v4l2 gstv4l2object.c:4561:gst_v4l2_object_probe_caps:<nvv4l2decoder0:src> Failed to probe pixel aspect ratio with VIDIOC_CROPCAP: Unknown error -1
0:00:10.405318534 10325 0xaaaabf3d2cc0 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:10.405527082 10325 0xaaaabf3d2cc0 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:10.405629324 10325 0xaaaabf3d2cc0 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
0:00:10.405751439 10325 0xaaaabf3d2cc0 WARN v4l2 gstv4l2object.c:2420:gst_v4l2_object_add_interlace_mode:0xaaaabf4d5020 Failed to determine interlace mode
Freeing pipeline ...
I have tried two different USB cameras and both produce the same error. This includes an ELP Synchronized Stereo Camera and an ELP USB 3.0 Low Light Camera.
It seems like the issue is caused by the DeepStream plugins because when I replace nvv4l2decoder
with jpegdec
and nvv4l2h264enc
with x264enc
, the pipeline always works correctly. The problem is that the CPU is not fast enough to transcode the stream in realtime, so I need the hardware accelerated versions to work correctly 100% of the time.
Any ideas as to what is causing this issue? Thank you.