Real framerate display

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

Real framerate display

Aarto Matti
Hello,

I develop a benchmark and performance test application based on gstreamer. Is there a plugin or a way to display/output real fps from the playback. Any other meaningful metric that can be used for evaluating performance is useful also. Thanks.

Regards,
Aarto

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Florent THIERY-2
Hello

> I develop a benchmark and performance test application based on gstreamer.
> Is there a plugin or a way to display/output real fps from the playback. Any
> other meaningful metric that can be used for evaluating performance is
> useful also. Thanks.

You could use identity (which you can insert anywhere in your
pipeline), and connect the signals "handoff":
* wo a callback incrementing a counter you reset every second, which
will give you second-scale fps average measurement
* to a callback measuring difference beween consecutive timestamps,
which will give you instantaneous fps measure (fps will be
1/difference)

If you are only interested in pure display/playback performance
measurement, you could take a look at QoS events' timestamps emitted
from sinks (see gstreamer/docs/design/part-qos.txt).

For memory/cpu usage, you could use standard system calls or /proc parsings.

I hope this helps. Maybe there are better ways to do this... Can you
elaborate on the kind of performance you would like to measure ?

Florent

------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Stefan Sauer
In reply to this post by Aarto Matti
hi,

Aarto Matti schrieb:
> Hello,
>
> I develop a benchmark and performance test application based on
> gstreamer. Is there a plugin or a way to display/output real fps from
> the playback. Any other meaningful metric that can be used for
> evaluating performance is useful also. Thanks.
>
I just pushed an initial version of such thing to
gst-plugins-bad/gst/debugutils as fpsdisplaysink. Needs some more clenaup.

Stefan

> Regards,
> Aarto
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by:
> High Quality Requirements in a Collaborative Environment.
> Download a free trial of Rational Requirements Composer Now!
> http://p.sf.net/sfu/www-ibm-com
> ------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>  


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Aarto Matti
In reply to this post by Florent THIERY-2
Thanks, Florent.

FPS is meaningful for me to see when cpu is not able keep it at maximum, I also need a way to measure how much performance I gain with hardware codecs.

I used handoff event as you suggested and I had to split the stream into two with tee and feed one to fakesink. So it works :) Then I need to measure what do I get with XV, since colorspace conversions and scaling can be done with it. From here perhaps I can measure cpu usage, but to use FPS wouldn't be fair, because I can't go with gstreamer beyond xvimagesink. I will study what I can do with QoS events.

--
Aarto

On Thu, Apr 16, 2009 at 4:27 AM, Florent <[hidden email]> wrote:
Hello

> I develop a benchmark and performance test application based on gstreamer.
> Is there a plugin or a way to display/output real fps from the playback. Any
> other meaningful metric that can be used for evaluating performance is
> useful also. Thanks.

You could use identity (which you can insert anywhere in your
pipeline), and connect the signals "handoff":
* wo a callback incrementing a counter you reset every second, which
will give you second-scale fps average measurement
* to a callback measuring difference beween consecutive timestamps,
which will give you instantaneous fps measure (fps will be
1/difference)

If you are only interested in pure display/playback performance
measurement, you could take a look at QoS events' timestamps emitted
from sinks (see gstreamer/docs/design/part-qos.txt).

For memory/cpu usage, you could use standard system calls or /proc parsings.

I hope this helps. Maybe there are better ways to do this... Can you
elaborate on the kind of performance you would like to measure ?

Florent

------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Olivier Crête-2
On Thu, 2009-04-16 at 19:14 +0300, Aarto Matti wrote:

> Thanks, Florent.
>
> FPS is meaningful for me to see when cpu is not able keep it at
> maximum, I also need a way to measure how much performance I gain with
> hardware codecs.
>
> I used handoff event as you suggested and I had to split the stream
> into two with tee and feed one to fakesink. So it works :) Then I need
> to measure what do I get with XV, since colorspace conversions and
> scaling can be done with it. From here perhaps I can measure cpu
> usage, but to use FPS wouldn't be fair, because I can't go with
> gstreamer beyond xvimagesink. I will study what I can do with QoS
> events.
I have a simple thing that uses a pad probe and optionally a text
overlay to print the FPS taken from the qos events, but its not wrapped
inside an element.

Code at:

http://git.collabora.co.uk/?p=telepathy-stream-engine.git;a=blobdiff;f=src/videosink.c;h=91c6bc6c01fb7acefbaee1b92443d59a63e20491;hp=032a1a3796ee2991f717478b383742191136281e;hb=7cd6e0818fdd37e79997c8d92b39d97288aa28b3;hpb=90ba29b172d35484915d45282612350ee1eae9a0

--
Olivier Crête
[hidden email]
Collabora Ltd

------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Stefan Sauer
Olivier Crête schrieb:

> On Thu, 2009-04-16 at 19:14 +0300, Aarto Matti wrote:
>> Thanks, Florent.
>>
>> FPS is meaningful for me to see when cpu is not able keep it at
>> maximum, I also need a way to measure how much performance I gain with
>> hardware codecs.
>>
>> I used handoff event as you suggested and I had to split the stream
>> into two with tee and feed one to fakesink. So it works :) Then I need
>> to measure what do I get with XV, since colorspace conversions and
>> scaling can be done with it. From here perhaps I can measure cpu
>> usage, but to use FPS wouldn't be fair, because I can't go with
>> gstreamer beyond xvimagesink. I will study what I can do with QoS
>> events.
>
> I have a simple thing that uses a pad probe and optionally a text
> overlay to print the FPS taken from the qos events, but its not wrapped
> inside an element.
>
> Code at:
>
> http://git.collabora.co.uk/?p=telepathy-stream-engine.git;a=blobdiff;f=src/videosink.c;h=91c6bc6c01fb7acefbaee1b92443d59a63e20491;hp=032a1a3796ee2991f717478b383742191136281e;hb=7cd6e0818fdd37e79997c8d92b39d97288aa28b3;hpb=90ba29b172d35484915d45282612350ee1eae9a0
>

Mybe that can be merged into fpsdisply in bad. Atleast I wanted to make the
overlay optional.

If we are happy with text output it could also be done in identity or fakesink
(sync=true)

Stefan

>
>
> ------------------------------------------------------------------------
>
> ------------------------------------------------------------------------------
> Stay on top of everything new and different, both inside and
> around Java (TM) technology - register by April 22, and save
> $200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
> 300 plus technical and hands-on sessions. Register today.
> Use priority code J9JMT32. http://p.sf.net/sfu/p
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Real framerate display

Stefan Sauer
In reply to this post by Stefan Sauer
Stefan Kost schrieb:

> hi,
>
> Aarto Matti schrieb:
>  
>> Hello,
>>
>> I develop a benchmark and performance test application based on
>> gstreamer. Is there a plugin or a way to display/output real fps from
>> the playback. Any other meaningful metric that can be used for
>> evaluating performance is useful also. Thanks.
>>
>>    
> I just pushed an initial version of such thing to
> gst-plugins-bad/gst/debugutils as fpsdisplaysink. Needs some more clenaup.
>
> Stefan
>  

Did more cleanups. Comments welcome.

Stefan


------------------------------------------------------------------------------
Stay on top of everything new and different, both inside and
around Java (TM) technology - register by April 22, and save
$200 on the JavaOne (SM) conference, June 2-5, 2009, San Francisco.
300 plus technical and hands-on sessions. Register today.
Use priority code J9JMT32. http://p.sf.net/sfu/p
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel