gst-dots-viewer: A New Tool for GStreamer Pipeline Visualization

We’re happy to have released gst-dots-viewer, a new development tool that makes it easier to visualize and debug GStreamer pipelines. This tool,  included in GStreamer 1.26, provides a web-based interface for viewing pipeline graphs in real-time as your application runs and allows to easily request all pipelines to be dumped at any time.

What is gst-dots-viewer?

gst-dots-viewer is a server application that monitors a directory for .dot files generated by GStreamer’s pipeline visualization system and displays them in your web browser. It automatically updates the visualization whenever new .dot files are created, making it simpler to debug complex applications and understand the evolution of the pipelines at runtime.

Key Features

  • Real-time Updates: Watch your pipelines evolve as your application runs
  • Interactive Visualization:
    • Click nodes to highlight pipeline elements
    • Use Shift-Ctrl-scroll or w/s keys to zoom
    • Drag-scroll support for easy navigation
  • Easily deployable in cloud based environments

How to Use It

  1. Start the viewer server:
    gst-dots-viewer
    
  2. Open your browser at http://localhost:3000
  3. Enable the dots tracer in your GStreamer application:
    GST_TRACERS=dots your-gstreamer-application
    

The web page will automatically update whenever new pipeline are dumped, and you will be able to dump all pipelines from the web page.

New Dots Tracer

As part of this release, we’ve also introduced a new dots tracer that replaces the previous manual approach to specify where to dump pipelines. The tracer can be activated simply by setting the GST_TRACERS=dots environment variable.

Interactive Pipeline Dumps

The dots tracer integrates with the pipeline-snapshot tracer to provide real-time pipeline visualization control. Through a WebSocket connection, the web interface allows you to trigger pipeline dumps. This means you can dump pipelines exactly when you need them during debugging or development, from your browser.

Future Improvements

We plan on adding more feature and  have this list of possibilities:

  • Additional interactive features in the web interface
  • Enhanced visualization options
  • Integration with more GStreamer tracers to provide comprehensive debugging information. For example, we could integrate the newly released memory-tracer and queue-level tracers so to plot graphs about memory usage at any time.

This could transform gst-dots-viewer into a more complete debugging and monitoring dashboard for GStreamer applications.

Demo

Leave a Reply

Your email address will not be published. Required fields are marked *