udpsink or udpsrc loosing data

Nicolas Dufresne nicolas.dufresne at gmail.com
Fri Nov 25 14:49:58 UTC 2016


Le vendredi 25 novembre 2016 à 05:30 -0800, Holger a écrit :
> ksvideosrc device-index=0 \
> !  videoscale method=0 add-borders=false !
> video/x-raw,width=$WIDTH,height=$HEIGHT ! videoconvert \
> ! x264enc tune=zerolatency rc-lookahead=0 intra-refresh=true
> sync-lookahead=0 speed-preset=1 ! h264parse \
> ! rtph264pay  ! udpsink   host=$DST_IP  port=$DST_PORT

You should adapt the bitrate on the encoder to control the quality.

> 
> Client:
> $GL udpsrc port=$DST_PORT ! application/x-rtp, payload=96  !
> rtph264depay  !
> h264parse \
> ! avdec_h264  ! glimagesink sync=false

You should use rtpjitterbuffer on the receiving side.

> 
> The quality on the client side is very bad, it seems that many
> packages are
> lost (bitrate is about 2Mbit - x264enc default). If I start server
> and
> client on the same machine, the quality is much better but there are
> still
> image errors.
> 
> If I don't use udpsrc / sink and do everything in one pipeline, the
> image
> quality is good.

It's the lack of a jitterbuffer that causes this really.

Nicolas


More information about the gstreamer-devel mailing list