Tracing framerate

Wolfgang Grandegger wg at grandegger.com
Tue Mar 26 14:27:06 UTC 2019


Hello,

I'm currently playing with the "framerate" tracer from GstShark using
the following 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)50/1" 
   ! rtpjitterbuffer latency=20 
   ! rtpjpegdepay 
   ! vaapijpegdec 
   ! vaapipostproc
   ! clockoverlay text="text text text text text text text text text text" shaded-background=true 
   ! tee name=t
   t. ! queue ! vaapisink
   t. ! queue ! vaapih264enc ! mp4mux ! filesink location=/tmp/test.mp4

The GstShark "framerate" tracer reports:

 framerate, pad=(string)udpsrc0_src, fps=(uint)11608;
 framerate, pad=(string)rtpjitterbuffer0_src, fps=(uint)11840;
 framerate, pad=(string)rtpjpegdepay0_src, fps=(uint)50;
 framerate, pad=(string)vaapidecode_jpeg0_src, fps=(uint)34;
 framerate, pad=(string)vaapipostproc0_src, fps=(uint)34;
 framerate, pad=(string)clockoverlay0_src, fps=(uint)35;
 framerate, pad=(string)t_src_0, fps=(uint)35;
 framerate, pad=(string)queue0_src, fps=(uint)35;
 framerate, pad=(string)t_src_1, fps=(uint)35;
 framerate, pad=(string)queue1_src, fps=(uint)35;
 framerate, pad=(string)vaapiencodeh264_0_src, fps=(uint)34;
 framerate, pad=(string)mp4mux0_src, fps=(uint)34;

As you can see, the framerate after the rtpjitterbuffer is 50 Hz,
but for the sub-sequent elements only 35.
What happens to the missing frames? Are they dropped silently?
How can the app report dropped frames?
BTW: the displayed video still looks good.

If I use a shorter text for the "clockoverlay" element, e.g. just
"text", then the framerate for the sub-sequent elements is approx. 50.
Does that mean, that the "clockoverlay" element throttles the whole
pipeline?


Wolfgang.


More information about the gstreamer-devel mailing list