GStreamer Pipeline Graph Optimizer
Analyzes and optimizes GStreamer media pipelines by parsing DOT graph dumps from GST_DEBUG_DUMP_DOT_DIR, profiling element throughput via gst-stats, and suggesting queue sizing and thread pool configurations.
npx skills add agentskillexchange/skills --skill gstreamer-pipeline-graph-optimizer
The GStreamer Pipeline Graph Optimizer inspects running GStreamer pipelines to identify bottlenecks and optimize throughput. It collects pipeline topology from DOT graph dumps generated by setting GST_DEBUG_DUMP_DOT_DIR, then parses element connections, pad capabilities, and negotiated formats. The agent runs gst-stats on tracer logs to measure per-element processing time, buffer flow rates, and queue occupancy. It identifies suboptimal patterns: missing hardware acceleration (switching from x264enc to vaapih264enc or nvh264enc), unnecessary format conversions (redundant videoconvert elements), and queue starvation causing pipeline stalls. Recommendations include queue max-size-buffers tuning, multiqueue configuration for parallel branch processing, and GstTaskPool thread allocation. For live streaming pipelines, it validates latency budgets using gst-launch-1.0 –gst-debug=GST_SCHEDULING:5 and suggests leaky queue modes. Supports both playback (playbin3) and encoding (encodebin) pipeline archetypes with GstEncodingProfile optimization.