RTSP Video Output Gstreamer Error: no element "nvv4l2h264"

I am getting the following error when trying to run RTSP output from OpenCV: [ WARN:0] global …/modules/videoio/src/cap_gstreamer.cpp (1424) open OpenCV | GStreamer warning: error opening writer pipeline: no element “nvv4l2h264”
Failed to open output

I have referenced the code in the following link: OpenvCV, Gstreamer, Python camera capture/access and streaming to RTP

My platform is Nvidia ORIN AGX 64GB

My goal is simply to take a webcam input and route it out to a RTSP link. Thanks in advance for your time.

Hi,
We support jetson_multimedia_api and gstreamer. Please make sure you have checked the document:
https://docs.nvidia.com/jetson/archives/r36.3/DeveloperGuide/SD/Multimedia.html
https://docs.nvidia.com/jetson/archives/r36.3/ApiReference/index.html
There are some examples in

Q: Is there any example of running RTSP streaming?
Q: Is there an example for running UDP streaming?
Q: I have a USB camera. How can I launch it on AGX Orin?

For further issues, please share a method to replicate the issue through gstreamer command, or either sample. We will set up developer kit and check.

Thanks!

Hi,
Even when I use the following command in the CLI:
gst-launch-1.0 nvarguscamerasrc !
‘video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080,
format=(string)NV12, framerate=(fraction)30/1’ ! nvv4l2h264enc !
bitrate=8000000 ! h264parse ! qtmux ! filesink
location=<filename_h264.mp4> -e

I still get the encoder error. It is like gstreamer is not acknowledging any available encoders.

WARNING: erroneous pipeline: no element “nvv4l2h264enc”

Hi,
If you use Jetpack 6, please run the commands

Accelerated GStreamer — NVIDIA Jetson Linux Developer Guide 1 documentation

and see whether the plugins are present.

Thanks DaneLLL. I was using an earlier version of Jetpack so it was gstreamer-1.0 instead of the l4t-gstreamer.

I got your code your run without error now. The camera is open and running but the issue that I am running into is that I cannot see the video stream through VLC on another network device.

Hi,
Does this UDP setup work?
Jetson AGX Orin FAQ

Would like to clarify if the failure only occurs in RTSP.

Getting this output:
WARNING: erroneous pipeline: no element “avdec_h264” on the x86 machine

UDP works on the receiving machine with the following command from your post:
gst-launch-1.0 videotestsrc is-live=1 ! video/x-raw,width=1280,height=720,format=I420 ! timeoverlay valignment=4 halignment=1 ! nvvidconv ! ‘video/x-raw(memory:NVMM),width=1280,height=720’ ! nvv4l2h264enc insert-sps-pps=1 idrinterval=15 ! h264parse ! mpegtsmux ! udpsink host=/x86 receive ip/ port=5000 sync=0

Hi,
Do you mean you can run this on AGX Orin device:

$ gst-launch-1.0 videotestsrc is-live=1 ! video/x-raw,width=1280,height=720,format=I420 ! timeoverlay valignment=4 halignment=1 ! nvvidconv ! ‘video/x-raw(memory:NVMM),width=1280,height=720’ ! nvv4l2h264enc insert-sps-pps=1 idrinterval=15 ! h264parse ! mpegtsmux ! udpsink host=/x86 receive ip/ port=5000 sync=0

But this command fails on x86 host PC:

$ gst-launch-1.0 udpsrc port=5000 ! 'application/x-rtp,encoding-name=H264,payload=96' ! rtph264depay ! avdec_h264 ! xvimagesink sync=0

Correct, but the command you used on in this comment for the ORIN fails. The following command works on the ORIN:

gst-launch-1.0 videotestsrc is-live=1 ! video/x-raw,width=1280,height=720,format=I420 ! timeoverlay valignment=4 halignment=1 ! nvvidconv ! ‘video/x-raw(memory:NVMM),width=1280,height=720’ ! nvv4l2h264enc insert-sps-pps=1 idrinterval=15 ! h264parse ! mpegtsmux ! udpsink host=192.168.1.65 port=5003 sync=0

The host PC can receive this video through VLC just not through the command you have posted.

Hi,
Probably the x86 machine misses some gstreamer packages so avdec_h264 plugin is absent. May use VLC player to try RTSP:
Jetson AGX Orin FAQ

Please try to run RTSP server through test-launch on AGX Orin device and use VLC player to decode it on x86 machine. This is supposed to work since UDP works.