gst-launch + alpha
Alain Culos
gstreamer at asoundmove.net
Wed Apr 8 17:22:20 UTC 2020
On Wed, 8 Apr 2020, at 18:14, Alain Culos wrote:
> Thank you both Ederson & Arnaud,
>
> This pipeline now works without error messages:
>
> w=1280; h=800; x0=450; y0=200; gst-launch-1.0
> v4l2src device=/dev/video0 \
> ! videocrop left=$x0 right=$(( 1920 - $w - $x0 )) top=$y0
> bottom=$(( 1080 - $h - $y0 )) \
> ! alpha method=green angle=70 \
> ! queue \
> ! mixer.sink_1 \
> \
> ximagesrc xid=0x06600003 use-damage=false \
> ! videoscale \
> ! video/x-raw,width=$w,height=$h \
> ! queue \
> ! mixer.sink_0 \
> \
> videomixer name=mixer sink_0::zorder=0 sink_1::zorder=1 \
> ! videoconvert \
> ! autovideosink -v sync=false
>
> The time-lag is significant and the displayed framerate is poor (maybe
> 5/1 to 10/1), but it works.
> Note that my desktop hardly works at all (overall CPU well below 10%, 1
> of 12 cores at 10-20% max).
>
> 1/ It would be great if someone could chime in with ideas to help
> improve the real-time performance of this pipeline - ideally resulting
> in a framerate of at least 15 or 20.
>
> 2/ My next step is to use the "alpha" element properly.
> With the pipeline above my green screen gets replaced with a shaded
> background - i.e. alpha is not 0 or 1, but something in between.
> How do I increase the alpha channel values?
I said something wrong about becoming transparent. I pushed the angle to 90, and the alpha channel still isn't 100% transparent. I am fine though.
> Thanks,
> Alain.
>
>
> On Wed, 8 Apr 2020, at 13:27, Arnaud Loonstra wrote:
> > On 08-04-2020 12:38, Alain Culos wrote:
> > [big snip]
> >
> > I tried your pipeline but couldn't get it to work. I think it'll run a
> > lot smoother by adding sync=false to your imagesink.
> >
> > I'm also trying to create something like your setup. We could definitely
> > use something for linux like camtwist on OSX. It should be easily doable
> > with gstreamer and v4l2loopback. It's quite tricky to get stuff like
> > this working with gst-launch. I just played a bit with pipeviz and
> > imediatelly got two streams working with the videomixer.
> >
> > https://github.com/virinext/pipeviz
> >
> > Rg,
> > Arnaud
>
> How does my pipeline fail for you?
> If it fails on v4l2src, try autoviedosrc instead.
> If it fails on ximagesrc, it could be because you have the wrong window
> id?
> You can drop the videocrop this is to extract the portion of the webcam
> video of interest to me (zooming in) - and with it you can drop the
> videoscale and caps to rescale the ximagesrc.
> You can drop the alpha, it should work similarly, albeit without green
> screen replacement, but that would test the pipeline with more
> simplicity.
> Check your window ids with "wmctrl -l".
>
>
> On Wed, 8 Apr 2020, at 17:14, Desouza, Ederson wrote:
> > Your pipeline does work for me (I just need to scale v4l2src output, as
> > it doesn't output a big enough video for you parameters). I'm afraid
> > I'm out of ideas now... =/
>
> Different webcams, I suppose. Mine is a 1080p.
> _______________________________________________
> 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