Current situation of Python bindings for Gstreamer on Windows?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Current situation of Python bindings for Gstreamer on Windows?

Tamas
Hi,

What is the current situation of Python bindings for Gstreamer on Windows?
I've searched around on the net but most information seems to be outdated.
Here's what I've found:

1. Pygobject for Windows is mentioned as one "enabler" for gstreamer python,
but the project appears to be abandonded and only supports Python versions
up to 3.3 or 3.4 anyway, which is too restrictive for me. I wonder if
current gstreamer versions would work with it anyway.

2. Building my own gst-python (e.g. with Cerbero) requires building
gobject-introspection (gi) first, but gi doesn't compile on Windows. At
least I've tried and failed and haven't found any recent tutorial/doc/post
about building gi on Windows. The gi issue tracker doesn't seem to have
relevant Windows-related posts, which could mean that either it should build
and I'm just not doing it well, or that developers' interest in making it
work on Windows is limited.

3. There aren't any ready-made packages (pip, conda) with Python bindings
for Windows.

Did I miss or misunderstood something?

The probably obvious reason why I'm asking is because I'd really like to use
Gstreamer from a Python project and I'm restricted to Windows. If there's
nothing else, I can create my own wrapper around the limited functionality I
need for my own project - an existing, tested solution would be preferred
and appreciated, though.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Current situation of Python bindings for Gstreamer on Windows?

Nirbheek Chauhan
Hi,

Python bindings for GStreamer should work fine on Windows with the
latest Python, and I know of some people who have custom setups to
build everything on Windows.

Unfortunately, we don't have things hooked up in Cerbero for that yet.
There's a pending MR for it:
https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/113,
but it needs a bunch of work to test that it works correctly on all
platforms (including native windows for which we don't have CI yet).

It will happen at some point, but it's looking unlikely for 1.18. If
you're interested in picking up that MR, that would be nice :)

Cheers,
Nirbheek


On Thu, Jan 30, 2020 at 11:45 AM QwjN1Y9mJvamZJ <[hidden email]> wrote:

>
> Hi,
>
> What is the current situation of Python bindings for Gstreamer on Windows?
> I've searched around on the net but most information seems to be outdated.
> Here's what I've found:
>
> 1. Pygobject for Windows is mentioned as one "enabler" for gstreamer python,
> but the project appears to be abandonded and only supports Python versions
> up to 3.3 or 3.4 anyway, which is too restrictive for me. I wonder if
> current gstreamer versions would work with it anyway.
>
> 2. Building my own gst-python (e.g. with Cerbero) requires building
> gobject-introspection (gi) first, but gi doesn't compile on Windows. At
> least I've tried and failed and haven't found any recent tutorial/doc/post
> about building gi on Windows. The gi issue tracker doesn't seem to have
> relevant Windows-related posts, which could mean that either it should build
> and I'm just not doing it well, or that developers' interest in making it
> work on Windows is limited.
>
> 3. There aren't any ready-made packages (pip, conda) with Python bindings
> for Windows.
>
> Did I miss or misunderstood something?
>
> The probably obvious reason why I'm asking is because I'd really like to use
> Gstreamer from a Python project and I'm restricted to Windows. If there's
> nothing else, I can create my own wrapper around the limited functionality I
> need for my own project - an existing, tested solution would be preferred
> and appreciated, though.
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Current situation of Python bindings for Gstreamer on Windows?

Luca Bacci
Hi! Maybe you are confusing PyGobject with another similar project, PyGobject is actively maintained and supports both Python2 and Python3 (up to the latest 3.9 release). You can use msys2 to get PyGObject and GStreamer: https://pygobject.readthedocs.io/en/latest/getting_started.html

Hope it helps!
Luca

Il giorno gio 30 gen 2020 alle ore 12:36 Nirbheek Chauhan <[hidden email]> ha scritto:
Hi,

Python bindings for GStreamer should work fine on Windows with the
latest Python, and I know of some people who have custom setups to
build everything on Windows.

Unfortunately, we don't have things hooked up in Cerbero for that yet.
There's a pending MR for it:
https://gitlab.freedesktop.org/gstreamer/cerbero/merge_requests/113,
but it needs a bunch of work to test that it works correctly on all
platforms (including native windows for which we don't have CI yet).

It will happen at some point, but it's looking unlikely for 1.18. If
you're interested in picking up that MR, that would be nice :)

Cheers,
Nirbheek


On Thu, Jan 30, 2020 at 11:45 AM QwjN1Y9mJvamZJ <[hidden email]> wrote:
>
> Hi,
>
> What is the current situation of Python bindings for Gstreamer on Windows?
> I've searched around on the net but most information seems to be outdated.
> Here's what I've found:
>
> 1. Pygobject for Windows is mentioned as one "enabler" for gstreamer python,
> but the project appears to be abandonded and only supports Python versions
> up to 3.3 or 3.4 anyway, which is too restrictive for me. I wonder if
> current gstreamer versions would work with it anyway.
>
> 2. Building my own gst-python (e.g. with Cerbero) requires building
> gobject-introspection (gi) first, but gi doesn't compile on Windows. At
> least I've tried and failed and haven't found any recent tutorial/doc/post
> about building gi on Windows. The gi issue tracker doesn't seem to have
> relevant Windows-related posts, which could mean that either it should build
> and I'm just not doing it well, or that developers' interest in making it
> work on Windows is limited.
>
> 3. There aren't any ready-made packages (pip, conda) with Python bindings
> for Windows.
>
> Did I miss or misunderstood something?
>
> The probably obvious reason why I'm asking is because I'd really like to use
> Gstreamer from a Python project and I'm restricted to Windows. If there's
> nothing else, I can create my own wrapper around the limited functionality I
> need for my own project - an existing, tested solution would be preferred
> and appreciated, though.
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Current situation of Python bindings for Gstreamer on Windows?

Tamas
Thanks for the replies!

You're absolutely right about pygobject being actively maintained, and
indeed I forgot to include it in my list above. I just noticed that I
actually had their conda package installed. On the other hand, there was a
project called "pygobject for windows" all-in-one installer, so I wasn't
actually confusing the two. Perhaps it was just installing pygobject
dependencies, I didn't look very much into it.

As for, PyGObject I haven't been able to make conda package work - first it
failed to import gi until I replaced libiconv with the conda-forge version,
and then it won't find gst... Probably wasn't meant to work that way anyway?
The recommended installation needs msys2 and a bunch of other packages
installed therein most of which I already have (e.g. why do I need yet
another python installation?). Feels like a not-very-subtle nudge telling me
that I should just use Linux instead. All in all, just too many hoops to
jump through.

The cleanest and easiest way ahead seems to be to create my own wrapper
around the gstreamer functions I actually need and use it happily, natively
and without dependency on a bunch of other libraries that each introduce yet
another chance of failure to work on Windows.

On the other hand, I'd love to hear more about the "custom setups to build
everything on Windows" Nirbheek mentioned, perhaps that's the way to go.



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel