Tcpclientsink streaming video to other device via WIFI failed

Hi
I am not good at gstreamer.
This is my code running at Jetson nano to stream to other device which IP address is 192.168.18.18.

gst-launch-1.0 v4l2src device=/dev/video0 \
! "video/x-raw, format=(string)UYVY, width=(int)2592, height=(int)1944,framerate=24/1" \
! nvvidconv \
! "video/x-raw(memory:NVMM),format=(string)I420" \
! nvv4l2h264enc maxperf-enable=true insert-vui=true insert-sps-pps=1 bitrate=10000000 \
! h264parse \
! rtph264pay \
! tcpclientsink host=192.168.18.18 port=38298 sync=false

Below is the gstreamer code running at Windows 10

gst-launch-1.0 -v tcpserversrc host=192.168.18.18 port=38298 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=(string) H264, payload = 96 ! rtph264depay ! queue ! avdec_h264 ! fpsdisplaysink sync = false

This is the error message from Jetson nano terminal
Screenshot from 2021-06-10 17-27-21

This is the error info from Windows 10

Would you please let me know what’s wrong with it and how sort it out?
Thanks

CX

RTP relies on UDP packetization, it would not work with TCP.

You may try another container such as gdp:
Receiver:

gst-launch-1.0 -v tcpserversrc host=192.168.18.18 port=38298 ! gdpdepay ! h264parse ! avdec_h264 ! fpsdisplaysink text-overlay=0

Sender (Jeston):

gst-launch-1.0 -v v4l2src device=/dev/video0 ! "video/x-raw, format=(string)UYVY, width=(int)2592, height=(int)1944,framerate=24/1" ! nvvidconv ! "video/x-raw(memory:NVMM),width=2592,height=1944,framerate=24/1,format=I420" ! nvv4l2h264enc maxperf-enable=true insert-vui=true insert-sps-pps=1 bitrate=10000000 ! h264parse ! gdppay ! tcpclientsink host=192.168.18.18 port=38298 sync=false

Thank you very much for your kind support.
The one you suggested works with a minor issue of the frame rate is varies too much especial at the start up. Please look at the frame rate (y axis) vs frame rendered (x axis) chart below
image

I removed the gdppay and gdpdepay on the script. It works better than with gdppay / gdpdepay comparing the frame rate vs frame rendered. look at the chart below:
image

Why the gdppay / gdpdepay resulted the frame rate varies significantly? what is major function of gdppay /gdpdepay?
Thanks

CX

Further test found, after 5 minutes later

WARNING: from element /GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstAutoVideoSink:fps-display-video_sink/GstD3DVideoSink:fps-display-video_sink-actual-sink-d3dvideo: A lot of buffers are being dropped.
Additional debug info:
../libs/gst/base/gstbasesink.c(3005): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstFPSDisplaySink:fpsdisplaysink0/GstAutoVideoSink:fps-display-video_sink/GstD3DVideoSink:fps-display-video_sink-actual-sink-d3dvideo:
There may be a timestamping problem, or this computer is too slow.

This issue applied to with and without gdppay /gdpdepay. but more frequently occured at the script I removed gdppay /gdpdepay.
I don’t think my computer is too slow as it is Intel core i7 8th gen CPU with Nivideo GeForce GTX graphic card and 16 GB RAM. Is it the timestamping problem. How can I fix it?
Thanks

CX

You may try matroskamux/matroskademux instead of gdppay/gdpdepay, or both (matrsokamux → gdppay / gdpdepay → matroskademux).