-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Pascal Berndt edited this page Jun 6, 2025
·
1 revision
Welcome to GStreamer Pipeline Studio! This guide will help you install and start using the application.
- Operating System: Linux (Windows/macOS support planned)
- Qt Version: 6.2 or later
- GStreamer: 1.20 or later
- RAM: 512 MB minimum, 2 GB recommended
- Storage: 100 MB for application + space for GStreamer plugins
# Install dependencies
sudo pacman -S qt6-base qt6-declarative qt6-quickcontrols2 gstreamer
# Install GStreamer plugins (recommended)
sudo pacman -S gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly
# Clone and build
git clone https://github.com/drook207/gststudio.git
cd gststudio
mkdir build && cd build
cmake ..
make -j$(nproc)# Install dependencies
sudo apt update
sudo apt install qt6-base-dev qt6-declarative-dev qt6-quickcontrols2-dev \
libgstreamer1.0-dev cmake build-essential git
# Install GStreamer plugins
sudo apt install gstreamer1.0-plugins-base gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly
# Clone and build
git clone https://github.com/drook207/gststudio.git
cd gststudio
mkdir build && cd build
cmake ..
make -j$(nproc)# Install dependencies
sudo dnf install qt6-qtbase-devel qt6-qtdeclarative-devel \
qt6-qtquickcontrols2-devel gstreamer1-devel \
cmake gcc-c++ git
# Install GStreamer plugins
sudo dnf install gstreamer1-plugins-base gstreamer1-plugins-good \
gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free
# Clone and build
git clone https://github.com/drook207/gststudio.git
cd gststudio
mkdir build && cd build
cmake ..
make -j$(nproc)./gst-pipeline-studioIf you're using KDE and experiencing theme issues:
QT_QPA_PLATFORMTHEME="" QT_QUICK_CONTROLS_STYLE=Material ./gst-pipeline-studioTo see detailed output and debug information:
QT_LOGGING_RULES="*.debug=true" ./gst-pipeline-studioWhen you start GStreamer Pipeline Studio for the first time:
- Element Discovery: The application will automatically scan for installed GStreamer elements
- Loading Screen: You'll see a progress indicator while elements are being parsed
- Main Interface: Once loaded, you'll see the element browser interface
Check that everything is working:
- Element Count: You should see 200+ elements in the browser (depends on installed plugins)
-
Search Function: Try searching for "video" - you should see elements like
videotestsrc -
Element Details: Click on
videotestsrc- you should see properties and pad information
Let's explore the interface with a simple example:
- Open the application
- Look at the left panel - this shows all available GStreamer elements
- Scroll through the list or use the search box
- Notice the count at the bottom showing total elements
- Click in the search box at the top left
- Type "test" - you'll see elements filtered in real-time
- Try "video" - see all video-related elements
- Clear the search to see all elements again
- Click on "videotestsrc" in the element list
-
Right panel shows details:
- Element description and author
- Classification (Source/Video)
- Properties tab with configurable options
- Pad Templates tab showing input/output capabilities
-
In the Properties tab, you'll see various settings:
-
pattern: Controls the test pattern type -
width/height: Video dimensions -
framerate: Output frame rate
-
- Notice the flags: R (readable), W (writable)
- Check default values and available ranges
- Click the "Pad Templates" tab
- See the SRC pad - this element only outputs video
- Read the capabilities - shows supported video formats
- Note "ALWAYS" availability - pad is always present
- Element List: All available GStreamer elements
- Search Box: Filter elements by name
- Refresh Button: Rescan for new elements
- Element Count: Total number of available elements
- Header Section: Basic element information
- Properties Tab: Configurable element parameters
- Pad Templates Tab: Input/output connection points
- Name: Property identifier used in code
- Type: Data type (Boolean, Integer, String, etc.)
- Description: What the property controls
- Default: Default value when not specified
- Range: Valid value range for numeric types
- Flags: R (readable), W (writable)
- Direction: SRC (output) or SINK (input)
- Name: Pad identifier
- Presence: ALWAYS, SOMETIMES, or REQUEST
- Capabilities: Supported media types and formats
Try exploring these common GStreamer elements:
-
videotestsrc- Generate test video patterns -
v4l2src- Capture from webcam/camera -
filesrc- Read video files
-
audiotestsrc- Generate test audio tones -
alsasrc- Capture from audio input -
pulsesrc- Capture from PulseAudio
-
videoconvert- Convert between video formats -
videoscale- Resize video -
videoflip- Flip/rotate video
-
autovideosink- Automatic video output -
autoaudiosink- Automatic audio output -
filesink- Write to file
If you see very few elements:
# Check GStreamer installation
gst-inspect-1.0 --version
gst-inspect-1.0 | wc -l # Should show 200+ elements
# Install missing plugins
sudo pacman -S gst-plugins-good gst-plugins-bad # Arch
sudo apt install gstreamer1.0-plugins-good # UbuntuIf the interface looks wrong on KDE:
# Launch with Material theme forced
QT_QPA_PLATFORMTHEME="" QT_QUICK_CONTROLS_STYLE=Material ./gst-pipeline-studio# Check Qt installation
qmake --version
# Check missing libraries
ldd ./gst-pipeline-studio | grep "not found"
# Run with debug output
QT_LOGGING_RULES="*.debug=true" ./gst-pipeline-studio# Reduce element scanning time
export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0
# Check system resources
top -p $(pgrep gst-pipeline-studio)Now that you have GStreamer Pipeline Studio running:
- Explore Different Elements: Try video, audio, and filter elements
- Read the User Interface Guide: Learn all interface features
- Check Element Categories: Understand element classifications
- Follow Building Pipelines: Learn pipeline concepts (coming soon)
If you encounter issues:
- Check the Troubleshooting page
- Search [GitHub Issues](https://github.com/drook207/gststudio/issues)
- Ask in [GitHub Discussions](https://github.com/drook207/gststudio/discussions)
- Report bugs: Create a new issue with system details
Next: User Interface Guide →