We are trying to use deepstream and it doesn’t work on some of our cameras.
Logs with --gst-debug-level=2
0:00:00.623755219 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2947:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:sink> Could not probe maximum capture size for pixelformat VP90
0:00:00.623765221 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:sink> Unable to try format: Unknown error -1
0:00:00.623774040 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2941:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:sink> Could not probe minimum capture size for pixelformat VP80
0:00:00.623779984 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:sink> Unable to try format: Unknown error -1
0:00:00.623784844 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2947:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:sink> Could not probe maximum capture size for pixelformat VP80
0:00:00.623795728 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:sink> Unable to try format: Unknown error -1
0:00:00.623807651 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2941:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:sink> Could not probe minimum capture size for pixelformat H264
0:00:00.623812801 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:sink> Unable to try format: Unknown error -1
0:00:00.623817697 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2947:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:sink> Could not probe maximum capture size for pixelformat H264
0:00:00.624235452 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:src> Unable to try format: Unknown error -1
0:00:00.624244434 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2941:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:src> Could not probe minimum capture size for pixelformat NM12
0:00:00.624251033 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:3056:gst_v4l2_object_get_nearest_size:<nvv4l2decoder0:src> Unable to try format: Unknown error -1
0:00:00.624258150 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2947:gst_v4l2_object_probe_caps_for_format:<nvv4l2decoder0:src> Could not probe maximum capture size for pixelformat NM12
0:00:00.624267733 1125 0x55a20cdf4240 WARN v4l2 gstv4l2object.c:2394:gst_v4l2_object_add_interlace_mode:0x7f6cd80cbad0 Failed to determine interlace mode
** ERROR: <cb_newpad3:500>: Failed to link depay loader to rtsp src
0:00:01.049700431 1125 0x7f6cdc029f60 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<udpsrc4> error: Internal data stream error.
0:00:01.049732363 1125 0x7f6cdc029f60 WARN basesrc gstbasesrc.c:3072:gst_base_src_loop:<udpsrc4> error: streaming stopped, reason not-linked (-1)
**PERF: FPS 0 (Avg)
**PERF: 0.00 (0.00)
**PERF: 0.00 (0.00)
Debug level 4 reveals:
0:00:01.819122664 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819230121 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819339413 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819449609 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819559200 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819667996 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
0:00:01.819694265 1101 0x7fb1800194c0 FIXME rtph265depay gstrtph265depay.c:1310:gst_rtp_h265_depay_process:<depay_elem0> Assuming DONL field is not present
**PERF: 0.00 (0.00)
The configuration is as follows:
[application]
enable-perf-measurement=1
perf-measurement-interval-sec=1
#gie-kitti-output-dir=streamscl
[tiled-display]
enable=0
rows=4
columns=4
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=4
uri=<rtsp url of our internal camera>
num-sources=1
#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
## for primary display.
[sink0]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File
type=2
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=0
## for file output
[sink1]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
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=output/out.mp4
source-id=0
## for rtspstreaming
[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
#iframeinterval=10
bitrate=400000
#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=1
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
## 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
In this stackoverflow question, op has similar problems which he fixed with the solution he provided.
Is there a solution for this, perhaps you can patch deepstream-app with above solution to accept any payload type?