Synchronizing Multiple Pipelines

Dwight Kulkarni dwight at realtime-7.com
Fri Aug 11 17:43:19 UTC 2023


Hi all,

I have 4 pipelines.

Pipeline 1 :   video src -> app sink1
Pipeline 2 :   app src2   ->  video 1
Pipeline 3 :   app src3   ->  downsampled  video 2
Pipeline 4 :   app src4   ->   downsampled  video 3

In app sink 1, I connect a new-sample callback

I then take the sample, make a copy and push it to each of the app sources.

The problem I have is that each pipeline (pipeline 2 to 4) will start at
different times.

If I take a video of a stop watch, I notice that pipeline 2 is 8 seconds
offset from the other 2 pipelines.

The behaviour I am going for is that from one video source I want to end up
with 3 different videos at different sizes. Eg. 1080p, 720p, etc.  However,
each video should be exactly the same.

I tried to avoid using a Tee and making a single pipeline because Tees take
away control over how the frames are going into each element and they might
get out of synch.

With the app source I was hoping to push exactly a certain number of frames
into each pipeline and then call the "spit now"  function with splitmux
sink.

However, this depends on all pipelines starting at the same time and being
in synch.

Can you advise how to achieve this ?   Thanks !

-- 
Sincerely,

Dwight Kulkarni
B.ASC, M.ASC, PMP

Realize Potential
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230811/43bf42a9/attachment.htm>


More information about the gstreamer-devel mailing list