Playback of a video stream is slow under GTK
Nicolas Dufresne
nicolas at ndufresne.ca
Wed Jul 31 12:09:32 UTC 2019
Le mardi 30 juillet 2019 à 09:45 -0400, pisymbol . a écrit :
>
>
> On Mon, Jul 29, 2019 at 8:00 PM Nicolas Dufresne <nicolas at ndufresne.ca> wrote:
> >
> > Le lun. 29 juill. 2019 19 h 56, pisymbol . <pisymbol at gmail.com> a écrit :
> > >
> > > On Mon, Jul 29, 2019 at 5:51 PM Mathieu Duponchelle <mathieu at centricular.com> wrote:
> > > > I've never seen that, but a test case would probably be helpful :)
> > > >
> > >
> > > Not sure what exactly to share:
> > >
> > > Here is the gist of the code:
> > >
> > > class GstPlayerWdiget(Gtk.Box):
> > > ....
> > > self.play_pipeline = Gst.Pipeline()
> > > factory = self.play_pipeline.get_factory()
> > > gtksink = Gst.ElementFactory.make('gtksink', None)
> > > gtksink.set_property("sync", False)
> >
> > By disabling the sync, you ask GStreamer to play all frames, even when real-time isn't possible due to cpu limitation. So slow motion on this entirely software pipeline is what you have asked GStreamer.
> >
> > If you have multiple cores, consider configuring videoconvert to use more then one thread, or add queues at well chosen places (e.g. between decoder and converter).
> >
>
> Nicholas, pardon my ignorance, but how does configuring videoconvert use more than one thread?
There is a property called n-threads, 0 mean as many as there is CPU,
and then any other value will try and use that specific amount of
threads. In python that would be:
converter.props.n_threads = N
or
converter.set_property("n-threads", N)
>
> -aps
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
More information about the gstreamer-devel
mailing list