best way to 'relay' a stream between processes

Marianna Smidth Buschle msb at qtec.com
Thu Sep 30 09:05:25 UTC 2021


I wasn't the one actually doing the tests (was on maternity leave) so I 
can't give you any numbers.


I was told it was definitely too much for us, but it should also be 
noted that we are talking about big amounts of data (RAW or H264 high 
bitrate fullHD at 30fps x6) and multiple pipelines.

So it was really good to take advantage of ref counting instead of 
copying when we could.


We also had issues when 2 processes where receiving H264 MPEGTS (20Mbps) 
through RTP on a local network. Something with the Linux buffers and 
packet duplication.


On 30.09.2021 10.51, Eslam Ahmed wrote:
> Marianna,
>
> How much of an overhead are we talking about here regarding 
> udpsrc/sink? How much worse would you think it would be when using 
> tcpserversink/tcpclientsrc?
>
> Best Regards,
> Eslam Ahmed
>
>
> On Thu, Sep 30, 2021 at 10:45 AM Marianna Smidth Buschle via 
> gstreamer-devel <gstreamer-devel at lists.freedesktop.org 
> <mailto:gstreamer-devel at lists.freedesktop.org>> wrote:
>
>
>     > Hi Eslam, thanks that was indeed what I was expecting. However
>     from these examples and this fdin I should assume I can not use
>     this option with gst-launch not? Or can I work around this with
>     something like mkfifo?
>
>     If you use python and 'Gst.parse_launch("")' then it is just as
>     easy and
>     fast as using 'gst-launch'
>
>
>     Also I think we have tried something similar at some point using
>     fdsink/src but I don't think I have the code anymore
>
>
>     I have also come across this at some point:
>     https://mazdermind.wordpress.com/2014/08/29/getting-shmsinkshmsrc-to-work-with-videomixer/
>     <https://mazdermind.wordpress.com/2014/08/29/getting-shmsinkshmsrc-to-work-with-videomixer/>
>
>     but haven't tried myself
>
>
>     We have also looked at how to best split pipelines between or within
>     processes.
>
>     We have also tried like you to use udpsrc/sink to relay data but
>     found
>     that the overhead was too big even within localhost.
>
>     In the end we decided to keep things inside the same process but to
>     decouple the pipelines internally just to avoid errors in one
>     breaking
>     the other ones and generally to ease debugging.
>
>     For that purpose we are now currently using interpipesrc/sink (from
>     RidgeRun) but have also looked at proxysrc/sink and
>     intervideosrc/sink.
>
>     -- 
>     Best regards / Med venlig hilsen
>     “Marianna Smidth Buschle”
>
-- 
Best regards / Med venlig hilsen
“Marianna Smidth Buschle”

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20210930/85cf98f7/attachment-0001.htm>


More information about the gstreamer-devel mailing list