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