Debugging video jerking problem

Wolfgang Grandegger wg at grandegger.com
Thu Dec 6 13:59:49 UTC 2018


Hello,

I'm currently debugging a jerking problem. When I move from 50 to 60
FPS, the displayed video starts jerking. Just a little bit but it's
clearly visible when the camera pans. Here is my pipeline:

         gst-launch-1.0 -v \
          udpsrc port=50004 buffer-size=180000000 do-timestamp=1 \
            caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, \
            encoding-name=(string)JPEG, payload=(int)26, framerate=(fraction)60/1" \
          ! rtpjitterbuffer latency=20 \
          ! rtpjpegdepay \
          ! vaapijpegdec \
          ! timeoverlay text="A Text ..."
          ! tee name=t
          t. ! queue ! vaapisink
          t. ! queue ! vaapih264enc ! mp4mux ! filesink location=/tmp/test.mp4

I have connected a signal for under- and overruns to both, the display and
record queue. What I see when the jerking starts is that I get underruns
on the display (vaapisink) queue. Does that mean that the packets do not
arrive in time due to pre-processing time? The jerking goes away if I remove
the tee for recording or run the video at just 50 FPS.
Any ideas what could cause the jerking and how it can be debugged or even
avoided?

Any help is appreciated.

Thanks,

Wolfgang.


More information about the gstreamer-devel mailing list