Frame drop when playing RTP stream using SDP file
Anuj Pahuja
kamikazeanuj at gmail.com
Wed May 11 09:44:00 UTC 2016
I tried v4l2src once again with rtpjitterbuffer and it seems to work better
now. I'm not sure why it wasn't working before. But the problem
with playing sdp file using sdpdemux still persists. Video tearing and
packet loss is still happening when playing using sdpdemux for a v4l2src.
On Wed, May 11, 2016 at 2:44 PM, Anuj Pahuja <kamikazeanuj at gmail.com> wrote:
>
> On Wed, May 11, 2016 at 1:54 PM, Sebastian Dröge <
> sebastian at centricular.com> wrote:
>
>> On Mi, 2016-05-11 at 13:09 +0530, Anuj Pahuja wrote:
>> > I tried using a V4L2 stream instead of a custom appsrc. I'm still
>> > facing the same issue (frame drop/video tearing) while using sdpdemux
>> > or rtpjitterbuffer with my receiver's pipeline. No issue when
>> > rtpjitterbuffer is not there. Here are the pipelines I'm using:
>> >
>> > Sender side:
>> > gst-launch-1.0 v4l2src device=/dev/video0 ! videoscale ! videoconvert
>> > ! video/x-raw, width=720, height=576, format=UYVY ! rtpvrawpay !
>> > udpsink host=239.192.1.6 port=5004 -v
>> >
>> > Receiver's side:
>> > gst-launch-1.0 udpsrc address=239.192.1.6 port=5004 ! "application/x-
>> > rtp, media=(string)video, clock-rate=(int)90000, encoding-
>> > name=(string)RAW, sampling=(string)YCbCr-4:2:2, depth=(string)8,
>> > width=(string)720, height=(string)576, colorimetry=(string)BT601-5,
>> > payload=(int)96" ! rtpjitterbuffer ! rtpvrawdepay ! videoconvert !
>> > autovideosink
>> >
>> > As you said, there must be a problem in the stream if it isn't
>> > working with rtpjitterbuffer. Could you suggest what might be the
>> > possible issues on the sender's side here?
>>
>> Can you also reproduce it with a videotestsrc, e.g. when using
>> videotestsrc ! "video/x-raw,width=720,height=576" ! ...
>> ?
>>
>
> Yes, I can reproduce it with videotestsrc also.
>
>
>>
>> The logs you get with GST_DEBUG=3,rtpjitterbufer:6 might also be
>> useful.
>>
>
> I got a lot of debug messages after enabling that. Here's a bit of that:
>
> 0:00:05.729438230 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 357, 1,
> 33662, 0:00:01.626756110
> 0:00:05.729438230 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 358, 1,
> 33663, 0:00:01.626756357
> 0:00:05.729446434 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 359, 1,
> 33664, 0:00:01.626756604
> 0:00:05.729454907 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 360, 1,
> 33665, 0:00:01.626756851
> 0:00:05.729463187 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 361, 1,
> 33666, 0:00:01.626757098
> 0:00:05.729471554 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 362, 1,
> 33667, 0:00:01.626757345
> 0:00:05.729479770 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 363, 1,
> 33668, 0:00:01.626757592
> 0:00:05.729488141 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3294:do_lost_timeout:<rtpjitterbuffer0> Packet #33656
> lost
> 0:00:05.729500432 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:1948:remove_timer:<rtpjitterbuffer0> removed index 351
> 0:00:05.729509156 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3416:wait_next_timeout:<rtpjitterbuffer0> now
> 0:00:05.702634355
> 0:00:05.729517244 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 0, 1, 34019,
> 0:00:01.626844289
> 0:00:05.729525904 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3450:wait_next_timeout:<rtpjitterbuffer0> new best 0
> 0:00:05.729532770 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 1, 1, 34018,
> 0:00:01.626844042
> 0:00:05.729541166 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3450:wait_next_timeout:<rtpjitterbuffer0> new best 1
> 0:00:05.729547959 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 2, 1, 34017,
> 0:00:01.626843795
> 0:00:05.729556229 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3450:wait_next_timeout:<rtpjitterbuffer0> new best 2
> 0:00:05.729563019 6615 0x1f8e0a0 DEBUG rtpjitterbuffer
> gstrtpjitterbuffer.c:3425:wait_next_timeout:<rtpjitterbuffer0> 3, 1, 34016,
> 0:00:01.626843548
>
> I'm assuming it's losing some packets. Can some more sense be made out of
> the logs?
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160511/efc7652f/attachment-0001.html>
More information about the gstreamer-devel
mailing list