Gstreamer TCPserversink 2-3 seconds latency

Hi DaneLLL, thanks for fast reply,

It should be gst-inspect-1.0 .

It works, thanks.

  1. gst-launch-1.0 videotestsrc in UDP
    It works great, I have like 20ms latency.

  2. gst-launch-1.0 videotestsrc in TCP
    Please, correct me if i’m wrong : I have to specify the IP address of my NX, do I use tcpclientsrc or tcpserversrc :

gst-launch-1.0 tcpserversrc host=NX.Address.IP port=5000 ! 'application/x-rtp,encoding-name=H264,payload=96' ! rtph264depay ! avdec_h264 ! xvimagesink sync=0

I don’t receive image with this.
Transmitter pipeline (NX) :

gst-launch-1.0 videotestsrc is-live=1 ! video/x-raw,width=1280,height=720 ! timeoverlay valignment=4 halignment=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1280,height=720' ! tee name=t ! nvv4l2h264enc insert-sps-pps=1 idrinterval=15 ! h264parse ! rtph264pay ! tcpserversink host=NX.Address.IP port=5000 sync=0 t. ! queue ! nvegltransform ! nveglglessink sync=0
  1. gst-launch-1.0 OpenCV in UDP
std::string gst_out = "appsrc ! video/x-raw,width=1920,height=1080 ! videoconvert ! timeoverlay valignment=4 halignment=1 ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1920,height=1080' ! tee name=t ! nvv4l2h264enc insert-sps-pps=1 idrinterval=15 ! h264parse ! rtph264pay ! udpsink host=PC.Address.IP port=5000 sync=0 t. ! queue ! nvegltransform ! nveglglessink sync=0

It works with 0-20ms latency (calculated with a few photo) notice the videoconvert, otherwise it wouldn’t push frame to the pipeline.
I also get some frame all blurred, it doesn’t happen too often thought, it can come from so much things, do you have any idea about this ?
So, it appears that the latency came from tcpserversink.

Thank you so much DaneLLL !

1 Like