GstPipelineStudio aims to provide a graphical user interface to the GStreamer framework.
Find a file
2026-01-29 19:30:23 +01:00
.gitlab/issue_templates gitlab: update issue templates with GTK version field 2026-01-09 11:23:27 +01:00
build-aux build-aux: Consider buildtype=plain as release 2025-12-26 21:48:41 +01:00
ci installer: add RPM build script and CI jobs for Fedora 2025-12-30 14:39:28 +01:00
data gps: add GstreamerDotLoader for trait-based DOT import 2026-01-22 17:03:15 +01:00
graphs examples: rename examples to gps extension 2024-10-22 12:50:18 +02:00
installer app: fix Windows startup experience 2026-01-17 11:08:15 +01:00
po lang: fixup ip.pio 2023-03-05 19:23:42 +01:00
src gps: add crash recovery dialog to display previous session log on startup 2026-01-29 19:30:23 +01:00
subprojects build: upgrade to GStreamer 1.26 and GTK 4.16.7 2025-11-20 10:35:34 +01:00
.gitignore ci: add GitLab job to generate AppImage 2025-12-02 12:49:12 +01:00
.gitlab-ci.yml installer: add RPM build script and CI jobs for Fedora 2025-12-30 14:39:28 +01:00
.gitlint ci: add commit message linting with gitlint 2025-12-19 14:43:58 +01:00
.pre-commit-config.yaml gitlint: remove hook on local storage 2025-12-27 20:04:46 +01:00
_typos.toml macos: expand cleanup folders to reduce installer size 2025-11-20 21:31:49 +01:00
Cargo.lock gps: add GstreamerDotLoader for trait-based DOT import 2026-01-22 17:03:15 +01:00
Cargo.toml gps: add GstreamerDotLoader for trait-based DOT import 2026-01-22 17:03:15 +01:00
ChangeLog.md update version to 0.4.0 2025-12-12 11:23:05 +01:00
Gemfile ci: add gitlab pages jobs 2023-09-19 13:00:20 +02:00
index.html Add mooday-analytics tracking 2026-01-18 20:22:51 +00:00
LICENSE GPS: change license to GPLv3 2021-12-02 10:28:24 +01:00
meson.build meson: Use the '/' operator instead of 'join_paths()' 2026-01-09 09:30:31 +07:00
meson_options.txt meson_options: Drop comment that was there by mistake 2025-12-19 22:01:09 +07:00
New_Release_Announcement.md app: update index.html for 0.4.0 2025-12-12 17:11:59 +01:00
README.md misc: Use 'meson setup BUILDDIR' in place of 'meson BUILDDIR' 2025-12-26 21:45:02 +01:00
release.md misc: Use 'meson setup BUILDDIR' in place of 'meson BUILDDIR' 2025-12-26 21:45:02 +01:00
run-tests.sh tests: add unit test infrastructure with GTK MainContext support 2025-11-25 16:47:06 +01:00
TODO.md gps: add crash recovery dialog to display previous session log on startup 2026-01-29 19:30:23 +01:00
VERSION update version to 0.4.0 2025-12-12 11:23:05 +01:00

GstPipelineStudio: Draw your own GStreamer pipeline ...

Important

Until version 1.0, this software should be considered as unstable. The settings moreover the graph file format might change over the development phase.

Description

GstPipelineStudio aims to provide a graphical user interface to the GStreamer framework. From a first step in the framework with a simple pipeline to a complex pipeline debugging, the tool provides a friendly interface to add elements to a pipeline and debug it.

alt tag

Setup

Install the Rust toolchain via rustup

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

Check https://rustup.rs for alternative installation options.

Ubuntu/Debian/etc

apt install python3-pip ninja-build pkg-config
pip3 install --user meson
apt install libgtk-4-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev

Fedora/RedHat/SuSE/etc

dnf install python3-pip ninja-build pkgconfig
pip3 install meson
dnf install gtk4-devel gstreamer1-devel gstreamer1-plugins-base-devel python3-pip ninja-build pkgconfig

MacOS

brew install gtk4
brew install gstreamer gst-plugins-base gst-plugins-bad

Getting started

$ meson setup builddir -Dbuildtype=release
$ ninja -C builddir
$ ./builddir/target/release/gst-pipeline-studio

Flatpak

The application is also available on Flathub.

License

GstPipelineStudio is distributed under the terms of the GPL3 license. See LICENSE for more information.

Credits

GstPipelineStudio wouldn't exist without free and open-source software such as GLib, GStreamer, GTK and many more.

This project has been also possible thanks to amazing projects such as:

Contributing

Every contribution is greatly appreciated! You will just need a gitlib account. Fork this repo, clone your fork, create a feature branch, commit, push and submit a merge request.

Development Setup

Install pre-commit hooks to validate your commits locally:

pip3 install pre-commit
pre-commit install --hook-type commit-msg

Or using meson:

meson setup builddir
ninja -C builddir install-git-hooks

This will validate commit messages following GStreamer guidelines:

  • Format: module: short description (e.g., settings: fix crash on startup)
  • No WIP, fixup!, or squash! commits in merge requests

Submit any suggestions, questions or bugs to the Issue Tracker.

Troubleshooting

Interface is not clean: rm ~/.config/org.freedesktop.dabrain34.GstPipelineStudio/settings.toml