USB Camera not Working

I’m running deepstream-test5-app in docker with csi camera and one rtsp camera, connected to azure. The app is working fine with this configuration but when I add a usb camera, the app can’t detect the camera. I also check if the camera is v4l2-ctl capable and it say it is.
here is the config file:
[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP 5=CSI
type=4
uri=rtsp://wowzaec2demo.streamlock.net/vod/mp4:BigBuckBunny_115k.mov
rtsp-reconnect-interval-sec=60
cudadec-memtype=0

[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP 5=CSI
type=5
camera-width=1920
camera-height=1080
camera-fps-n=30
camera-fps-d=1

[source2]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=1
camera-width=1920
camera-height=1080
camera-fps-n=30
camera-fps-d=1
camera-v4l2-dev-node=1

it gave this error:
(deepstream-test5-app:1): GLib-GObject-WARNING **: 01:00:22.250: g_object_set_is_valid_property: object class ‘GstNvArgusCameraSrc’ has no property named ‘maxperf’
Warn: ‘threshold’ parameter has been deprecated. Use ‘pre-cluster-threshold’ instead.

(deepstream-test5-app:1): GLib-CRITICAL **: 01:00:22.391: g_strrstr: assertion ‘haystack != NULL’ failed
nvds_msgapi_connect : connect success

Using winsys: x11
Disconnecting Azure…
** ERROR: main:1451: Failed to set pipeline to PAUSED
Quitting
ERROR from src_elem: Cannot identify device ‘/dev/video1’.
Debug info: v4l2_calls.c(609): gst_v4l2_open (): /GstPipeline:pipeline/GstBin:multi_src_bin/GstBin:src_sub_bin2/GstV4l2Src:src_elem:
system error: No such file or directory
App run failed

Can you provide platform information?
• Hardware Platform (Jetson / GPU)
• DeepStream Version 5
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)

Have you checked the device node of csi camera after adding the usb camera? Is it /dev/video1?

**• Hardware Platform :JETSON
• DeepStream Version 5
**• JetPack Version (valid for Jetson only)**4.4
• TensorRT Version7
i check the /dev directory and saw 2 device node video0 and video1
please note that when running the command it opens my usb camera:

gst-launch-1.0 v4l2src device="/dev/video1" name=e ! 'video/x-raw, width=640, height=480' ! videoconvert ! 'video/x-raw, width=640, height=480, format=(string)YUY2' ! xvimagesink

so i’m pretty sure device node /dev/video0 is my csi camera

The error in your log shows the “/dev/video1” does not exist when you run the application.

I tried using the usb camera with the local app deepstream (with the same config) and it’s working but with the docker still same error

Can “gst-launch-1.0 v4l2src device=”/dev/video1" name=e ! ‘video/x-raw, width=640, height=480’ ! videoconvert ! ‘video/x-raw, width=640, height=480, format=(string)YUY2’ ! xvimagesink" still work in docker?

I tried running the terminal code in the docker container containing the nvidiadeepstream image and it produce this errors:

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.744: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistreamtiler.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.760: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libgstnvvideoconvert.so': libnvdsbufferpool.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.803: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_infer.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.812: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_segvisual.so': libnvdsbufferpool.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.843: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_osd.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.854: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistream.so': libnvdsbufferpool.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.868: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_ofvisual.so': libnvdsbufferpool.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.939: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.959: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_dewarper.so': libnvdsbufferpool.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:42.968: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_tracker.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

(gst-plugin-scanner:11): GStreamer-WARNING **: 08:15:43.009: Failed to load plugin '/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_dsexample.so': libnvbufsurface.so.1.0.0: cannot open shared object file: No such file or directory

Seems deepstream is not installed correctly in your docker.

https://docs.nvidia.com/metropolis/deepstream/dev-guide/index.html#page/DeepStream_Development_Guide/deepstream_plugin_docker.html#wwpID0EKHA

Yup maybe that’s the problem. I’ll look to the link you sent. Thanks!