Pipeline Optimization

Matt Clark mclark4386 at gmail.com
Tue Apr 19 06:20:28 UTC 2022


Thanks for the tip! I was wondering about those, but like I said, bit of a
newbie. Here is my new graph:
[image: debug_session(sans extra converts).png]
Seems to be working still which is always a good thing!
I'm all for more CPU optimizations (it's still spinning up almost 40
threads, not sure if that's a lot or normal for this, honestly), but I
would also love some memory optimizations as well! After those changes each
stream is taking up about 850M of RAM while running. Again this may be
normal for the task, but a) seems like a lot to me and b) I have no frame
of reference.
Thanks again, Nicolas!

On Mon, Apr 18, 2022 at 8:14 AM Nicolas Dufresne <nicolas at ndufresne.ca>
wrote:

> Le dimanche 17 avril 2022 à 03:29 -0500, Matt Clark via gstreamer-devel a
> écrit :
> > I've gotten my project mostly to the stable point of working how I
> expect it,
> > however I can't help but feel that it's nowhere near optimal. I have
> made it
> > work and now I wish to make it right. Any insight be it pointers or
> > instructions would be appreciated, as this is my first
> service/application
> > using gstreamer and I'm still very green with it.
>
> Just notice from the graph one low hanging fruit. You have 3 color
> conversion
> points, 1 before freeze, one after and one inside compositor. The output of
> compositor is I420, you can greatly optimize your pipeline by adding a caps
> filter to force conversion before the image freeze. This way, you convert
> the
> input to I420 only once. Other similar optimization in relation to the
> usage of
> imagefreeze could happen.
>
> > The basic explanation of the system is that it queries a variable number
> of
> > web endpoints for dynamically created pngs and then composes those
> together
> > into an HLS stream that's then used by a single client.
> > Here is a PNG of the pipeline graph (I'll also attach the raw SVG as
> well in
> > case you want to dig into it):
> > debug_session.png
> >
> > TL;DR: Above is my pipeline, please help me make it the best it can be!
> > Thanks to any and all in advance!
> > -Matt
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220419/2f7fa2c5/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug_session(sans extra converts).png
Type: image/png
Size: 618329 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220419/2f7fa2c5/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: debug_session(sans extra converts).svg
Type: image/svg+xml
Size: 120977 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220419/2f7fa2c5/attachment-0001.svg>


More information about the gstreamer-devel mailing list