Why the 4-second latency difference with this pipeline (udpsrc+tee+tcpserversink+hlssink)?

solo_juan solo_juan at gmx.com
Sun Jun 28 16:21:44 UTC 2020


Hi,

My pipeline at the receiver is the following:

gst-launch-1.0 \
 udpsrc caps="application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, width=(string)1280,height=(string)720,
a-framerate=(string)15, profile=(string)high" port=12004 buffer-size=212992
! \
 rtpjitterbuffer ! \
 rtph264depay ! \
 h264parse config-interval=1 ! \
 video/x-h264,profile=high ! \
 tee name=tsplit tsplit. ! \
 queue !  tcpserversink port=7004 host=localhost recover-policy=keyframe
sync-method=latest-keyframe tsplit. ! \
 queue ! mpegtsmux ! hlssink max-files=10 playlist-length=5
target-duration=5 playlist-root=//localhost:8080/playlist/
location=/video/segment%05d.ts
playlist-location=/video/playlist/playlist.m3u8

When I create a TCP connection I get the following end-to-end latencies:

Sender sends 1280x720, 25 fps, 6500000 bps (bitrate): the latency at the
receiver is 5 seconds (the video is fluid at 25 fps).

Sender sends 1280x720, 15 fps, 3500000 bps (bitrate): the latency at the
receiver is 1 seconds (the video is fluid at 15 fps).

Why is the difference 4 seconds?

With this other pipeline in the receiver, I've checked that the latency is
less than 300 milliseconds.

gst-launch-1.0 \
 udpsrc caps="application/x-rtp, media=(string)video, clock-rate=(int)90000,
encoding-name=(string)H264, width=(string)1280,height=(string)720,
a-framerate=(string)15, profile=(string)high" port=12000 buffer-size=825984
! \
 rtpjitterbuffer ! \
 rtph264depay ! \
 avdec_h264 ! \
 queue !  \
 fpsdisplaysink sync=false


thanks you.
cheers.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list