Luma -> Alpha with v1.18
Florian Echtler
floe at butterbrot.org
Sun Jan 9 12:53:00 UTC 2022
FWIW, I once was in a similar situation and hacked together an example of how to
build a standalone GStreamer plugin without the library build environment:
https://github.com/floe/gst-plugin-minimal
Maybe this can give you some hints.
Best, Florian
On 09/01/2022 07:58, Nirbheek Chauhan via gstreamer-devel wrote:
> 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/ <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 <mailto:amindfv at mailbox.org>,
> <amindfv at mailbox.org <mailto: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
> <mailto: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
> <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
> <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
>
--
SENT FROM MY DEC VT50 TERMINAL
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 203 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220109/53dfb31b/attachment.sig>
More information about the gstreamer-devel
mailing list