gstreamer/subprojects/gst-python
Nirbheek Chauhan b87aaf4d28 python: More functions can be called before gst_init()
Configuration of our debugging system is possible before init, and in
fact is necessary too, otherwise the settings won't apply to logging
that happens during init.

For instance, since you cannot register a log function before you call
init in python, there is no way for you to log errors during init to
whatever logging service your app uses.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4753>
2023-06-02 13:25:23 +00:00
..
examples python: Fix the audiotestsrc example 2022-07-08 14:37:14 +00:00
gi python: More functions can be called before gst_init() 2023-06-02 13:25:23 +00:00
old_examples Move files from gst-python into the "subprojects/gst-python//" subdir 2021-09-24 16:16:05 -03:00
plugin meson: Call pkgconfig.generate in the loop where we declare plugins dependencies 2022-09-01 21:17:35 +00:00
scripts meson: Generate ChangeLog files for release tarballs on dist 2022-12-04 18:16:25 +00:00
testsuite python: Add a suppression file for a leak in PyGObject 2022-03-29 19:16:58 +02:00
COPYING Move files from gst-python into the "subprojects/gst-python//" subdir 2021-09-24 16:16:05 -03:00
gst-python.doap Release 1.22.0 2023-01-23 19:41:07 +00:00
meson.build python: Use arch-specific install dir 2023-03-01 12:40:07 +00:00
meson_options.txt gst-python: Add option to disable python plugin 2021-11-10 13:38:04 -05:00
NEWS Release 1.22.0 2023-01-23 19:41:07 +00:00
README.md gst-python: add proper README and delete useless placeholder files 2023-05-29 23:46:49 +00:00
RELEASE Release 1.22.0 2023-01-23 19:41:07 +00:00

gst-python

gst-python is an extension of the regular GStreamer Python bindings based on gobject-introspection information and PyGObject.

It provides two things:

  1. "syntactic sugar" in form of overrides for various GStreamer APIs that makes them easier to use in Python and more pythonic; and

  2. 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.

Prerequisites

These libraries are needed to build gst-python:

  • gstreamer core
  • gst-plugins-base
  • pygobject

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.

Building

meson setup builddir && ninja -C builddir
meson install -C builddir

Using

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.

License

gst-python is licensed under the LGPL 2.1