<html><head></head><body><div>Le mercredi 14 juin 2017 à 13:44 +0300, Vladislavs Zaluckis a écrit :</div><blockquote type="cite"><div>Hi,</div><div><br></div><div>I am trying to use videomixer to do overlay graphics over the "main" video. My "main" pipeline is changed dynamically to implement gapless playout. My idea was to overlay a semi-transparent static graphic image over the video stream.</div><div><br></div><div>The problem I am having now is that videomixer does not forward my original SEGMENT events, but sends its own segment instead, which starts from 0. </div></blockquote><div><br></div><div>If you switch to compositor instead, you will be able to configure the "start-time-selection", though I doubt the segment will be forwarded as-is. The reason is that you can't figure-out from which of the input pad you should keep the segment. I often use start-time-selection=first to prevent the compositor from generating background frames initially.</div><div><br></div><div>You may also want to look at other ways to overlay your content if it's static. Elements like gdkpixbufoverlay and rsvgoverlay would preserve your segment.</div><div><br></div><blockquote type="cite"><div>I use segments (seek) to implement in- and out-markers in the files for playout. As soon as I added the videomixer element (even without connecting other sinks, just the "main" video), my video stitching no longer works. Basically it says that all frames are from the past for 2nd and all the rest files after the 1st. The 1st file plays normally. So the questions are:</div></blockquote><div><br></div><div>Segment seeking is probably not implemented in either videomixer or compositor. If you look at GES, they hide the seeks upstream the mixer, so they probably didn't need that feature.</div><div><br></div><blockquote type="cite"><div>how should I handle the situation when I have different segments incoming on different sinks of videomixer, say one sink has a permanent segment of just 0..-1 and another sink has the segment changing time after time (1 seek on each new file)?</div><div>is there something wrong with the way I currently construct and operate the whole pipeline maybe?</div></blockquote><div><br></div><div>GstAggregator, what compositor is based on, will normalize all timestamp using the running-time. This way, the input segment can be dropped.</div><div><br></div><blockquote type="cite"><div><br></div><div>I am attaching the pipeline snapshot at the point where two files are connected: one is playing and another is prepared and waiting on the concat. I am also attaching the debug log. It is not totally complete, the following filters were used: GST_DEBUG=*:5,APP:5,GST_MEMORY:3,libav:3,structure:3,GST_REFCOUNTING:3,GST_REGISTRY:3</div><div><br></div><div>log file: https://drive.google.com/open?id=0Bz5JvqnApX6WUXhsODBKZC1ZbXc</div><div>pipeline dump: https://drive.google.com/open?id=0Bz5JvqnApX6WcjdHYjZVMlJVVWM</div><div><br></div><div><br></div><div>Will appreciate any advice. Thanks!</div><div><br></div><div>--</div><div>Regards,</div><div>Vlad</div><div><br></div><div><br></div><div>_______________________________________________</div><div>gstreamer-devel mailing list</div><div><a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a></div><div><a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a></div></blockquote></body></html>