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