Gstreamer: No RTP protocol present

Marc Leeman marc.leeman at gmail.com
Tue Dec 21 08:03:33 UTC 2021


> I am having some issues with the following gstreamer command
>
> Sender (on embeeded system)
> gst-launch-1.0 videotestsrc ! video/x-raw, width=6400, height=480 ! queue ! vpuenc_h264 ! rtph264pay ! udpsink host=192.168.60.5 port=5555
>
> Receiver(on windows)
> gst-launch-1.0 udpsrc port=5555 ! queue ! rtph264depay  ! decodebin  ! autovideosink

Your caps are not set correctly.

If you want to use RTP and your GStreamer is recent enough; use
rtpsrc/rtpsink.

At the moment, you are using UDP with an RTP header and are missing the
the RTCP part that transfers (amongst others) the timing information
from the sender to the receiver. Especially when you're using audio on
non-time synced devices; this will be a problem.

In your case (even port)

gst-launch-1.0 videotestsrc \
  ! video/x-raw,width=640,height=480 \
  ! queue \
  ! vpuenc_h264 \
  ! rtph264pay \
  ! rtpsink uri=rtp://192.168.80.5:5554

gst-launch-1.0 rtpsrc uri=rtp://0.0.0.0:5554?encoding-name=H264 \
  ! queue \
  ! rtph264depay \
  ! decodebin \
  ! autovideosink

rtpsrc/rtpsink does a lookup of the caps based on the encoding-name

Note that you'll need GStreamer >= 1.18

--
g. Marc


More information about the gstreamer-devel mailing list