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