# GStD Source: [https://docs.qualcomm.com/doc/80-70015-50/topic/gstreamer-daemon.html](https://docs.qualcomm.com/doc/80-70015-50/topic/gstreamer-daemon.html) GStreamer daemon (GStD) is a framework for controlling audio-video streaming using an interprocess communication protocol (IPC). - It is an enhancement to the `gst-launch` tool. - It enables you to create a pipeline, and control the settings such as play and pause when the pipeline is active. GStD deploys in two parts: - **Daemon** starts the process in the background. - **Control application**, which can be written in any language, can run on the same processor or a separate machine. ## GStD project The GStD project includes the core, the GstdClient, and IPC interfaces. GStD provides core and IPC end point. | GStD design components | Description | | --- | --- | | Core | Holds the current state of the GStreamer daemon pipelines along
with their respective states, elements in each pipeline, and
properties of each element, and so on. | | IPC | | The custom application provides view and client logic. | Custom application design | Description | | --- | --- | | View | | | Client logic | | A GStreamer client (GstdClient) is distributed with the project. It is a command-line based application that communicates with GStD through TCP. - GstdClient allows you to create and start pipelines. - Unlike gst-launch, GstdClient allows you to have several active pipelines with the ability to control the pipeline and receive feedback after the pipeline has been created. For more information on GStD, see [https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon](https://developer.ridgerun.com/wiki/index.php/GStreamer_Daemon). ## Run GStD 1. Start GStD: gstd # This will start the process in the background. Using 'gstd &' is not required becauses gstd daemonizes itself by default. # To run gstd in foreground gstd -D # To view a list of all supported options, gstd --help-all Copy to clipboard 2. Start GstdClient: gst-client # gstd prompt will appear like, # gstd> # In the prompt, we can interact with the server creating/playing pipelines, etc. # To list all the possible commands gstd> help # Alternatively, instead of opening gstd prompt, can give the command as argument to gst-client gst-client list-pipelines Copy to clipboard - **[Local use cases](https://docs.qualcomm.com/doc/80-70015-50/topic/local-use-cases.html)** Control the GStD framework using a control application that is running on same processor. - **[TCP use cases](https://docs.qualcomm.com/doc/80-70015-50/topic/tcp-use-cases.html)** Control the GStD framework using a control application that is remotely interfacing through TCP. - **[HTTP use cases](https://docs.qualcomm.com/doc/80-70015-50/topic/run-http-use-cases.html)** Control the GStD framework using a control application that is remotely interfacing through HTTP. **Parent Topic:** [GStreamer utilities](https://docs.qualcomm.com/doc/80-70015-50/topic/im-sdk-base-uitilities.html) Last Published: Oct 27, 2025 [Previous Topic GSt debugging tools](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/imsdk_debug_gst.md) [Next Topic Local use cases](https://docs.qualcomm.com/bundle/publicresource/80-70015-50/topics/local-use-cases.md)