Glitchless switching of videos from rtspsrc

vinod kesti vinodkesti at yahoo.com
Tue Oct 18 18:24:31 UTC 2022


Vladan,

There could be multiple reasons:1) The delay could be due to the missing keyframe in the video stream. Till the decoder receives the keyframe in the RTSP stream the decoder wont be able to decode the stream.
2) RTP jitter buffer has a default latency of 2sec, by reducing it to a lower value may reduce the delay efferct. 

Regards,
Vinod


Sent from Yahoo Mail. Get the app 

    On Monday, 10 October, 2022 at 04:16:33 am GMT-5, Vladan Jovanovic via gstreamer-devel <gstreamer-devel at lists.freedesktop.org> wrote:  
 
 Still struggling with this topic, so let me rephrase the question.

Documentation and examples I've seen so far discuss gstreamer
pipelines in form of:
source -> filter -> sink

So typically a single source going to one or multiple sinks.
Are there any special considerations when one GstPipeline has separate
parallel paths that don't interact? So pipeline that contains:
source1 -> filter1 -> sink1
source2 -> filter2 -> sink2

I see in my tests that a pipeline with one path (source1 -> filter1 ->
sink1) works fine. But when I add second path (source2 -> filter2 ->
sink2), all elements in the second path switch state to PLAYING except
sink2 (which is fakesink in my case), for which graph diagram
continues to show "[-] -> [>]".

best regards,
Vladan



On Thu, Sep 15, 2022 at 3:41 PM Vladan Jovanovic
<vladan.jovanovic at gmail.com> wrote:
>
> Hi
>
> I'm looking to perform glitchless on-the-fly switching of video
> streams that are coming from RTSP servers through rtspsrc. Switching
> works fine, but I always end up with 2sec video "freeze" that I
> assumed was due to rtspsrc buffering, but it seems more and more to me
> is caused by some clock/synchronization issues due to rtspsrc sources.
>
> Below are links to a few pipeline graphs to demonstrate what I'm
> trying to achieve:
> - s1r.png: stream1 is running (playing).
> - s1r_s2c.png: in preparing for switching videos, a second stream was
> added to pipeline and playing (to fakesink).
> - s1s_s2r.png: stream1 is disconnected from sink and stream2 is now
> playing to waylandsink.
>
> When I start the pipeline directly as in s1r_s2c.png from the start, I
> get choppy playback on the first stream that is shown, so it seems to
> indicate some clocking issue (but it seems that the video switch works
> well then).
>
> Any suggestions as to what could be the problem in either of the two approaches?
>
> Best regards,
> Vladan
>
> - s1r.png: https://www.dropbox.com/s/iu0n4t7sxdsq2px/s1r.png?dl=0
> - s1r_s2c.png: https://www.dropbox.com/s/vc1xu9cxghpwrks/s1r_s2c.png?dl=0
> - s1s_s2r.png: https://www.dropbox.com/s/zwmk88zylnv9ym7/s1s_s2r.png?dl=0
  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20221018/c01a4f67/attachment.htm>


More information about the gstreamer-devel mailing list