Playback of a video stream is slow under GTK

Nicolas Dufresne nicolas at ndufresne.ca
Tue Jul 30 00:00:04 UTC 2019


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).

>
>        self.ghostpad = Gst.GhostPad.new("sink",
> self.vc.get_static_pad('src'))
>        self.play_bin.add_pad(self.ghostpad)
>
>        self.play_pipeline.add(gtksink)
>        self.play_pipeline.add(self.play_bin)
>        self.play_bin.link(gtksink)
>        self.pack_start(gtksink.props.widget, True, True, 0)
>
>        # We automatically start playing as soon as we are drawn on the
> screen
>        bus = self.play_pipeline.get_bus()
>        bus.add_signal_watch()
>        bus.enable_sync_message_emission()
>        bus.connect("sync-message::element", self.on_sync_message)
>        self.play_pipeline.set_state(Gst.State.PLAYING)
>        gtksink.props.widget.show_all()
>
>
>> Also, you should always use
>> queues after demuxers.
>>
>>
>  Threading them out always going to be faster?
>
> -aps
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190729/239b3a03/attachment.html>


More information about the gstreamer-devel mailing list