Error " Failed to create element 'src_bin_muxer'" while trying to run a modified test5 on Nvidia DeepStream Container


Environment

Nvidia Jetson Nano
Jetpack 4.3
Deepstream 4.0.2


Description

Created custom configuration that is pretty much based on test5. I’ve edited a few lines in the config file to point to my config file/model (ONNX), to live capture data from a USB camera (Source0) and enabled RTSP (Sink3).

Tested the configuration on Nvidia Jetson Nano. Everything worked just fine.
xyz@njnano01:/var/deepstream/custom_config$ deepstream-app -c test5_config_file_src_infer_azure_iotedge.txt

##Config File:
[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=1
camera-width=640
camera-height=480
camera-fps-n=30
camera-fps-d=1
camera-v4l2-dev-node=0

[sink3]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
sync=0
bitrate=1500000

set below properties in case of RTSPStreaming

rtsp-port=8554
udp-port=5400

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=1
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000

Set muxer output width and height

width=640
height=480
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0

[primary-gie]
enable=1
gpu-id=0
model-engine-file=…/custom_models/model.onnx_b3_fp32.engine
config-file=config_infer_custom_vision.txt
batch-size=1

0=FP32, 1=INT8, 2=FP16 mode

bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;1;1;1
bbox-border-color3=0;1;0;1
interval=4
gie-unique-id=1
nvbuf-memory-type=0

.
Decided to run the same test in a docker container.


Issue

Tested container images
nvcr.io/nvidia/deepstream-l4t: 4.0.2-19.12-samples
nvcr.io/nvidia/deepstream-l4t: 4.0.2-19.12-iot

Docker Cmd
sudo docker run -it --rm --device=/dev/video0:/dev/video0 -v="/var/deepstream/custom_config:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config/" -v="/var/deepstream/custom_models:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_models/" -w="/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config/" nvcr.io/nvidia/deepstream-l4t:4.0.2-19.12-samples /bin/bash

.
Getting the following error:
root@47abede982f4:~/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config# deepstream-test5-app -c test5_config_file_src_infer_azure_iotedge.txt
** ERROR: <create_multi_source_bin:714>: Failed to create element ‘src_bin_muxer’
** ERROR: <create_multi_source_bin:777>: create_multi_source_bin failed
** ERROR: <create_pipeline:1045>: create_pipeline failed
** ERROR: main:1096: Failed to create pipeline
Quitting
App run failed
root@47abede982f4:~/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config#


Question

• Am I doing something wrong?
• What could be causing this behavior when running deepstream in the container?
• Any tip you can provide?

Hi

** ERROR: <create_multi_source_bin:714>: Failed to create element ‘src_bin_muxer’

Can you find nvstreammux plugin?
gst-inspect-1.0 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_multistream.so

you can delete the cache and try again,
rm /root/workspace/.cache/gstreamer-1.0 -rf

Hi,

Thanks for replying back. I got it working yesterday after some troubleshooting. I had to specify the parameters “–gpu all” or “–runtime nvidia” in Docker CLI command to get it working. I’ve verified in Docker config file (/etc/docker/daemon.json) that nvidia runtime is not set as the default runtime.


sudo docker run --runtime nvidia -it --rm --device=/dev/video0:/dev/video0 -v="/var/deepstream/custom_config:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config/" -v="/var/deepstream/custom_models:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_models/" -w="/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/configs/" nvcr.io/nvidia/deepstream-l4t:4.0.2-19.12-iot /bin/bash

sudo docker run --gpus all -it --rm --device=/dev/video0:/dev/video0 -v="/var/deepstream/custom_config:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_config/" -v="/var/deepstream/custom_models:/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/custom_models/" -w="/root/deepstream_sdk_v4.0.2_jetson/sources/apps/sample_apps/deepstream-test5/configs/" nvcr.io/nvidia/deepstream-l4t:4.0.2-19.12-iot /bin/bash


Thanks,
ftex+

Glad to know.