Video drop issue from rtpjitterbuffer and xvimagesink

Krishnamoorthy krishnamoorthy.arunachalam at gmail.com
Wed May 31 10:59:37 UTC 2017


I am using the below gstreamer filter path to decode and display the h.264
video. It is streaming application.

gst-launch-1.0 rtspsrc location=rtsp://<IP Address>:554/MediaINput/h264
latency=50 protocols=3 ! rtpjitterbuffer latency=200 drop-on-latency=false !
rtph264depay ! avdec_h264 ! xvimagesink

This filter path is not working for the below use case. I found continuous
drop in video frames.

1) When the packets arrived with delay. And the delay is not uniform between
packets. 
I found the rtpjitterbuffer continuously dropping the video packets.

---------------------
I checked with enabling the gstreamer logs and found continuous packet drops
0:00:11.071297582 17238 0xb2e0eac0 WARN         rtpjitterbuffer
gstrtpjitterbuffer.c:2160:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer1>
Packet #20413 too late as #20416 was already popped, dropping
0:00:12.068382413 17238 0xb2e0eac0 WARN         rtpjitterbuffer
gstrtpjitterbuffer.c:2160:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer1>
Packet #20526 too late as #20530 was already popped, dropping
0:00:12.544864153 17238 0xb2e0eac0 WARN         rtpjitterbuffer
gstrtpjitterbuffer.c:2160:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer1>
Packet #20582 too late as #20584 was already popped, dropping
---------------------
But this is OK. since the packets are delayed. It is expected by gstreamer
to drop it.



But, after around 20 seconds, the video packets are reaching without any
delay.
But, still the gstreamer is dropping the video frames.

I found this time, the video frames are dropped by xvimagesink filter with
the below reason.
---------------------
WARNING: from element /GstPipeline:pipeline0/GstXvImageSink:xvimagesink0: A
lot of buffers are being dropped.
Additional debug info:
gstbasesink.c(2791): gst_base_sink_is_too_late ():
/GstPipeline:pipeline0/GstXvImageSink:xvimagesink0:
There may be a timestamping problem, or this computer is too slow.
---------------------


And, the main concerns is
1) I understand the packet drop from  rtpjitterbuffer when packets are
delayed.
2) But, after around 20 sec, the packets are not delayed. But, still
gstreamer is dropping the frames.

Could any one please suggest on how to address this condition.


I tried the below option.
1) sync=false in xvimagesink
With this the my application is able to handle the use case. But, end with
out of sync between multiple video feed.

2) Increased the Latency in jitterbuffer from 200ms to 1000ms
It also resolve the problem. But it introduce the delay. 

Is there any way to resolve without delay or out of sync issue.





--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Video-drop-issue-from-rtpjitterbuffer-and-xvimagesink-tp4683165.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list