Deepstream 6.0 - can't create element 'src_bin_muxer'

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU) Jetson AGX
• DeepStream Version 6.0
• JetPack Version (valid for Jetson only) 4.6
• TensorRT Version 8001
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs) question
• 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)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

Hello,
I’m having an issue running:
/opt/nvidia/deepstream/deepstream-6.0/bin$ deepstream-app -c …/samples/configs/deepstream-app/source30_1080p_dec_infer-resnet_tiled_display_int8.txt

The final error message I get is: Failed to create element ‘src_bin_muxer’
I’m connecting to the unit over a RDP.
I’ve a read a few posts on this forum concerning the same issue, but non of the suggestions worked for me:

  • Changing sink to 1 FakeSink or 3 File does not help.
  • Removing $HOME/.cache/gstreamer-1.0/registry.aarch64.bin does not help

I’ve ran gst-inspect-1.0 nvstreammux and it’s not found.

Please assist.

====================
The complete error message:

nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7030): GStreamer-WARNING **: 14:53:38.536: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so’: librivermax.so.0: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7042): GStreamer-WARNING **: 14:53:39.721: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so’: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync

(gst-plugin-scanner:7042): GStreamer-WARNING **: 14:53:39.725: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so’: libtritonserver.so: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7042): GStreamer-WARNING **: 14:53:39.868: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so’: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7050): GStreamer-WARNING **: 14:53:41.213: Failed to load plugin ‘/etc/alternatives/deepstream-plugins/libnvdsgst_udp.so’: librivermax.so.0: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7062): GStreamer-WARNING **: 14:53:42.413: Failed to load plugin ‘/etc/alternatives/deepstream-plugins/libnvdsgst_preprocess.so’: /etc/alternatives/deepstream-plugins/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync

(gst-plugin-scanner:7062): GStreamer-WARNING **: 14:53:42.416: Failed to load plugin ‘/etc/alternatives/deepstream-plugins/libnvdsgst_inferserver.so’: libtritonserver.so: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7062): GStreamer-WARNING **: 14:53:42.558: Failed to load plugin ‘/etc/alternatives/deepstream-plugins/libcustom2d_preprocess.so’: /etc/alternatives/deepstream-plugins/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7117): GStreamer-WARNING **: 14:53:44.747: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_udp.so’: librivermax.so.0: cannot open shared object file: No such file or directory
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection

(gst-plugin-scanner:7129): GStreamer-WARNING **: 14:53:45.935: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so’: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_preprocess.so: undefined symbol: NvBufSurfTransformAsync

(gst-plugin-scanner:7129): GStreamer-WARNING **: 14:53:45.938: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libnvdsgst_inferserver.so’: libtritonserver.so: cannot open shared object file: No such file or directory

(gst-plugin-scanner:7129): GStreamer-WARNING **: 14:53:46.080: Failed to load plugin ‘/usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so’: /usr/lib/aarch64-linux-gnu/gstreamer-1.0/deepstream/libcustom2d_preprocess.so: undefined symbol: NvBufSurfTransformAsync
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
nvbuf_utils: Could not get EGL display connection
** ERROR: <create_multi_source_bin:1423>: Failed to create element ‘src_bin_muxer’
** ERROR: <create_multi_source_bin:1516>: create_multi_source_bin failed
** ERROR: <create_pipeline:1323>: create_pipeline failed
** ERROR: main:639: Failed to create pipeline
Quitting
App run failed

The eglgles does not support display over RDP. You need to change the sink to other kind sinks

Thanks. Connecting locally to the unit (including physical display) + deleting the Gstreamer cache enable the “deepstream-app” to start running.

Could you please explain how to " change the sink to other kind sinks"? I mentinoed earlier that changing the sink type in [sink0] to Fakesink or File doesn’t enable the application to run.

Please refer to DeepStream Reference Application - deepstream-app — DeepStream 6.0 Release documentation

Thanks.

I found that I can run deepstream-app over RDP with FakeSink or FileSink by “unset DISPLAY”.
Doing so solves “EGL device not found” messages, and deepstream-app will run.
Unsetting DISPLAY also enables running with “[osd] enable=1” and “[tiled-display] enable=1” and have inference results written into the FileSink.

I got the same problem. I am using deepstream 5.0 with the following system components:

  • NVIDIA Jetson Xavier NX (Developer Kit Version)
    • Jetpack 4.4 [L4T 32.4.3]
    • NV Power Mode: MODE_15W_2CORE - Type: 0
    • jetson_stats.service: active
  • Libraries:
    • CUDA: 10.2.89
    • cuDNN: 8.0.0.180
    • TensorRT: 7.1.3.0
    • Visionworks: 1.6.0.501
    • OpenCV: 4.1.1 compiled CUDA: NO
    • VPI: 0.3.7
    • Vulkan: 1.2.70

I am following the documentation. Testing the sample config file source30_1080p_dec_infer-resnet_tiled_display_int8.txt . My system does not have x-server, so I have changed the config file. I still got the error message

#################################################
er-1.0/registry.aarch64.bin
0:00:00.003241598 23534 0x2dfa32c0 INFO GST_REGISTRY gstregistrybinary.c:539:priv_gst_registry_binary_read_cache: Unable to mmapcache/gstreamer-1.0/registry.aarch64.bin : Failed to open file “/home/nvidia/.cache/gstreamer-1.0/registry.aarch64.bin”: open() failed: No such
0:00:00.003289758 23534 0x2dfa32c0 INFO GST_REGISTRY gstregistrybinary.c:549:priv_gst_registry_binary_read_cache: Unable to readcache/gstreamer-1.0/registry.aarch64.bin : Failed to open file “/home/nvidia/.cache/gstreamer-1.0/registry.aarch64.bin”: No such file or direct
0:00:00.004382878 23534 0x2dfa32c0 INFO GST_REGISTRY gstregistry.c:1583:scan_and_update_registry: Validating plugins from registia/.cache/gstreamer-1.0/registry.aarch64.bin
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
0:00:02.214769462 23534 0x2dfa32c0 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /opt/nvidiaam-5.0/lib/gst-plugins/libnvdsgst_multistreamtiler.so failed to load. Blacklisting
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
0:00:04.546113994 23534 0x2dfa32c0 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /opt/nvidiaam-5.0/lib/gst-plugins/libnvdsgst_infer.so failed to load. Blacklisting
No EGL Display
nvbufsurftransform: Could not get EGL display connection
No EGL Display
nvbufsurftransform: Could not get EGL display connection
0:00:06.841561064 23534 0x2dfa32c0 ERROR GST_PLUGIN_LOADING gstpluginloader.c:277:plugin_loader_replay_pending: Plugin file /opt/nvidiaam-5.0/lib/gst-plugins/libnvdsgst_dsexample.so failed to load. Blacklisting
#########################################################

and finnally terminated by the error message :

** ERROR: <create_multi_source_bin:1057>: Failed to create element ‘src_bin_muxer’
** ERROR: <create_multi_source_bin:1132>: create_multi_source_bin failed
** ERROR: <create_pipeline:1296>: create_pipeline failed
** ERROR: main:636: Failed to create pipeline

The config file I changed to is as follows:

##########################################

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
#gie-kitti-output-dir=streamscl

[tiled-display]
enable=0
rows=5
columns=6
width=1280
height=720
gpu-id=0
#(0): nvbuf-mem-default - Default memory allocated, specific to particular platform
#(1): nvbuf-mem-cuda-pinned - Allocate Pinned/Host cuda memory, applicable for Tesla
#(2): nvbuf-mem-cuda-device - Allocate Device cuda memory, applicable for Tesla
#(3): nvbuf-mem-cuda-unified - Allocate Unified cuda memory, applicable for Tesla
#(4): nvbuf-mem-surface-array - Allocate Surface Array memory, applicable for Jetson
nvbuf-memory-type=0

[source0]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://…/…/streams/sample_1080p_h264.mp4
num-sources=15
#drop-frame-interval=2
gpu-id=0

(0): memtype_device - Memory type Device

(1): memtype_pinned - Memory type Host Pinned

(2): memtype_unified - Memory type Unified

cudadec-memtype=0

[source1]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI 4=RTSP
type=3
uri=file://…/…/streams/sample_1080p_h264.mp4
num-sources=15
gpu-id=0

(0): memtype_device - Memory type Device

(1): memtype_pinned - Memory type Host Pinned

(2): memtype_unified - Memory type Unified

cudadec-memtype=0

[sink0]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File
type=1
sync=1
source-id=0
gpu-id=0
nvbuf-memory-type=0

[sink1]
enable=0
type=3
#1=mp4 2=mkv
container=1
#1=h264 2=h265
codec=1
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
#iframeinterval=10
bitrate=2000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=0
output-file=out.mp4
source-id=0

[sink2]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
#encoder type 0=Hardware 1=Software
enc-type=0
sync=0
bitrate=4000000
#H264 Profile - 0=Baseline 2=Main 4=High
#H265 Profile - 0=Main 1=Main10
profile=0

set below properties in case of RTSPStreaming

rtsp-port=8554
udp-port=5400

[osd]
enable=1
gpu-id=0
border-width=1
text-size=15
text-color=1;1;1;1;
text-bg-color=0.3;0.3;0.3;1
font=Serif
show-clock=0
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=0
batch-size=30
##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=1920
height=1080
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0

If set to TRUE, system timestamp will be attached as ntp timestamp

If set to FALSE, ntp timestamp from rtspsrc, if available, will be attached

attach-sys-ts-as-ntp=1

config-file property is mandatory for any gie section.

Other properties are optional and if set will override the properties set in

the infer config file.

[primary-gie]
enable=1
gpu-id=0
model-engine-file=…/…/models/Primary_Detector/resnet10.caffemodel_b30_gpu0_int8.engine
#Required to display the PGIE labels, should be added even when using config-file
#property
batch-size=30
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
#Required by the app for SGIE, when used along with config-file property
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary.txt

[tests]
file-loop=0

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

Hi user43963,

Please help to try with DeepStream 6.0, and open a new topic if still an issue. Thanks