<div dir="ltr">Thanks Nicolas for the response. I'm trying to avoid using fpsdisplaysink because i want to measure fps just after the source of the pipeline (and not the sink). Additionally, I want to be able to get the FPS via a property which fpsdisplaysink doesn't support.<div><br></div><div>Matt</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Mar 17, 2023 at 10:01 AM Nicolas Dufresne <<a href="mailto:nicolas@ndufresne.ca">nicolas@ndufresne.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div>Le jeudi 16 mars 2023 à 17:43 -0400, Matt Feury via gstreamer-devel a écrit :</div><blockquote type="cite" style="margin:0px 0px 0px 0.8ex;border-left:2px solid rgb(114,159,207);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:0px 0px 0px 0.8ex;border-left:2px solid rgb(114,159,207);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></div>
</blockquote></div>