Luma -> Alpha with v1.18

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Sun Jan 9 06:58:08 UTC 2022


Hi Tom,

I think you're struggling because you're hunting for a pre-made solution on
the internet or a post by someone who has done exactly what you want to do.
You won't find any.

I recommend sitting down and reading the Meson documentation (
https://mesonbuild.com/ — tutorial, reference manual) till you understand
every part of the alphacombine meson file.

With that knowledge, you will find it trivial to build it or integrate it
into your app.

Cheers,
Nirbheek

On Sun, 9 Jan, 2022, 01:07 amindfv at mailbox.org, <amindfv at mailbox.org> wrote:

> On Fri, Jan 07, 2022 at 09:19:13PM -0800, amindfv--- via gstreamer-devel
> wrote:
> > On Fri, Jan 07, 2022 at 08:07:23AM -0500, Nicolas Dufresne via
> gstreamer-devel wrote:
> > > Le jeudi 06 janvier 2022 à 16:17 -0800, amindfv--- via gstreamer-devel
> a écrit :
> > > > On Thu, Jan 06, 2022 at 01:47:17PM +0530, Nirbheek Chauhan wrote:
> > > > > On Thu, Jan 6, 2022 at 5:00 AM amindfv--- via gstreamer-devel
> > > > > <gstreamer-devel at lists.freedesktop.org> wrote:
> > > > > >
> > > > > > I'm looking for a way to use the luma plane of one video as the
> alpha plane of another.
> > > > > >
> > > > > > It appears the "alphacombine" element (
> https://gstreamer.freedesktop.org/documentation/codecalpha/alphacombine.html?gi-language=c)
> can do this, but it's too new even for the unstable release of GStreamer,
> and for a variety of reasons I'm stuck on the latest stable (1.18).
> > > > > >
> > > > > > What I'm trying to do is also possible in ffmpeg with
> "extractplanes=y" + "alphamerge".
> > > > > >
> > > > > > I'd welcome any way to do this, no matter how much of a hack.
> Big pipeline? Fine. Somehow using GPU/shaders? No prob.
> > > > >
> > > > > You can copy the plugin's source code into your project, and then
> either:
> > > > >
> > > > > 1. Build it as a dynamic plugin and set GST_PLUGIN_PATH to it, or
> > > > > 2. Link to it statically and register it manually with
> gst_element_register()
> > > > >
> > > > > This is probably the easiest thing you can do. You can keep syncing
> > > > > the plugin sources with upstream till you can move to 1.20
> > > > >
> > > >
> > > > Thank you. I'm going down this path but having difficulty finding
> the correct way to build it.
> > > >
> > > > I've made some progress with lines like the below, but I'm more or
> less taking shots in the dark:
> > > >
> > > >     libtool --mode=link gcc `pkg-config --cflags --libs
> gstreamer-1.0 gobject-2.0 glib-2.0` -o gstalphacombine.o gstalphacombine.c
> > >
> > > I'd recommend building the entire plugin, otherwise you will be left
> missing a
> > > plugin entry. The easiest is to copy and adapt the meson.build files.
> > >
> >
> > Is there any documentation (even just a blog post) on how to do this?
> I'm searching and trying things, but I feel like I'm more or less trying at
> random.
> >
> > For example, I can:
> >
> >     cd gstreamer/subprojects/gst-plugins-bad/gst/codecalpha
> >     mkdir build
> >     meson build
> >
> > but I'm already hitting errors ("ERROR: First statement must be a call
> to project").
> >
> > I'm mostly working off of
> https://gstreamer.freedesktop.org/documentation/installing/building-from-source-using-meson.html
> , but I've been searching the web for building plugins as well.
> >
> > Happy to RTFM, or to use a kludgy way to compile/get alphacombine into
> my pipeline. Anything to get across the finish line.
>
> What's tantalizing is, the thing I've been trying for days to build is
> really small - < 500 SLOC, with one .h file and one .c file. I think I'm
> missing something just out of reach.
>
> Tom
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220109/18c93fc7/attachment.htm>


More information about the gstreamer-devel mailing list