Problem when using nvv4l2decoder in a gstreamer pipeline

Hello everyone,

Using nvidia tools is new to me and I have no experience in this area. I have been facing a problem for a while now and despite the resources on the internet I can’t solve my problem.

The context is as follows. My goal is to use nvidia hardware-accelerators (like nvv4l2decoder for example) to decode an rtsp video stream. For the moment, I am doing tests with an mp4 file.

In terms of operating system, I am using ubuntu 22.04 LTS via an AWS EC2 with a 64bit-x86 architecture. For the installation, I use this nvidia documentation (here is the link Installation — DeepStream documentation) more precisely the part “dGPU Setup for Ubuntu” which is dedicated to the Ubuntu x86_64 system.

When I finished the installation, everything goes well and when I test the activation of nvv4l2decoder with the command “gst-inspect-1.0 | grep nvv4l2decoder”, I get this as result in the terminal “nvvideo4linux2: nvv4l2decoder: NVIDIA v4l2 video decoder”.

I also tested enabling nvidia drivers via “nvidia-smi” command and got this output in terminal " Tue Dec 17 07:19:26 2024
±---------------------------------------------------------------------------------------+
| NVIDIA-SMI 565.77 Driver Version: 565.77 CUDA Version: 12.7 |
|-----------------------------------------±-----------------------±---------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|============================================+========================================= |
| 0 NVIDIA L4 Off | 00000000:31:00.0 Off | 0 |
| N/A 36C P0 27W / 72W | 1MiB / 23034MiB | 0% Default |
| | | N/A |
±----------------------------------------±-----------------------±---------------------+

±------------------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|============================================================================ |
| No running processes found |
±----------------------------------------------------------------------------------------+".

I tested the correct installation of gstreamer via this command “gst-inspect-1.0 --version” and I get this “gst-inspect-1.0 version 1.20.3
GStreamer 1.20.3
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0”.

I also confirmed the correct installation of CUDA via this command “nvcc --version” and I get this in the terminal “nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0”.

When I test the decoding of my mp4 file with the commands
“export DISPLAY=:0” and
“gst-launch-1.0 filesrc location=./my_file.mp4 ! qtdemux ! queue ! h264parse ! nvh264sldec ! autovideosink”, it works well.

But When I test the decoding of my mp4 file with the commands
“export DISPLAY=:0” and
“gst-launch-1.0 filesrc location=./my_file.mp4.mp4! qtdemux! queue! h264parse! nvv4l2decoder! autovideosink” this no longer works and I get this message in the terminal
“Setting pipeline to PAUSED…
MESA-LOADER: failed to open simpledrm: /usr/lib/dri/simpledrm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
kmsro: driver missing
Failed to query video capabilities: Invalid argument
Pipeline is PREROLLING…
Got context from element ‘autovideosink0’: gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)”(GstGLDisplayGBM)\ gldisplaygbm0";
WARNING: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Delayed linking failed.
Additional debug info:
gst/parse/grammar.y(540): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
failed delayed linking some pad of GstQTDemux named qtdemux0 to some pad of GstQueue named queue0
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:qtdemux0: Internal data stream error.
Additional debug info:
…/gst/isomp4/qtdemux.c(6749): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:qtdemux0:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …".

Despite all my research on the internet and the solutions I have tested, I can’t solve this problem. Please, can you help me solve this problem?
I thank in advance any contribution that helps me solve the problem.

Please use nveglglessink, The output of nvv4l2decoder is GPU memory, autovideosink is a element only work on CPU memory.

gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264 ! h264parse ! nvv4l2decoder ! nveglglessink

Thanks for your suggestion. But when I try your solution I get the following message as output:
“Setting pipeline to PAUSED …
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …”.

Do you have an explanation of what is not working and a solution that might help me?
Thanks in advance

Are you running the above command via ssh? x11-forward is not supported, run the following command first

export `cat /proc/*/environ 2>/dev/null | tr '\0' '\n' | grep '^DISPLAY=:' | uniq`

Yes, I am running the above command via ssh. I am connecting to AWS EC2 instance via ssh protocol and running all the commands on the EC2 instance.

When I run this command “export cat /proc/*/environ 2>/dev/null | tr '\0' '\n' | grep '^DISPLAY=:' | uniq” first, I get the following output:
declare -x DBUS_SESSION_BUS_ADDRESS=“unix:path=/run/user/1000/bus”
declare -x HOME=“/home/ubuntu”
declare -x LANG=“C.UTF-8”
declare -x LESSCLOSE=“/usr/bin/lesspipe %s %s”
declare -x LESSOPEN=“| /usr/bin/lesspipe %s”
declare -x LOGNAME=“ubuntu”
declare -x LS_COLORS=“rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:.tar=01;31:.tgz=01;31:.arc=01;31:.arj=01;31:.taz=01;31:.lha=01;31:.lz4=01;31:.lzh=01;31:.lzma=01;31:.tlz=01;31:.txz=01;31:.tzo=01;31:.t7z=01;31:.zip=01;31:.z=01;31:.dz=01;31:.gz=01;31:.lrz=01;31:.lz=01;31:.lzo=01;31:.xz=01;31:.zst=01;31:.tzst=01;31:.bz2=01;31:.bz=01;31:.tbz=01;31:.tbz2=01;31:.tz=01;31:.deb=01;31:.rpm=01;31:.jar=01;31:.war=01;31:.ear=01;31:.sar=01;31:.rar=01;31:.alz=01;31:.ace=01;31:.zoo=01;31:.cpio=01;31:.7z=01;31:.rz=01;31:.cab=01;31:.wim=01;31:.swm=01;31:.dwm=01;31:.esd=01;31:.jpg=01;35:.jpeg=01;35:.mjpg=01;35:.mjpeg=01;35:.gif=01;35:.bmp=01;35:.pbm=01;35:.pgm=01;35:.ppm=01;35:.tga=01;35:.xbm=01;35:.xpm=01;35:.tif=01;35:.tiff=01;35:.png=01;35:.svg=01;35:.svgz=01;35:.mng=01;35:.pcx=01;35:.mov=01;35:.mpg=01;35:.mpeg=01;35:.m2v=01;35:.mkv=01;35:.webm=01;35:.webp=01;35:.ogm=01;35:.mp4=01;35:.m4v=01;35:.mp4v=01;35:.vob=01;35:.qt=01;35:.nuv=01;35:.wmv=01;35:.asf=01;35:.rm=01;35:.rmvb=01;35:.flc=01;35:.avi=01;35:.fli=01;35:.flv=01;35:.gl=01;35:.dl=01;35:.xcf=01;35:.xwd=01;35:.yuv=01;35:.cgm=01;35:.emf=01;35:.ogv=01;35:.ogx=01;35:.aac=00;36:.au=00;36:.flac=00;36:.m4a=00;36:.mid=00;36:.midi=00;36:.mka=00;36:.mp3=00;36:.mpc=00;36:.ogg=00;36:.ra=00;36:.wav=00;36:.oga=00;36:.opus=00;36:.spx=00;36:.xspf=00;36:”
declare -x MOTD_SHOWN=“pam”
declare -x OLDPWD
declare -x PATH=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin”
declare -x PWD=“/home/ubuntu”
declare -x SHELL=“/bin/bash”
declare -x SHLVL=“1”
declare -x SSH_CLIENT=“165.225.21.54 10431 22”
declare -x SSH_CONNECTION=“165.225.21.54 10431 100.0.11.131 22”
declare -x SSH_TTY=“/dev/pts/0”
declare -x TERM=“xterm-256color”
declare -x USER=“ubuntu”
declare -x XDG_DATA_DIRS=“/usr/local/share:/usr/share:/var/lib/snapd/desktop”
declare -x XDG_RUNTIME_DIR=“/run/user/1000”
declare -x XDG_SESSION_CLASS=“user”
declare -x XDG_SESSION_ID=“1”
declare -x XDG_SESSION_TYPE=“tty”

And after, when I run the command “gst-launch-1.0 filesrc location=./my_file.mp4 ! h264parse ! nvv4l2decoder ! nveglglessink”, I get this output:
Setting pipeline to PAUSED …
Failed to query video capabilities: Invalid argument
Pipeline is PREROLLING …
Got context from element ‘eglglessink0’: gst.egl.EGLDisplay=context, display=(GstEGLDisplay)NULL;
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
WARNING: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: Could not decode stream.
Additional debug info:
…/gst/videoparsers/gsth264parse.c(1464): gst_h264_parse_handle_frame (): /GstPipeline:pipeline0/GstH264Parse:h264parse0:
Broken bit stream
ERROR: from element /GstPipeline:pipeline0/GstH264Parse:h264parse0: No valid frames found before end of stream
Additional debug info:
…/libs/gst/base/gstbaseparse.c(3672): gst_base_parse_loop (): /GstPipeline:pipeline0/GstH264Parse:h264parse0
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to NULL …
Freeing pipeline …

I run once again the command “gst-launch-1.0 filesrc location=./my_file.mp4 ! h264parse ! nvv4l2decoder ! nveglglessink” and I get this output:
Setting pipeline to PAUSED …
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …

It cannot be used in this way, either enter h264 or use qtdemux to process the mp4 container

gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nveglglessink

After test the command “gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/my_file.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nveglglessink”, I still get the same output as follow :
Setting pipeline to PAUSED …
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …

Did you set the DISPLAY variable? Each new ssh terminal needs to be set

Use GST_DEBUG=3 command, check the log

Yes, I set the DISPLAY variable with this command “export DISPLAY=:0”. I don’t know if I’m good or wrong with DISPLAY variable?

to check the log as you suggested, I run the following commands in a new ssh terminal:
export cat /proc/*/environ 2>/dev/null | tr '\0' '\n' | grep '^DISPLAY=:' | uniq
export DISPLAY=:0
export GST_DEBUG=3
gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/my_file.mp4 ! qtdemux ! h264parse ! nvv4l2decoder ! nveglglessink

And I get the output as follow:

Setting pipeline to PAUSED …
0:00:00.028313658 3245 0x5bb4b1fe5740 ERROR egladaption ext/eglgles/gstegladaptation_egl.c:160:gst_egl_adaptation_init_display: Could not init EGL display connection
0:00:00.028334739 3245 0x5bb4b1fe5740 ERROR egladaption ext/eglgles/gstegladaptation_egl.c:183:gst_egl_adaptation_init_display: EGL call returned error 3000
0:00:00.028339199 3245 0x5bb4b1fe5740 ERROR egladaption ext/eglgles/gstegladaptation_egl.c:185:gst_egl_adaptation_init_display: Couldn’t setup window/surface from handle
0:00:00.028348110 3245 0x5bb4b1fe5740 ERROR nveglglessink ext/eglgles/gsteglglessink.c:536:egl_init: Couldn’t init EGL display
0:00:00.028355250 3245 0x5bb4b1fe5740 ERROR nveglglessink ext/eglgles/gsteglglessink.c:562:egl_init: Failed to perform EGL init
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …

It seems that your GPU is not supported. L4 is a computing card and does not support display.

You can try another card, or stream as rtsp

OK, do you know of any nvidia document that summarizes the class of GPU cards that support display and which do not? If yes, can you share it with me please?
The idea for me is to know the right type of GPU card (that supports display) to use when instantiating EC2 on AWS.
Thanks in advance for your answer

Please, can you also give me the command to use for testing like stream as rtsp in order to use nvidia hardware-accelerators (like nvv4l2decoder for example) to decode an rtsp video stream?

There is no such link or table, you need to check the product specifications

gst-launch-1.0 filesrc location=/opt/nvidia/deepstream/deepstream/samples/streams/sample_720p.h264 ! h264parse ! nvv4l2decoder ! nvrtspoutsinkbin

Hello,
In order to test decoding an rtsp video stream, I installed first RTSP Test Server. I use this available url " * rtsp://localhost:8554/bars" to test RTSP Server installed.
for RTSP Server testing purpose, I use this recommended command on the site as follow and everything works well.
“export DISPLAY=:0
export GST_DEBUG=3
gst-launch-1.0 -v rtspsrc location=rtsp://localhost:8554/bars
! queue
! rtph264depay
! h264parse
! avdec_h264
! decodebin
! videoconvert
! videoscale
! video/x-raw,width=640,height=480
! autovideosink sync=false”.

When I replace in the previous command “avdec_h264” by “nvv4l2decoder”, It’s not working and I get the output as follow:
“Setting pipeline to PAUSED …
MESA-LOADER: failed to open simpledrm: /usr/lib/dri/simpledrm_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/x86_64-linux-gnu/dri:$${ORIGIN}/dri:/usr/lib/dri, suffix _dri)
kmsro: driver missing
0:00:00.068987836 1701 0x62396083e9a0 WARN v4l2 v4l2_calls.c:671:gst_v4l2_open: error: Could not open device ‘/dev/nvidia0’ for reading and writing.
0:00:00.069011909 1701 0x62396083e9a0 WARN v4l2 v4l2_calls.c:671:gst_v4l2_open: error: system error: No such file or directory
ERROR: from element /GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0: Could not open device ‘/dev/nvidia0’ for reading and writing.
Additional debug info:
v4l2_calls.c(671): gst_v4l2_open (): /GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0:
system error: No such file or directory
ERROR: pipeline doesn’t want to preroll.
0:00:00.069081334 1701 0x62396083e9a0 WARN videodecoder gstvideodecoder.c:2909:gst_video_decoder_change_state: error: Failed to open decoder
ERROR: from element /GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0: Could not initialize supporting library.
Additional debug info:
…/gst-libs/gst/video/gstvideodecoder.c(2909): gst_video_decoder_change_state (): /GstPipeline:pipeline0/nvv4l2decoder:nvv4l2decoder0:
Failed to open decoder
ERROR: pipeline doesn’t want to preroll.
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …”.

I have adapted also your last command as follows:
“export DISPLAY=:0
export GST_DEBUG=3
gst-launch-1.0 -v rtspsrc location=rtsp://localhost:8554/bars ! h264parse ! nvv4l2decoder ! nvrtspoutsinkbin”.
(I don’t know if I adapted it well or not?)

But when I try it, It’s not working and I get the following output:
*** dsnvrtspoutbin0: Launched RTSP Streaming at rtsp://localhost:8554/ds-test ***

0:00:00.043500791 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1004:gst_rtsp_server_create_socket:GstRTSPServer@0x6453b0658f10 failed to create socket
0:00:00.043516963 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1374:gst_rtsp_server_create_source:GstRTSPServer@0x6453b0658f10 failed to create socket
0:00:00.043533284 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1420:gst_rtsp_server_attach:GstRTSPServer@0x6453b0658f10 failed to create watch: Error binding to address 0.0.0.0:8554: Address already in use
Setting pipeline to PAUSED …
0:00:00.043702758 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1004:gst_rtsp_server_create_socket:GstRTSPServer@0x6453b0658f10 failed to create socket
0:00:00.043714079 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1374:gst_rtsp_server_create_source:GstRTSPServer@0x6453b0658f10 failed to create socket
0:00:00.043726110 1694 0x6453b024c160 ERROR rtspserver rtsp-server.c:1420:gst_rtsp_server_attach:GstRTSPServer@0x6453b0658f10 failed to create watch: Error binding to address 0.0.0.0:8554: Address already in use
0:00:00.043879022 1694 0x6453b024c160 WARN v4l2 v4l2_calls.c:671:gst_v4l2_open:<dsnvrtspoutbin0-video_encoder> error: Could not open device ‘/dev/v4l2-nvenc’ for reading and writing.
0:00:00.043889894 1694 0x6453b024c160 WARN v4l2 v4l2_calls.c:671:gst_v4l2_open:<dsnvrtspoutbin0-video_encoder> error: system error: No such file or directory
ERROR: from element /GstPipeline:pipeline0/GstDsNvRtspOutBin:dsnvrtspoutbin0/nvv4l2h264enc:dsnvrtspoutbin0-video_encoder: Could not open device ‘/dev/v4l2-nvenc’ for reading and writing.
Additional debug info:
v4l2_calls.c(671): gst_v4l2_open (): /GstPipeline:pipeline0/GstDsNvRtspOutBin:dsnvrtspoutbin0/nvv4l2h264enc:dsnvrtspoutbin0-video_encoder:
system error: No such file or directory
ERROR: pipeline doesn’t want to preroll.
0:00:00.043941558 1694 0x6453b024c160 WARN videoencoder gstvideoencoder.c:1797:gst_video_encoder_change_state:<dsnvrtspoutbin0-video_encoder> error: Failed to open encoder
ERROR: from element /GstPipeline:pipeline0/GstDsNvRtspOutBin:dsnvrtspoutbin0/nvv4l2h264enc:dsnvrtspoutbin0-video_encoder: Could not initialize supporting library.
Additional debug info:
…/gst-libs/gst/video/gstvideoencoder.c(1797): gst_video_encoder_change_state (): /GstPipeline:pipeline0/GstDsNvRtspOutBin:dsnvrtspoutbin0/nvv4l2h264enc:dsnvrtspoutbin0-video_encoder:
Failed to open encoder
ERROR: pipeline doesn’t want to preroll.
Failed to set pipeline to PAUSED.
Setting pipeline to NULL …
Freeing pipeline …

Given these different error messages that I get, do you have any idea what could help me to fix the issue?

As a reminder, my goal remains the same, use nvidia hardware-accelerators (like nvv4l2decoder for example) to decode an rtsp video stream

Both command lines are wrong, they won’t work, not even for avdec_h264

Use nvv4l2decoder

gst-launch-1.0 -e rtspsrc location=rtsp://xxxxx ! application/x-rtp, media=video, encoding-name=H264 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! nvrtspoutsinkbin

Use decodebin

gst-launch-1.0 -e rtspsrc location=rtsp://xxx  ! application/x-rtp, media=video, encoding-name=H264 ! queue ! rtph264depay ! decodebin ! nvrtspoutsinkbin

Simple use of uridecodebin

gst-launch-1.0 -e uridecodebin uri=rtsp://xxxx ! nvrtspoutsinkbin

The above three command lines have the same function. After deepstream is correctly installed, nvv4l2decoder will be used.

Thank you very much, I tested the commands and it finally worked. But I still have another question. I would like to use this commands in a python file with openCV for decoding. I think to do that I need to first remove “gst-launch-1.0 -e” in the command and change “nvrtspoutsinkbin” to “appsink”. which would give for example this pipeline = “rtspsrc location=rtsp://xxxxx ! application/x-rtp, media=video, encoding-name=H264 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! appsink” to use in a python file instead of “gst-launch-1.0 -e rtspsrc location=rtsp://xxxxx ! application/x-rtp, media=video, encoding-name=H264 ! queue ! rtph264depay ! h264parse ! nvv4l2decoder ! nvrtspoutsinkbin”. I would like to know if I am right or if I am completely wrong?
Thanks in advance for your feedback

The decoded data is in the video memory and needs some conversion

Refer to this topic.

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

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