Hi Folks,
I'm trying to get ultra low video-streaming latency on the local machine.
With udpsink & udpsrc elements the latency is less than 20ms. With
tcpserversink and tcpclientsrc the latency is more than 300ms.
I have a c++ application where I'm able to see the latecy.
My pipelines look like this:
# udp streamer & receiver on local machine
gst-launch-1.0 -v videotestsrc is-live=true ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! rtph264pay ! udpsink host=127.0.0.1 port=5000
gst-launch-1.0 -v udpsrc port=5000 caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! rtph264depay ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
# tcp streamer and receiver on local machine
gst-launch-1.0 -v videotestsrc is-live=true ! x264enc tune=zerolatency bitrate=500 speed-preset=superfast ! tcpserversink host=127.0.0.1 port=5000
gst-launch-1.0 -v tcpclientsrc port=5000 ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
How I can get smaller latency with tcp. It seems that tcpserversink has
local buffering which causes the latency. Is it possible to turn it off?
I've tried:
unit-format=buffers units-max=1 buffers-max=1 but it didn't help. Any other
clue why we see the latency on the local machine?
--
Sent from:
http://gstreamer-devel.966125.n4.nabble.com/_______________________________________________
gstreamer-devel mailing list
gstreamer-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel