Depending on the project needs, I can create GStreamer pipelines for standalone execution with gst-launch, or write custom programs that drive dynamic pipelines of higher complexity. In the latter case, I use C++ with my own set of utilities I compiled over the years. I tune and debug the pipelines so that they perform under required conditions.