Skip to content

Getting Started

Pascal Berndt edited this page Jun 6, 2025 · 1 revision

Getting Started

Welcome to GStreamer Pipeline Studio! This guide will help you install and start using the application.

Installation

System Requirements

  • 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

Package Installation

Arch Linux / Manjaro

# 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)

Ubuntu / Debian

# 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)

Fedora

# 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)

Running the Application

Standard Launch

./gst-pipeline-studio

KDE Users (Theme Fix)

If you're using KDE and experiencing theme issues:

QT_QPA_PLATFORMTHEME="" QT_QUICK_CONTROLS_STYLE=Material ./gst-pipeline-studio

Debug Mode

To see detailed output and debug information:

QT_LOGGING_RULES="*.debug=true" ./gst-pipeline-studio

First Launch

When you start GStreamer Pipeline Studio for the first time:

  1. Element Discovery: The application will automatically scan for installed GStreamer elements
  2. Loading Screen: You'll see a progress indicator while elements are being parsed
  3. Main Interface: Once loaded, you'll see the element browser interface

Verifying Installation

Check that everything is working:

  1. Element Count: You should see 200+ elements in the browser (depends on installed plugins)
  2. Search Function: Try searching for "video" - you should see elements like videotestsrc
  3. Element Details: Click on videotestsrc - you should see properties and pad information

Quick Tutorial

Let's explore the interface with a simple example:

Step 1: Browse Elements

  1. Open the application
  2. Look at the left panel - this shows all available GStreamer elements
  3. Scroll through the list or use the search box
  4. Notice the count at the bottom showing total elements

Step 2: Search for Elements

  1. Click in the search box at the top left
  2. Type "test" - you'll see elements filtered in real-time
  3. Try "video" - see all video-related elements
  4. Clear the search to see all elements again

Step 3: Explore an Element

  1. Click on "videotestsrc" in the element list
  2. Right panel shows details:
    • Element description and author
    • Classification (Source/Video)
    • Properties tab with configurable options
    • Pad Templates tab showing input/output capabilities

Step 4: Understand Properties

  1. In the Properties tab, you'll see various settings:
    • pattern: Controls the test pattern type
    • width/height: Video dimensions
    • framerate: Output frame rate
  2. Notice the flags: R (readable), W (writable)
  3. Check default values and available ranges

Step 5: Check Pad Templates

  1. Click the "Pad Templates" tab
  2. See the SRC pad - this element only outputs video
  3. Read the capabilities - shows supported video formats
  4. Note "ALWAYS" availability - pad is always present

Understanding the Interface

Left Panel: Element Browser

  • 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

Right Panel: Element Details

  • Header Section: Basic element information
  • Properties Tab: Configurable element parameters
  • Pad Templates Tab: Input/output connection points

Element Properties

  • 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)

Pad Templates

  • Direction: SRC (output) or SINK (input)
  • Name: Pad identifier
  • Presence: ALWAYS, SOMETIMES, or REQUEST
  • Capabilities: Supported media types and formats

Common Elements to Explore

Try exploring these common GStreamer elements:

Video Sources

  • videotestsrc - Generate test video patterns
  • v4l2src - Capture from webcam/camera
  • filesrc - Read video files

Audio Sources

  • audiotestsrc - Generate test audio tones
  • alsasrc - Capture from audio input
  • pulsesrc - Capture from PulseAudio

Video Filters

  • videoconvert - Convert between video formats
  • videoscale - Resize video
  • videoflip - Flip/rotate video

Sinks (Outputs)

  • autovideosink - Automatic video output
  • autoaudiosink - Automatic audio output
  • filesink - Write to file

Troubleshooting

No Elements Found

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      # Ubuntu

Theme Issues (KDE)

If the interface looks wrong on KDE:

# Launch with Material theme forced
QT_QPA_PLATFORMTHEME="" QT_QUICK_CONTROLS_STYLE=Material ./gst-pipeline-studio

Application Won't Start

# 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

Performance Issues

# Reduce element scanning time
export GST_PLUGIN_PATH=/usr/lib/gstreamer-1.0

# Check system resources
top -p $(pgrep gst-pipeline-studio)

Next Steps

Now that you have GStreamer Pipeline Studio running:

  1. Explore Different Elements: Try video, audio, and filter elements
  2. Read the User Interface Guide: Learn all interface features
  3. Check Element Categories: Understand element classifications
  4. Follow Building Pipelines: Learn pipeline concepts (coming soon)

Getting Help

If you encounter issues:


Next: User Interface Guide