GstPipelineStudio aims to provide a graphical user interface to the GStreamer framework.
Find a file
Stéphane Cerveau 9e2ebc6186 ci: add commit message linting with gitlint
Add gitlint configuration following GStreamer commit message guidelines.
The commit-msg hook validates messages locally, and gitlint-ci runs in
the CI pipeline. Meson can install hooks via ninja install-git-hooks.
2025-12-19 14:43:58 +01:00
.gitlab/issue_templates gitlab: add default template 2022-03-06 15:32:28 +01:00
build-aux flatpak: change desktop, icon and appdata 2025-04-01 11:40:08 +02:00
ci ci: refactor windows docker build scripts with common functions 2025-12-18 14:35:23 +01:00
data flathub: fix some issues from quality guidelines 2025-12-15 11:00:45 +01:00
graphs examples: rename examples to gps extension 2024-10-22 12:50:18 +02:00
installer update version to 0.4.0 2025-12-12 11:23:05 +01:00
po lang: fixup ip.pio 2023-03-05 19:23:42 +01:00
src settings: replace deprecated serde_any with toml 2025-12-18 20:20:22 +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 ci: add packaging stage for installer jobs 2025-12-02 13:20:19 +01:00
.gitlint ci: add commit message linting with gitlint 2025-12-19 14:43:58 +01:00
.pre-commit-config.yaml ci: add commit message linting with gitlint 2025-12-19 14:43:58 +01:00
_typos.toml macos: expand cleanup folders to reduce installer size 2025-11-20 21:31:49 +01:00
Cargo.lock settings: replace deprecated serde_any with toml 2025-12-18 20:20:22 +01:00
Cargo.toml settings: replace deprecated serde_any with toml 2025-12-18 20:20:22 +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 index.html: update appImage to be executable 2025-12-13 10:08:45 +01:00
LICENSE GPS: change license to GPLv3 2021-12-02 10:28:24 +01:00
meson.build ci: add commit message linting with gitlint 2025-12-19 14:43:58 +01:00
meson_options.txt about: display about dialog 2022-01-12 11:15:52 +01:00
New_Release_Announcement.md app: update index.html for 0.4.0 2025-12-12 17:11:59 +01:00
README.md ci: add commit message linting with gitlint 2025-12-19 14:43:58 +01:00
release.md update version to 0.4.0 2025-12-12 11:23:05 +01:00
run-tests.sh tests: add unit test infrastructure with GTK MainContext support 2025-11-25 16:47:06 +01:00
TODO.md update version to 0.4.0 2025-12-12 11:23:05 +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 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