Hey guys,
I'm trying to package an app that's using GStreamer and gst-python using
PyInstaller.
PyInstaller comes with default hooks for Gstreamer, GLib, GI etc, and all of
that seems to be working fine for me. I am struggling with adding gst-python
though, even though a comment on
hook-gi.repository.Gst.py states that it
was tested with gst-python 1.4.0
<
https://github.com/pyinstaller/pyinstaller/blob/develop/PyInstaller/hooks/hook-gi.repository.Gst.py#L16>
and people are mentioning they could include pygst (a deprecated version of
gst-python) on Stack Overflow.
/In case you are not familiar with gst-python, it is a way to write
GStreamer elements in Python instead of writing them in C. The plugin will
introspect all Python files that are in a specific folder, and discover the
ones that "look like" GStreamer elements to allow you to use them as normal
GStreamer elements./
What I've done so far
- I wrote a bunch of elements in Python, including a dummy test element for
tests:
https://pastebin.com/WDdBsZLk
- I am building gst-python from source, against my local install of Python:
This plugin and the test element I just sent work fine on my host.
- I wrote a simple entry script for PyInstaller that imports Gst from
gi.repository, which works fine. I'm also providing additional data in my
spec file:
so that my element gets included too.
- I exported GST_PLUGIN_PATH to point to my exported python folder, since
this is part of the specs from gst-python so that they can know where the
Python scripts they should introspect are located.
The exported app then seems to be including everything I need to run
gst-python with my element:
- The gst-python plugin is there:
- My test element is there too:
Running my app
However, when I try running my entry script (a simple script that runs the
simplest possible pipeline using my dummy element: /videotestsrc !
nirotest/), it will error out, saying:
Is it possible that a bug in the support of gst-python got introduced after
1.4.0? Or are there any additional steps that need to be made to support
this kind of library?
Cheers.
--
Sent from:
http://pyinstaller.47505.x6.nabble.com/