# Run local use cases Control the GStD framework using a control application that's running on same processor. ## Prerequisites Activate display: vi /etc/default/gstd OPTARGS=" -a 0.0.0.0" XDG_RUNTIME_DIR=/dev/socket/weston WAYLAND_DISPLAY=wayland-1 systemctl daemon-reload systemctl restart gstd Copy to clipboard ## Single stream encode 1. Create the pipeline: gst-client-1.0 pipeline_create enc1 qtiqmmfsrc name=camsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1,interlace-mode=progressive,colorimetry=bt601 ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! h264parse ! queue ! mp4mux ! queue ! filesink location=/tmp/enc1.mp4 Copy to clipboard 2. Control the pipeline: gst-client-1.0 pipeline_play enc1 Copy to clipboard - Send EOS: gst-client-1.0 event_eos enc1 Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop enc1 Copy to clipboard ## Multistream encode 1. Create the pipeline: gst-client-1.0 pipeline_create enc2 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1,interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! queue ! h264parse ! mp4mux ! queue ! filesink location="/tmp/mux1.mp4" \ camsrc. ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1,interlace-mode=progressive,colorimetry=bt601 ! queue ! v4l2h264enc capture-io-mode=4 output-io-mode=5 ! queue ! h264parse ! mp4mux ! queue ! filesink location="/tmp/mux2.mp4" Copy to clipboard 2. Control the pipeline: gst-client-1.0 pipeline_play enc2 Copy to clipboard - Send EOS: gst-client-1.0 event_eos enc2 Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop enc2 Copy to clipboard ## Single display 1. Create the pipeline: gst-client-1.0 pipeline_create dis1 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw,format=NV12_Q08C,width=1920,height=1080,framerate=30/1 ! waylandsink fullscreen=true async=true sync=false Copy to clipboard 2. Control the pipeline: - Play the pipeline: gst-client-1.0 pipeline_play dis1 Copy to clipboard - Pause the pipeline: gst-client-1.0 pipeline_pause dis1 Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop dis1 Copy to clipboard ## Multi-display 1. Create the pipeline: gst-client-1.0 pipeline_create dis2 qtiqmmfsrc name=camsrc video_0::type=preview ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! waylandsink x=0 y=0 width=500 height=400 async=true sync=false camsrc. ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! waylandsink x=510 y=0 width=500 height=400 async=true sync=false Copy to clipboard 2. Control the pipeline: - Play the pipeline: gst-client-1.0 pipeline_play dis2 Copy to clipboard - Pause the pipeline: gst-client-1.0 pipeline_pause dis2 Copy to clipboard - Stop the pipeline: gst-client-1.0 pipeline_stop dis2 Copy to clipboard Last Published: Mar 26, 2026 [Previous Topic GStD framework](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/gstreamer-daemon.md) [Next Topic Run TCP use cases](https://docs.qualcomm.com/bundle/publicresource/80-80021-50/topics/tcp-use-cases.md)