gst-python is an extension of the regular GStreamer Python bindings based on gobject-introspection information and PyGObject.
It provides two things:
“syntactic sugar” in form of overrides for various GStreamer APIs that makes them easier to use in Python and more pythonic; and
support for APIs that aren‘t available through the regular gobject-introspection based bindings, such as e.g. GStreamer’s fundamental GLib types such as Gst.Fraction, Gst.IntRange etc.
These libraries are needed to build gst-python:
You will also need pygobject and glib installed. On debian-based distros you can install these with:
sudo apt build-dep python3-gst-1.0
Only Python 3 is supported.
meson setup builddir && ninja -C builddir meson install -C builddir
Once installed in the right place, you don't need to do anything in order to use the overrides. They will be loaded automatically on
import gi gi.require_version('Gst', '1.0') gi.repository import GObject, Gst
Note that additional imports will be required for other GStreamer libraries to make use of their respective APIs, e.g. GstApp or GstVideo.
gst-python is licensed under the LGPL 2.1