GstProxy, compositor, and framerates...

Tim-Philipp Müller t.i.m at zen.co.uk
Sun Oct 9 19:10:54 UTC 2022


On Sun, 2022-10-09 at 10:02 -0700, Bill Hofmann via gstreamer-devel
wrote:

Hi Bill,

What version of GStreamer are you running?

In 1.20 compositor gained support for doing compositing using multiple
threads, did you check if that's active for you?

Cheers
 Tim

> One more piece of data, which I GUESS answers my question. This
> pipeline shows the same (terrible) framerate, which suggests that
> this is a compositor issue:
> 
> > gst-launch-1.0 souphttpsrc name="pipe2"
> > location="http://127.0.0.1/1D2E355A-BD2C-4807-91EA-4C2236D2DBED/0/late.m3u8
> > " ! parsebin name=pb ! vaapih265dec ! \
> > video/x-raw,format=P010_10LE ! compositor background=transparent  !
> > queue ! fpsdisplaysink video-sink="kmssink connector-id=308 plane-
> > id=31"
> 
> 
> So - in the attempt to blend/dissolve two P010 streams, neither
> compositor nor glshader will work? Compositor because of performance,
> glshader because the format is not supported?
> 
> -Bill
> 
> On Fri, Oct 7, 2022 at 2:32 PM Bill Hofmann <bill at theliquidview.com>
> wrote:
> > Folks:
> > 
> > Running into a challenge perhaps the insight of the list would
> > help.  I'm using compositor,  proxysrc and proxysink to mix two 4k
> > h.265 10b streams together (and animating alpha to fade from one to
> > the other).
> > 
> > If I look at the framerate of each of the "source" pipelines using
> > fpsdisplaysink inline, they're showing pretty darn close to the
> > source framerate (29.97), but when I look at the output on the
> > screen, the framerate is around 10fps (if I put fpsdisplaysink
> > after the compositor). 
> > 
> > Note that when the alpha on one of two streams is 0, I
> > set_state(Gst.State.PAUSED), so I'd think that decoder performance
> > wouldn't constrain this in steady state, even if it does so during
> > transitions.
> > 
> > The pipeline with a single stream directly to kmssink runs at
> > source framerate as well - *that's* fine.
> > 
> > Is this a problem with compositor? A problem with queueing?
> > 
> > Thoughts? What additional info would you need?  This is using a
> > slightly modified version
> > of 
> > https://github.com/matthew1000/gstreamer-cheat-sheet/blob/master/python_examples/gstproxy_02_playbin.py
> > , btw.
> > 
> > -Bill
> > 
> > Pipelines:
> > 
> > > PIPELINE1 = """
> > > souphttpsrc name="pipe1"
> > >
> > location="http://127.0.0.1/1D2E355A-BD2C-4807-91EA-4C2236D2DBED/0/early.m3u8
> > > " ! parsebin name=pb ! vaapih265dec !
> > > video/x-raw,format=P010_10LE  ! proxysink name="video_sink"
> > > pb. ! queue ! fdkaacdec ! scaletempo ! volume volume=0.9 !
> > > proxysink name="audio_sink"
> > > """
> > 
> > 
> > > PIPELINE2 = """
> > > souphttpsrc name="pipe2"
> > >
> > location="http://127.0.0.1/1D2E355A-BD2C-4807-91EA-4C2236D2DBED/0/late.m3u8
> > > " ! parsebin name=pb ! vaapih265dec !
> > > video/x-raw,format=P010_10LE ! proxysink name="video_sink"
> > > pb. ! queue ! fdkaacdec ! scaletempo ! volume volume=0.9 !
> > > proxysink name="audio_sink"
> > > """
> > 
> > 
> > > PIPELINE3 = """
> > > proxysrc name=video_src_1 ! videomix.
> > > proxysrc name=audio_src_1 ! alsasink
> > > proxysrc name=video_src_2 ! videomix.
> > > proxysrc name=audio_src_2 ! alsasink
> > > compositor name=videomix background=transparent ! queue !
> > > kmssink connector-id=308 plane-id=31
> > > """
> > 
> > 
> > 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20221009/910b980c/attachment.htm>


More information about the gstreamer-devel mailing list