Hi,
During the migration from deepstream-5.1 to 6.1.1, we encountered problem with our Gst pipeline. It used to work in the 5.1 environment. Now, it says Stream format not found, dropping the frame
.
$ gst-launch-1.0 rtspsrc location=rtsp://<ip>:8554/stream0 ! application/x-rtp,media=video ! parsebin ! nvv4l2decoder ! fakesink
libEGL warning: DRI3: failed to query the version
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://<ip>:8554/stream0
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
Stream format not found, dropping the frame
Stream format not found, dropping the frame
Stream format not found, dropping the frame
...
parsebin-nvv4l2decoder.dot (39.0 KB)
Replacing parsebin ! nvv4l2decoder
with decodebin
solves the problem.
$ gst-launch-1.0 rtspsrc location=rtsp://<ip>:8554/stream0 ! application/x-rtp,media=video ! decodebin ! fakesink
Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://<ip>:8554/stream0
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 0
Progress: (request) SETUP stream 1
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
libEGL warning: DRI3: failed to query the version
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 261
NVMEDIA: Reading vendor.tegra.display-size : status: 6
NvMMLiteBlockCreate : Block : BlockType = 261
decodebin.dot (39.2 KB)
It seems that nvv4l2decoder
cannot recognize the input format anymore. Another difference can be found in the above images after rtph264depay0
, the output format seems to be different. Maybe parsebin
isn’t working as expected. But we don’t know what has changed in the deepstream update and how should we fix it using the current components.
Stream information coming from ffprobe
:
$ ffprobe -rtsp_transport tcp rtsp://<ip>:8554/stream0
...
Input #0, rtsp, from 'rtsp://<ip>:8554/stream0':
Metadata:
title : Stream
Duration: N/A, start: -0.784313, bitrate: N/A
Stream #0:0: Video: h264 (High), yuv420p(progressive), 1280x720 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc
Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp
Thanks and regards.