ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization! when use filesink

I get error when run test demo,like this:

deepstream-app -c source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

my display_int8.txt like this:

[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=1
type=3
#1=mp4 2=mkv
container=1
#1=h264 2=h265
codec=1
sync=0
#iframeinterval=10
bitrate=2000000
output-file=out1.mp4
source-id=0

and I get this errors:

Creating LL OSD context new
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
Quitting
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
ERROR from sink_sub_bin_encoder2: Device '/dev/nvhost-msenc' failed during initialization
Debug info: gstv4l2object.c(4050): gst_v4l2_object_set_format_full (): /GstPipeline:pipeline/GstBin:processing_bin_0/GstBin:sink_bin/GstBin:sink_sub_bin2/nvv4l2h264enc:sink_sub_bin_encoder2:
Call to S_FMT failed for YM12 @ 1280x720: Unknown error -1
App run failed

I noticed that any sink include file and rtsp get same error except FakeSink, how to solve this?

this is my computer :

cuda 10.1
trt TensorRT-5.1.5.0
deepstream 4.0.1
gpu p40

Hi,
It seems like format of your v4l2 source is not supported. Please share full config file and information of executing:

$ v4l2-ctl -d /dev/videoX --list-formats-ext

@DaneLLL

I excute v4l2 and get error:

root@jin:~# v4l2-ctl -d /dev/videoX --list-formats-ext
Cannot open device /dev/videoX, exiting.

source4_1080p_dec_infer-resnet_tracker_sgie_tiled_display_int8.txt

all code as following:

# Copyright (c) 2018 NVIDIA Corporation.  All rights reserved.
#
# NVIDIA Corporation and its licensors retain all intellectual property
# and proprietary rights in and to this software, related documentation
# and any modifications thereto.  Any use, reproduction, disclosure or
# distribution of this software and related documentation without an express
# license agreement from NVIDIA Corporation is strictly prohibited.

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

[tiled-display]
enable=1
rows=2
columns=2
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=4
#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

[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
sync=0
#iframeinterval=10
bitrate=2000000
output-file=out1.mp4
source-id=0

[sink2]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
sync=0
#iframeinterval=10
bitrate=400000
# 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=4
##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

# 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_b4_int8.engine
batch-size=4
#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
gie-unique-id=1
nvbuf-memory-type=0
config-file=config_infer_primary.txt

[tracker]
enable=1
tracker-width=640
tracker-height=368
#ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so
#ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so
ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so
#ll-config-file required for DCF/IOU only
#ll-config-file=tracker_config.yml
#ll-config-file=iou_config.txt
gpu-id=0
#enable-batch-process applicable to DCF only
enable-batch-process=1

[secondary-gie0]
enable=1
model-engine-file=../../models/Secondary_VehicleTypes/resnet18.caffemodel_b16_int8.engine
gpu-id=0
batch-size=16
gie-unique-id=4
operate-on-gie-id=1
operate-on-class-ids=0;
config-file=config_infer_secondary_vehicletypes.txt

[secondary-gie1]
enable=1
model-engine-file=../../models/Secondary_CarColor/resnet18.caffemodel_b16_int8.engine
batch-size=16
gpu-id=0
gie-unique-id=5
operate-on-gie-id=1
operate-on-class-ids=0;
config-file=config_infer_secondary_carcolor.txt

[secondary-gie2]
enable=1
model-engine-file=../../models/Secondary_CarMake/resnet18.caffemodel_b16_int8.engine
batch-size=16
gpu-id=0
gie-unique-id=6
operate-on-gie-id=1
operate-on-class-ids=0;
config-file=config_infer_secondary_carmake.txt

[tests]
file-loop=0

Hi,
It should be /dev/video0, /dev/video1, …
Please execute ‘$ ls /dev/video*’ to get the device node of your camera(s).

@DaneLLL

I try:

ls -l /dev/video*
ls: cannot access ‘/dev/video*’: No such file or directory

but,I try this cmd ,and get this:

ls -l /dev/|grep video
crw-rw---- 1 root video 29, 0 Dec 24 00:59 fb0

so,what problem with my device or drivers?

Hi,
We shall fix it in DS4.0.1. A relevant post:
https://devtalk.nvidia.com/default/topic/1065531/deepstream-sdk/deepstream4-0-with-rtsp-of-sink-running-in-docker-cannot-work/post/5397055/#5397055
Could you confirm again you run DS4.0.1? Probably you accidentally use docker of DS4.0.
You may also try DS4.0.2

check if “/usr/lib/nvidia-/libnvcuvid.so” or “/usr/lib/x86_64-linux-gnu/libnvcuvid.so*” exist ?
if not, you may try copy libnvcuvid.so* from host’s “/usr/lib/x86_64-linux-gnu/” to container’s “/usr/lib/x86_64-linux-gnu/”

see https://devtalk.nvidia.com/default/topic/1065219/deepstream-sdk/not-able-to-use-nvv4l2-decoders-encoders/post/5419136/#5419136