Frame drop when playing RTP stream using SDP file

Tim Müller tim at centricular.com
Wed May 18 13:18:48 UTC 2016


On Wed, 2016-05-18 at 11:51 +0530, Anuj Pahuja wrote:

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