AW: Measure element latency

Thornton, Keith keith.thornton at zeiss.com
Thu Jun 6 05:28:23 UTC 2019


Hi,
I check the pipeline latency using a method similar to your last suggestion. If you define your own metadata, nobody is going to change it.

Von: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> Im Auftrag von Taoming Huang
Gesendet: Mittwoch, 5. Juni 2019 23:48
An: gstreamer-devel at lists.freedesktop.org
Betreff: Measure element latency

Hi,

I am working a WebrRTC RTP streaming application which has a low latency requirements using GStreamer 1.14. I would like to calculate latency, and emit it as a metrics on an element basis. I have several ideas, but I'm not sure if they are valid.

  1.  GStreamer Tracer -- This has too much burden on the CPU as far as I tested.
  2.  Latency query -- Latency query calculates latency for the pipeline/element, and I think it only updates when elements are added or removed.
  3.  Buffer probe with PTS -- I thought PTS will be a unique ID and will not be changed, and we can calculate the running time (absolute time - base time) before the buffer comes into the element, and calculate the running time after the buffer comes out of the element -- However, it seems that buffers can either be dropped or changed -- I wonder in this case, will the buffer PTS be changed?
  4.  Buffer probe/new plugin with GstMeta -- If the PTS is not reliable, I thought about adding the running time timestamp into buffers using GstMeta before coming into the element, and when the buffers come out of the element, we can check the added timestamp with the current running time which is the latency measurement -- However, again, will the metadata that I added be changed in the element?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190606/546b2662/attachment.html>


More information about the gstreamer-devel mailing list