Seeking when streaming to udpSink

doubledw dwood at mak.com
Thu Sep 29 02:56:08 UTC 2016


Tim,

Your alternative suggestion looks like it might nicely fit my needs. I
am already supporting playback to a local window in conjunction with
the udpSink just in 2 independent pipelines. I assume that if I want
to modify my existing pipeline that plays to a local window to also
support the intervideosink then I will have to tee the pipleline.

I will give this coupling approach a try.

Thanks a lot,
Doug

On Tue, Sep 27, 2016 at 5:37 PM, Tim Müller [via GStreamer-devel]
<ml-node+s966125n4679823h6 at n4.nabble.com> wrote:
> On Tue, 2016-09-27 at 12:54 -0700, doubledw wrote:
>
> Hi,
>
> At first glance it looks like the encoder not handling seeks / flushing
> properly.
>
> I have something else for you to try which might work better for you:
>
> Create two separate pipelines in the same application - one that
> encodes/streams and one that decodes/seeks/etc.
>
> In the playback pipeline you use intervideosink as video sink, and in
> the encoding pipeline you use intervideosrc as source element.
>
> The video data from the intervideosink will be sent to the
> intervideosrc, but both are decoupled, so if you pause the playback
> pipeline, the streaming pipeline will just keep repeating and streaming
> the last frame (or go black after a while, depending what you set the
> timeout to). If you seek on the playback pipeline the streaming part
> will repeat the last frame until the seek is complete and then output
> frames from the new position (but with monotonically increasing
> timestamps, so the encoder will never know there was a discontinuity).
> If you play back at half speed or double speed, the streaming part will
> encode that at the playback speed and stream it out normally.
>
> For the decoding pipeline you can just use a playbin element and set
> the "video-sink" property to an intervideosink (GstElement *).
>
> On the streaming pipeline you want something like:
>
>   intervideosrc ! video/x-raw,framerate=25/1 ! videoconvert
> ! avenc_mpeg2video ! mpegtsmux ! udpsink
>
> If you want audio as well, there's also interaudiosink/src which work
> the same way.
>
> Good luck!
>
> Cheers
> -Tim
>
> --
> Tim Müller, Centricular Ltd - http://www.centricular.com
>
> Join us at the GStreamer Conference!
> 10-11 October 2016 in Berlin,
> Germany
> http://gstreamer.freedesktop.org/conference/
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
> ________________________________
> If you reply to this email, your message will be added to the discussion
> below:
> http://gstreamer-devel.966125.n4.nabble.com/Seeking-when-streaming-to-udpSink-tp4678702p4679823.html
> To unsubscribe from Seeking when streaming to udpSink, click here.
> NAML



-- 
Doug Wood  |  Principal Software Engineer
VT MÄK  | 150 Cambridge Park Drive, Third Floor, Cambridge, MA 02140
T: +1.407.359.2725 / +1.617.876.8085
dwood at mak.com  |  www.mak.com




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Seeking-when-streaming-to-udpSink-tp4678702p4679843.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160928/ef58b511/attachment.html>


More information about the gstreamer-devel mailing list