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