These days I spend a lot of time dealing with large dynamic GStreamer pipelines.
More often than not, I find myself stuck in problems that take some careful analysis of the endless stream of debug
logs that GStreamer produces. In these situations, taking a look at how the pipelines of the application look like really
helps me with the debugging process. To get this information,
GStreamer has the capability of outputing graph files
that describe the topology of your pipelines. The information that you get is really well presented, but the process of
getting it can be a bit cumbersome when you have to do it over and over. The output files are
.dot files that require
programs like GraphViz to get a displayable version of the graph. Many GStreamer developers
end up writing scripts or creating their own tools to ease this process. My version of this kind of tool is gst-dots,
an extremely simple NodeJS server that watches for GStreamer
.dot files in the path defined by the
variable, convert them into SVG images and displays them in a browser with live reload.
This is how it looks in action.