GstFilters - Gstreamer convenience library

GstFilters is a high level library that provides a convenience API on top of Gstreamer. It allows building complex pipelines with very few lines of code and concentrates on the features you want rather than on each element's specific task.

The library provides a set of "filter" objects that can be applied to a pad in a pipeline and will build and link ?GstElements to it. A ?GstFilterManager object is also provided which acts like a chained list representation of your pipeline where you can insert dynamically any filter.

This library is not meant to replace GStreamer, it is meant to help build pipelines more easily, and a filter does not represent an element or a bin, it's more like a "element creator and linker" class, which can be applied as many times as you want in different pipelines. It is useful for application developers who do not want to deal with the complexities of GStreamer when their needs do not require the use of the full feature set of the GStreamer.

This API was born from an R&D project on Farstream and since its uses not being limited to VoIP, the library was born as a standalone project.

GstFilters is written in C/Glib and uses GObjects extensively. Python bindings are available for GstFilters.

This project is sponsored by [[[[!img]|]]


GstFilters is licensed under the GNU Lesser General Public License, version 2.1 or later.


The API documentation is available for here.

For an in-depth explanation on what it does, how to use it and the concept behind it, you can watch the video presentation about GstFilters at the GStreamer conference 2011 available here (Slides)

Git repositories

Browse the GstFilters development tree.
Fetch it using: git clone git://


Mailing list and IRC

You can reach the developers and other users of GstFilters on the Farstream mailing list or in the #farstream channel on freenode.

Please report bugs in the bugzilla.