<html><head></head><body><div>Le jeudi 16 mars 2023 à 17:43 -0400, Matt Feury via gstreamer-devel a écrit :</div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr">hello all,<div><br></div><div>i am attempting to measure FPS of a source stream (e.g. rtsp or hls). I am currently using an identity element immediately after the source element (e.g. rtspsrc -> identity -> decodebin -> fakesink). Using the handoff signal on identity, I am able to get a good calculation of buffers per second.</div><div><br></div><div>However, it seems that this value is not always 1:1 with frames per second. It very frequently is on stable streams (e.g. I often see 29-31 buffers/sec on a 30fps stream). However, on streams with intermittent connectivity, it doesn't seem to tell the whole story.</div><div><br></div><div>I've seen fpsdisplaysink which actually works really well (I am able to see "real" fps values that are dynamically changing as the pipeline plays). However, a) I don't want to measure the fps at the sink (i have a tee'd pipeline with multiple sinks and more interesting in measuring source fps than that of my pipeline) and b) this element seems to just overlay it – ideally i would be able to get the average "recent" fps as a property.</div></div></blockquote><div><br></div><div>Just set sync=false on fps display sink, and it will include the source jitter. I strongly recommend using fakevideosink for that, as it will avoid software copies with HW decoders.</div><div><br></div><blockquote type="cite" style="margin:0 0 0 .8ex; border-left:2px #729fcf solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>I've seen ridgerun's gst-perf element, but that only seems to log values.</div><div><br></div><div>Is there a recommended approach to monitoring "real" FPS of an incoming live stream? Ideally using identity, but open to other options.</div><div><br></div><div>Thanks,</div><div>Matt</div></div></blockquote><div><br></div><div><span></span></div></body></html>