Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU) Jetson Orin AGX 64Gb
• DeepStream Version 6.2 (from nvcr.io/nvidia/deepstream-l4t:6.2-samples)
• JetPack Version (valid for Jetson only) 5.1
• TensorRT Version 8.5.2.2
• NVIDIA GPU Driver Version (valid for GPU only) -
• Issue Type( questions, new requirements, bugs) questions
• 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) run sources/deepstream_python_apps/apps/deepstream-test1-rtsp-out/deepstream_test1_rtsp_out.py
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
Hi everyone,
i’m working around the python apps from deepstream 6.2 via the ngc image from nvcr.io/nvidia/deepstream-l4t:6.2-samples on a Jetson Orin AGX 64Gb custom board (not a devkit).
So far everything works fine (video grabbing from usbcam and display with low latency, file reading, etc.).
But one test I cannot have working properly is when i try to read some rtsp stream (generated from inside the container with script sources/deepstream_python_apps/apps/deepstream-test1-rtsp-out/deepstream_test1_rtsp_out.py for instance). If i try to access this stream from host, i cannot get clean video output.
Here is my docker command to run container:
docker run -it --rm --net=host --runtime nvidia -e DISPLAY=$DISPLAY -p 8554:8554 nvcr.io/nvidia/deepstream-l4t:6.2-samples
I then run the rtsp output test script (sources/deepstream_python_apps/apps/deepstream-test1-rtsp-out/deepstream_test1_rtsp_out.py) with default parameters and /samples/streams from within the docker container.
When i try to play this stream on my host, i get the following results:
(1) with VLC (open network stream > Please enter a network URL: rtsp://:8554/ds-test) i have the error message " Connection failed: VLC could not connect to “:8554”. Your input can’t be opened: VLC is unable to open the MRL ‘rtsp://:8554/ds-test’. Check the log for details."
(2) with mplayer (mplayer rtsp://:8554/ds-test) the stream opens but a lot of error messages and a jerky read with lots of lost images
mplayer output:
[h264 @ 0xffffa94d2fd8]non-existing PPS 0 referenced
[h264 @ 0xffffa94d2fd8]non-existing PPS 0 referenced
[h264 @ 0xffffa94d2fd8]decode_slice_header error
[h264 @ 0xffffa94d2fd8]no frame!
[h264 @ 0xffffa94d2fd8]non-existing PPS 0 referenced
[h264 @ 0xffffa94d2fd8]non-existing PPS 0 referenced
[h264 @ 0xffffa94d2fd8]decode_slice_header error
[h264 @ 0xffffa94d2fd8]no frame!
[lavf] stream 0: video (h264), -vid 0
VIDEO: [H264] 1920x1080 0bpp 30.000 fps 0.0 kbps ( 0.0 kbyte/s)
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
[vdpau] Error when calling vdp_device_create_x11: 1
Opening video decoder: [ffmpeg] FFmpeg’s libavcodec codec family
libavcodec version 58.54.100 (external)
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
Clip info:
title: Session streamed with GStreamer
comment: rtsp-server
Audio: no sound
Starting playback…
Movie-Aspect is undefined - no prescaling applied.
VO: [xv] 1920x1080 => 1920x1080 Planar YV12
No pts value from demuxer to use for frame!
pts after filters MISSING
V: 8.8 0/ 0 17% 2% 0.0% 0 0
[rtsp @ 0xffffa9f4f430]max delay reached. need to consume packet
[rtsp @ 0xffffa9f4f430]RTP: missed 1741 packets
[h264 @ 0xffffa94d2fd8]Invalid level prefix
[h264 @ 0xffffa94d2fd8]error while decoding MB 75 26
[h264 @ 0xffffa94d2fd8]concealing 5014 DC, 5014 AC, 5014 MV errors in I frame
V: 18.3 0/ 0 9% 1% 0.0% 0 0
[rtsp @ 0xffffa9f4f430]max delay reached. need to consume packet
[rtsp @ 0xffffa9f4f430]RTP: missed 1772 packets
[h264 @ 0xffffa94d2fd8]corrupted macroblock 20 23 (total_coeff=-1)
[h264 @ 0xffffa94d2fd8]error while decoding MB 20 23
[h264 @ 0xffffa94d2fd8]concealing 5429 DC, 5429 AC, 5429 MV errors in I frame
V: 27.1 0/ 0 6% 0% 0.0% 0 0
Exiting… (Quit)
Could you please give me some hints to get a low latency, no image dropped video output while going this way (rtsp streaming from a container, reading from host or from an other container) ? I cannot find a solution through forums.
Also i noticed that the rtsp encoding pipeline uses the nvenc HW (jtop shows NVEND as RUNNING), but no nvdec HW is used by mplayer (or equivalent). How can I make sure a decoding pipeline would use this nvdec HW capability ?
Thanks for your precious help !