Skipped frames when displaying RTP / H.264 stream

jean-philippe jean_philippe_arnaud at yahoo.fr
Tue Feb 4 17:50:25 UTC 2020


Update.

I've managed to narrow the problem down to the 'rtph264pay' and/or
'rtph264depay' elements.

With the following pipeline measures a framerate of 29.77Hz which
corresponds to 1 frame being lost every 128 frames:

videotestsrc is-live=true !
video/x-raw,width=640,height=480,format=I420,framerate=30/1 ! queue !
vpuenc_h264 ! queue ! rtph264pay ! queue ! rtph264depay ! fpsdisplaysink
text-overlay=false video-sink=fakesink sync=false

With either of the following pipelines, the framerate is 30Hz:

videotestsrc is-live=true !
video/x-raw,width=640,height=480,format=I420,framerate=30/1 ! queue ! 
rtpvrawpay ! queue ! rtpvrawdepay ! fpsdisplaysink text-overlay=false
video-sink=fakesink sync=false

videotestsrc is-live=true !
video/x-raw,width=640,height=480,format=I420,framerate=30/1 ! queue !
vpuenc_h264 ! queue ! fpsdisplaysink text-overlay=false video-sink=fakesink
sync=false

I've run the same tests on my Ubuntu 18.04 with x264enc, and got 30Hz for
all configurations.

Could this be showing a problem rtph264pay? I'll be looking at the code in
details tomorrow.

And/or the H.264 stream produced from the i.MX8MM VPU encoder is not 'right'
and rtph264pay as a result drops some data. So far the only strange thing I
have noticed is that the coded slices that correspond to he location of the
problem have a slice_qp_delta that is a very smaller negative number (-1906
and -1842) whereas other slices have values around 0 (1, 2, ...). I'll be
looking into what this means tomorrow.

If any of this rings a bell for anyone, please drop me a line. Could save me
day or weeks of analysis / debugging. 

Anyone here doing live streaming from NXP's i.MX8MMini?



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list