Frame drop when playing RTP stream using SDP file

Camera.Geomatics at leica-geosystems.com Camera.Geomatics at leica-geosystems.com
Thu Jun 2 05:57:51 UTC 2016


Hi

As mentioned by Tim, I tried the pipeline with the queues and a 
buffer-size of 10MB.

Client:
gst-launch-1.0 v4l2src device=/dev/video0 ! 
"video/x-raw,width=640,height=480,format=GRAY8" ! queue ! videoconvert ! 
video/x-raw,width=640,height=480,format=I420 ! rtpvrawpay ! queue ! 
udpsink host=192.168.2.110 port=5004

Server:
gst-launch-1.0 udpsrc buffer-size=10000000 port=5004 ! queue ! 
"application/x-rtp,media=(string)video, clock-rate=(int)90000, 
encoding-name=(string)RAW,samp
ling=(string)YCbCr-4:2:0, depth=(string)8, 
width=(string)640,height=(string)480, colorimetry=(string)BT601-5, 
payload=(int)96" ! rtpjitterbuffer ! rtpvrawdepay ! videoconvert ! 
autovideosink

The video freezes after 3 frames. I rare cases, a frame will come through. 
I'm using a 1 Gigabits connection without a switch in between.

What else can I try to get the stream running?

blad




-----------------------


> Hi,
> 
> > Results:
> > 1. When I don't use rtpjitterbuffer, there are no lacerations in the
> > video or video tearing, but the sink displays a still frame in 70% of
> > the window, and a continuous video stream on 30% of the sink window.
> > I thought that was a sink issue and tested it out on a custom
> > appsink, which converts it to RGB and renders it onto a Qt display.
> > This improved the video a lot. I got a continuous stream with minor
> > data loss which is tolerable I think in case of RTP/UDP, but I'm not
> > entirely sure if even that should be there. This was the best result
> > that I got. 
> > 
> > 2. There is a lot of video tearing (maybe because of data loss) using
> > rtpjitterbuffer. It plays for some time but eventually stops the
> > stream completely.
> > 
> > 3. Then I tried increasing buffer-size of udpsrc to 100, 1000, 50000
> > but I'm getting green lines on most of the video. 
> > 
> > Is there anything wrong in the pipelines I'm using? Is there a
> > working example of multicast send and receive using rtpvrawpay/depay
> > or using sdp file? Appreciate any help on this!
> 
> These buffer-size values are waaaay too small. You want them as big as
> possible, try multiple MB.
> > 
> You may also need to do something like this:
> 
> sudo /sbin/sysctl -w net.core.rmem_max=33554432
> sudo /sbin/sysctl -w net.core.wmem_max=33554432
> 
> to allow larger values for the udp send/receive buffers.
> 
> On the sender side I would also recommend a queue between payloader and
> udpsink, and v4l2src and the converters/payloader.
> 
> On the receiver side I would also recommend a queue right after udpsrc
> if there's no jitterbuffer (make it unlimited with queue max-size-
> bytes=0 max-size-buffers=0 max-size-time=0).
> 
> Cheers
>  -Tim
> 
> -- 
> Tim Müller, Centricular Ltd - http://www.centricular.com



More information about the gstreamer-devel mailing list