RTSP stream sent by rtspclientsink doesn't play in deepstream 6.2

RTSP stream sent by rtspclientsink doesn’t play in deepstream 6.2.

• Hardware Platform (Jetson / GPU)
NVIDIA GeForce RTX 3060 Laptop GPU
• DeepStream Version
6.2.0
• JetPack Version (valid for Jetson only)
• TensorRT Version
8.5.2.2
• NVIDIA GPU Driver Version (valid for GPU only)
520.61.05
• Issue Type( questions, new requirements, bugs)
bug

• 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)
Start rtsp-simple-server with the default configuration:

wget https://github.com/aler9/rtsp-simple-server/releases/download/v0.21.5/rtsp-simple-server_v0.21.5_linux_amd64.tar.gz
tar -xvzf rtsp-simple-server_v0.21.5_linux_amd64.tar.gz
./rtsp-simple-server

Start a pipeline to send RTSP stream to the server:

docker run \
    --name test \
    --rm -it \
    --gpus all \
    --entrypoint gst-launch-1.0 \
    nvcr.io/nvidia/deepstream:6.2-base \
    videotestsrc ! \
    'video/x-raw,width=1280,height=720,framerate=30/1' ! \
    nvvideoconvert ! \
    nvv4l2h264enc ! \
    h264parse ! \
    rtspclientsink location='rtsp://172.17.0.1:8554/stream'

Try to receive the stream with ffplay:

ffplay 'rtsp://localhost:8554/stream'

ffplay doesn’t play the stream

ffplay logs
ffplay version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2003-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
[rtsp @ 0x7f3ca0000cc0] decoding for stream 0 failed=    0B f=0/0   
Input #0, rtsp, from 'rtsp://localhost:8554/stream':
  Metadata:
    title           : Stream
  Duration: N/A, bitrate: N/A
  Stream #0:0: Video: h264 (Constrained Baseline), yuv420p(tv, bt709, progressive), 1280x720 [SAR 1:1 DAR 16:9], 30 fps, 30 tbr, 90k tbn, 60 tbc

ffplay plays an RTSP stream from deepstream 6.1.1 (nvcr.io/nvidia/deepstream:6.1.1-base) and there is no error [rtsp @ 0x7f3ca0000cc0] decoding for stream 0 failed.

• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)

I’ve tried on my device, your pipeline works.

Why do you think it is a DeepStream related issue?

Did you run it in docker? Probably there’s an issue with the docker image nvcr.io/nvidia/deepstream:6.2-base. I’ve tried on other devices.

  • On Quadro RTX 4000 there’s the same problem - RTSP stream works with 6.1.1 and doesn’t work with 6.2.
  • On Jetson NX there’s no such problem (docker image nvcr.io/nvidia/deepstream-l4t:6.2-base), RTSP stream works on both 6.1.1 and 6.2.

I have the same issue with RTMP stream.

docker run \
    --name test \
    --rm -it \
    --gpus all \
    --entrypoint gst-launch-1.0 \
    nvcr.io/nvidia/deepstream:6.2-base \
    videotestsrc ! \
    'video/x-raw,width=1280,height=720,framerate=30/1' ! \
    nvvideoconvert ! \
    nvv4l2h264enc ! \
    h264parse ! \
    flvmux ! \
    rtmpsink location='rtmp://172.17.0.1:1935/stream'
ffplay 'rtmp://localhost:1935/stream'

The issue appears only for low latency tuning presets (tuning-info-id=(2): LowLatencyPreset or (3): UltraLowLatencyPreset). RTSP stream plays for presets (1): HighQualityPreset and (4): LosslessPreset, but decoding for stream 0 failed error in ffplay is still there.

Please use vlcplayer to play the rtsp stream. I can play the rtsp generated in nvcr.io/nvidia/deepstream-l4t:6.2-base docker with any encoder “tuning-info-id” values.

Hello, as you may see, a couple messages earlier, my colleague states: On Jetson NX there’s no such problem (docker image nvcr.io/nvidia/deepstream-l4t:6.2-base), RTSP stream works on both 6.1.1 and 6.2.

As you are also testing L4T image, you won’t experience problems. The problem occurs only on discrete GPUs (we have tested on RTX 4000, RTX 3060 Laptop so far). We confirm that there is no problem on Jetson devices.

On discrete GPUs the problem only persists with low-latency profiles. It works normally with the high quality profiles (LosslessPreset, HighQualityPreset). It doesn’t look like a player problem, it looks like an encoder problem.

I checked with our dGPU, I can play the rtsp generated in nvcr.io/nvidia/deepstream:6.2-base docker with any encoder “tuning-info-id” values.

That’s great. Could you please share what:

  • Nvidia hardware you are using for testing;
  • what version of the Nvidia driver;
  • what version nvidia-container-runtime is used.

We can reproduce the problem on two different hosts (server hardware with RTX4000 and Desktop hardware with RTX 3060).

1 Like

T4 server driver 520.61.05, nvidia-docker2 version 2.11.0-1. RTX 3060 is widely used by many users, it is the first time such problem is reported.

Thank you, we will check our drivers and environment. However, our engineers previously reported problems that had not been reported by other users and which would have been fixed in further DeepStream releases.

I mean, it is not a bullet-proof argument that if nobody reported that, then it doesn’t exist.

Let us take a look at this historical bug, which nobody reported before our team did that: Simple pipeline with nvv4l2decoder got stuck - #6 by kudryavtsev_ia

I mean that you cannot speculate about the frequency.

1 Like

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please open a new one. Thanks

Have you checked the compatibility of your device? Quickstart Guide — DeepStream 6.2 Release documentation

Does your case work now?

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