udpsrc performance

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

udpsrc performance

parag.salasakar
Hi

I am trying to decode MPEG2TS bistream with following pipeline

gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000, media=(string)video" ! gstrtpjitterbuffer ! queue ! rtpmp2tdepay ! mpegtsdemux ! queue ! ffdec_mpegvideo ! videoscale ! ffmpegcolorspace ! autovideosink on my DSP  platform

However i noticed that when I try

gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000, media=(string)video" ! fakesink silent=1

CPU utilization goes to 35% to 40% for 4 Mbps streams, which sounds weired to me (how can just udpsrc take 35% of CPU?)
AM I missing anything?

Parag
Reply | Threaded
Open this post in threaded view
|

Re: udpsrc performance

Edward Hervey
Hi,

On Mon, 2012-07-02 at 07:45 -0700, parag.salasakar wrote:
> Hi
>
> I am trying to decode MPEG2TS bistream with following pipeline

  I am assuming this is GStreamer 0.10

>
> gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000,
> media=(string)video" ! gstrtpjitterbuffer ! queue ! rtpmp2tdepay !
> mpegtsdemux ! queue ! ffdec_mpegvideo ! videoscale ! ffmpegcolorspace !
> autovideosink on my DSP  platform
>
> However i noticed that when I try
>
> gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000,
> media=(string)video" ! fakesink silent=1
>
> CPU utilization goes to 35% to 40% for 4 Mbps streams, which sounds weired
> to me (how can just udpsrc take 35% of CPU?)
> AM I missing anything?

  This is due to the overhead of creating/destroying plenty of small
GstBuffers. A solution would be to create a bufferpool and re-use
GstBuffers.

    Edward

> Parag
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsrc performance

parag.salasakar
Hi

Thanks for the suggestion.

I tried it with udpsrc properties blocksize=50000 buffer-size=50000, but observed same issue (udpsrc taking 35-40%)

Does your suggestion mean that I have to modify source code for udpsrc plugin which allocates buffer-pool and re-use them?

Regards,

Parag

On Mon, Jul 2, 2012 at 8:36 PM, Edward Hervey [via GStreamer-devel] <[hidden email]> wrote:
Hi,

On Mon, 2012-07-02 at 07:45 -0700, parag.salasakar wrote:
> Hi
>
> I am trying to decode MPEG2TS bistream with following pipeline

  I am assuming this is GStreamer 0.10

>
> gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000,
> media=(string)video" ! gstrtpjitterbuffer ! queue ! rtpmp2tdepay !
> mpegtsdemux ! queue ! ffdec_mpegvideo ! videoscale ! ffmpegcolorspace !
> autovideosink on my DSP  platform
>
> However i noticed that when I try
>
> gst-launch -v udpsrc port=5004 caps="application/x-rtp, clock-rate=90000,
> media=(string)video" ! fakesink silent=1
>
> CPU utilization goes to 35% to 40% for 4 Mbps streams, which sounds weired
> to me (how can just udpsrc take 35% of CPU?)
> AM I missing anything?
  This is due to the overhead of creating/destroying plenty of small
GstBuffers. A solution would be to create a bufferpool and re-use
GstBuffers.

    Edward

> Parag
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



If you reply to this email, your message will be added to the discussion below:
http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463p4655464.html
To unsubscribe from udpsrc performance, click here.
NAML

Reply | Threaded
Open this post in threaded view
|

Re: udpsrc performance

Edward Hervey
On Wed, 2012-07-04 at 00:01 -0700, parag.salasakar wrote:
> Hi
>
> Thanks for the suggestion.
>
> I tried it with udpsrc properties blocksize=50000 buffer-size=50000,
> but observed same issue (udpsrc taking 35-40%)
>
> Does your suggestion mean that I have to modify source code for udpsrc
> plugin which allocates buffer-pool and re-use them?

  Yes

>
> Regards,
>
> Parag
>
> On Mon, Jul 2, 2012 at 8:36 PM, Edward Hervey [via GStreamer-devel]
> <[hidden email]> wrote:
>         Hi,
>        
>         On Mon, 2012-07-02 at 07:45 -0700, parag.salasakar wrote:
>         > Hi
>         >
>         > I am trying to decode MPEG2TS bistream with following
>         pipeline
>        
>           I am assuming this is GStreamer 0.10
>        
>         >
>         > gst-launch -v udpsrc port=5004 caps="application/x-rtp,
>         clock-rate=90000,
>         > media=(string)video" ! gstrtpjitterbuffer ! queue !
>         rtpmp2tdepay !
>         > mpegtsdemux ! queue ! ffdec_mpegvideo ! videoscale !
>         ffmpegcolorspace !
>         > autovideosink on my DSP  platform
>         >
>         > However i noticed that when I try
>         >
>         > gst-launch -v udpsrc port=5004 caps="application/x-rtp,
>         clock-rate=90000,
>         > media=(string)video" ! fakesink silent=1
>         >
>         > CPU utilization goes to 35% to 40% for 4 Mbps streams, which
>         sounds weired
>         > to me (how can just udpsrc take 35% of CPU?)
>         > AM I missing anything?
>           This is due to the overhead of creating/destroying plenty of
>         small
>         GstBuffers. A solution would be to create a bufferpool and
>         re-use
>         GstBuffers.
>        
>             Edward
>        
>         > Parag
>         >
>         > --
>         > View this message in context:
>         http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463.html
>         > Sent from the GStreamer-devel mailing list archive at
>         Nabble.com.
>         > _______________________________________________
>         > gstreamer-devel mailing list
>         > [hidden email]
>         >
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>        
>        
>         _______________________________________________
>         gstreamer-devel mailing list
>         [hidden email]
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>        
>        
>        
>         ______________________________________________________________
>         If you reply to this email, your message will be added to the
>         discussion below:
>         http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463p4655464.html 
>         To unsubscribe from udpsrc performance, click here.
>         NAML
>
>
>
> ______________________________________________________________________
> View this message in context: Re: udpsrc performance
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: udpsrc performance

parag.salasakar
Hi

It seems udpsrc/gstrtpjitterbuffer allocate buffers which could be just byte aligned.
Is there any way I can allocate all buffers (in good plugins) say 4/8/16 byte aligned)?

Like we have HAVE_POSIX_MEMALIGN in gstreamer core, anything similar for good plugins?

Regards,

Parag

On Wed, Jul 4, 2012 at 3:38 PM, Edward Hervey [via GStreamer-devel] <[hidden email]> wrote:
On Wed, 2012-07-04 at 00:01 -0700, parag.salasakar wrote:
> Hi
>
> Thanks for the suggestion.
>
> I tried it with udpsrc properties blocksize=50000 buffer-size=50000,
> but observed same issue (udpsrc taking 35-40%)
>
> Does your suggestion mean that I have to modify source code for udpsrc
> plugin which allocates buffer-pool and re-use them?

  Yes

>
> Regards,
>
> Parag
>
> On Mon, Jul 2, 2012 at 8:36 PM, Edward Hervey [via GStreamer-devel]
> <[hidden email]> wrote:

>         Hi,
>        
>         On Mon, 2012-07-02 at 07:45 -0700, parag.salasakar wrote:
>         > Hi
>         >
>         > I am trying to decode MPEG2TS bistream with following
>         pipeline
>        
>           I am assuming this is GStreamer 0.10
>        
>         >
>         > gst-launch -v udpsrc port=5004 caps="application/x-rtp,
>         clock-rate=90000,
>         > media=(string)video" ! gstrtpjitterbuffer ! queue !
>         rtpmp2tdepay !
>         > mpegtsdemux ! queue ! ffdec_mpegvideo ! videoscale !
>         ffmpegcolorspace !
>         > autovideosink on my DSP  platform
>         >
>         > However i noticed that when I try
>         >
>         > gst-launch -v udpsrc port=5004 caps="application/x-rtp,
>         clock-rate=90000,
>         > media=(string)video" ! fakesink silent=1
>         >
>         > CPU utilization goes to 35% to 40% for 4 Mbps streams, which
>         sounds weired
>         > to me (how can just udpsrc take 35% of CPU?)
>         > AM I missing anything?
>           This is due to the overhead of creating/destroying plenty of
>         small
>         GstBuffers. A solution would be to create a bufferpool and
>         re-use
>         GstBuffers.
>        
>             Edward
>        
>         > Parag
>         >
>         > --
>         > View this message in context:
>         http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463.html
>         > Sent from the GStreamer-devel mailing list archive at

>         Nabble.com.
>         > _______________________________________________
>         > gstreamer-devel mailing list
>         > [hidden email]
>         >
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>        
>        
>         _______________________________________________
>         gstreamer-devel mailing list
>         [hidden email]
>         http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>        
>        
>        
>         ______________________________________________________________
>         If you reply to this email, your message will be added to the
>         discussion below:
>         http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463p4655464.html 
>         To unsubscribe from udpsrc performance, click here.
>         NAML
>
>
>
> ______________________________________________________________________
> View this message in context: Re: udpsrc performance
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



If you reply to this email, your message will be added to the discussion below:
http://gstreamer-devel.966125.n4.nabble.com/udpsrc-performance-tp4655463p4655484.html
To unsubscribe from udpsrc performance, click here.
NAML